2016년 4월 15일 금요일

SW테스트 관점별 전략 개발 요소


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


테스트 전략


품질은 결코 우연으로 얻어질 있는 결과가 아니다. 많은 노력과 공수, 지식의 축적과 스킬들의 집합체다. 높은 품질은 표준과 SW 프로세스, 철학과 의지의 결과물이기도 하다. 지속되는 개발은 소스코드 분석과 위험 기반의 테스트, 커버리지 측정에 따른 자동화 모듈, 통합테스트를 통해 얻게 된다.
애자일 오늘날의 SW개발은 점점 방법론 기반의 개발에 의존하고 있는 상황이다. 결과물은 품질보증의 새로운 도전에서 비롯된다. 고품질 제품은 역동적인 목표의 정의와 짧은 개발 사이클을 통해 만들어 지고 지속적인 테스트와 고객의 피드백을 통해 성공의 포인트를 확인할 있다.
애자일 방법론의 경우 테스트 가능한 SW 단계이전에 반드시 수행도록 권고하고 있다. 이러한 지원을 통해 낳은 통합 테스트를 프로세스 단계에 포함시킬 있게 되는 것이다. 납기가 충분하지 않을 경우 고객의 요구사항을 만족시키기 위해 고객과의 피드백 프로세스와 능력을 통해 이를 해결하기도 한다.


SW품질 판단기준


SW 품질 판단 기준은 SW 품질보증 프로세스와 활동에 따라 결정되며 품질목표가 없는 프로 세스는 품질을 확보하기 어렵다. SW 품질목표를 설정하기 위해서는 필요에 따라 리스크 분석 활용하여 리스크와 영향도의 관계에 따라 품질보증 항목을 결정하고 활동들을 정의하기도 한다. SW품질목표는 정의를 통해 측정 가능하게 도출한 추진해야 한다. 품질의 측정은 비용관점과 요구사항 적합성 관점에서 접근하게 된다.
SW비용측면의 관점은 예방비용, 평가비용, 실패비용으로 정의하여 도출하고 개발 전부터 고려하여 목표를 설정해야 한다. 예방비용의 경우 컨설팅 비용이나 계획수립비용, 방법론 도출비용, DB 계획 수립, 표준과 요구사항의 정의 등을 포함하며 평가비용은 테스트 계획 수립, 테스트, 검토, 리뷰 등을 포함한다. 실패비용은 프로젝트 재작업 클레임, 유지보수 추가 작업 등을 포함하여 고려하 여야 한다.
요구사항적합성 관점은 정의된 요구사항이 제대로 반영되었는지에 대한 부분으로 Correctness, Reliability, Efficiency, Integrity, Reusability, Usability, Maintainability, Testability, Potability, Inter-operability, Flexibility, Survivability SW품질요소를 고려하여 추진하며 SW품질기준과의 조율을 통해 산출물의 품질을 확보하도록 추진하여야 한다.


SW품질보증


SW품질보증은 SW 이미 정의된 요구사항과 일치하는가를 확인하는데 필요한 전반적인 계획과 체계적인 작업을 의미한다. SW품질보증 활동은 SW개발 초기에 SW 특성과 요구사항을 파악하 품질목표를 설정하고 개발단계에서는 정형기술 검토를 통하여 품질 목표의 충족 여부를 체크하 테스트 과정을 거치게 된다.
대부분의 SW품질보증 활동은 테스트 계획, 절차, 범위, 방식, 방법 등에 대한 활동이 전부였다고 해도 과언이 아니다. 이러한 테스트 중심의 품질보증활동들은 SW개발 과정중 품질을 제한적으로만 확인할 있어 SW개발 과정 중에 품질을 추가하거나 강화하는데 여의치 않았던 것은 사실이다.
SW 품질보증 활동은 최종결과물의 테스트나 확인을 통해서 수행되는 것이 아니라 SW개발 전단 계에 적용해야 한다. 물론 SW 결함을 제거하고 해결하는 일이 SW 품질보증을 위해서 중요한 일이지만 이보다 중요한 것은 사전에 결함이 발생되지 않도록 예방하는 활동을 의미한다.
SW품질보증 활동은 조직의 목표와 특성이 반영되어야 한다. SW개발을 추진하는 조직은 SW 용하는 조직보다 설계와 테스트과정에 많은 공수를 투입해야 하며 SW 활용하는 조직은 형상 관리 코드관리, 시험기준 획득활동에 많은 노력을 해야 한다. SW품질보증의 본질은 결함 사전에 방지, 제거를 통해 SW 사용성과 유지보수성을 높이는데 있다.