2016년 10월 6일 목요일

현장에 다가가는 SW 공학 - 테스트 전략

테스트 전략


품질은 결코 우연으로 얻어질 수 있는 결과가 아니다. 많은 노력과 공수, 지식의 축적과 스킬들의 집합체다. 높은 품질은 표준과 SW 프로세스, 철학과 의지의 결과물이기도 하다. 지속되는 개발은 소스코드 분석과 위험 기반의 테스트, 커버리지 측정에 따른 자동화 모듈, 통합테스트를 통해 얻게 된다.

애자일 등 오늘날의 SW개발은 점점 더 방법론 기반의 개발에 의존하고 있는 상황이다. 결과물은 품질보증의 새로운 도전에서 비롯된다. 고품질 제품은 역동적인 목표의 정의와 짧은 개발 사이클을 통해 만들어 지고 지속적인 테스트와 고객의 피드백을 통해 성공의 포인트를 확인할 수 있다.

애자일 방법론의 경우 테스트 가능한 SW는 단계이전에 반드시 수행도록 권고하고 있다. 이러한 지원을 통해 좀 더 낳은 통합 테스트를 프로세스 단계에 포함시킬 수 있게 되는 것이다. 납기가 충분하지 않을 경우 고객의 요구사항을 만족시키기 위해 고객과의 피드백 프로세스와 팀 능력을 통해 이를 해결하기도 한다.


[ SW Quality 5steps to excellence ]


자료: Quality is never an Accident, '13.3


테스트 전략은 단기 및 장기 테스트 요구사항 및 비즈니스 위험을 프로파일링 하고 개발자와 리소스 등의 환경 요소와 조직적 요구를 포함하는 테스트 전략을 개발하고 다양한 관점에서 평가할 수 있도 록 수립해야 한다.


현장에 다가가는 SW 공학 - 품질관리 방향과 점검

품질관리 방향과 점검
품질에 대한 개념과 이슈


품질이란 경영자의 마인드 또는 잘못된 판단에 따라서도 좌우되고, 총무나 회계직원의 말 한마디에 의해서도 좌우된다. 구매되는 부품의 품질과 교육 주관부서에서의 교육계획, 그리고 설계 컨셉과 잘못된 설계서 등에서도 품질의 차이는 발생할 수 있다. 즉 품질의 70% 이상은 개발이 아닌 설계나 기타 부문에서 좌우된다는 것이다. 그렇게 때문에 전사적 활동이 되지 않는다면 품질을 확보할 수 없게 되는 것이다.

비용의 의미로 COPQ(Cost of Poor Quality)라는 단어를 제창하였던 QC 선구자 Juran 박사에 따르면 품질비용에서 실제 드러나 보이는 비용은 일부분이며 보이지 않는 부분인 숨겨진 품질 비용 즉 기회손실비용을 찾아내 분석하고 줄이는 활동에 따라서 품질비용을 효과적으로 관리 할 수 있다고 한다.


[ SW품질비용의 범위(예시) ]



현장에 다가가는 SW 공학 - SW 설계



SW설계는 크게 아키텍처 설계와 상세설계로 나누어 볼 수 있다. SW아키텍처 설계(SoftwareArchitectural Design)는 상위레벨 설계로 일반적인 설계의 개념과 SW 관점에서의 설계의 역할을 이해하고 프로세스를 인지하여 설계의 다양한 접근방법과 개념을 이해할 수 있게 된다.SW상세설계(Software Detailed Design)는 모든 SW설계에서 다루어져야 하는 핵심이슈를 분별하여 효과적으로 설계의 산출물을 작성하는 것이다.

SW설계를 통해 얻을 수 있는 이점은 SW설계에 대한 기본지식의 이해다. 일반적인 설계의 개념과 SW관점에서의 설계역할을 이해하고 그 프로세스를 인지하여 설계의 다양한 접근방법과 개념을 이해할 수 있게 된다.

또한 설계시 다루어져야할 핵심이슈 인식을 위해 모든 SW설계에서 다루어져야 하는 핵심이슈를 분별하여 효과적으로 설계의 산출물을 작성할 수 있게 되는 것이다. 아울러 다양한 관점에서SW구조와 아키텍처를 고려함으로서 뷰(View)와 아키텍처 스타일, 설계 패턴 그리고 프로그램계열(Family of Programs)의 다양한 관점에서 설계를 고려하여 설계를 통해 SW품질을 향상시킬 수 있다. 마지막으로 SW설계에 사용되는 표기법 및 전략을 분류하고 선택하여 공유하기 용이하게 된다.