국제적으로 소프트웨어 전문가들이 모여 만든 ISO/IEC29119, ISO/IEC9126-1, IEC 62304, ISTQB, TMMi 등 각종 국제 표준 및 지식 체계들이 개발되어 있다. 또 이 지식 체계들은 계속 개선되어가고 있다. 우리는 이런 소프트웨어 전문가들이 개발한 소프트웨어 테스팅 지식 체계를 활용하여 테스트 설계, 테스트 절차, 전략, 요구사항 식별, 도구 도입 등에 활용한다면 시스템 품질 향상을 기대 할 수 있을 것이다.
그 중 테스트 설계는 소프트웨어 테스팅 활동 중 가장 중요한 활동 중의 하나로써 테스트 케이스를 도출하는데 있어서 경험으로 도출 할 때 발생 할 수 있는 불 완전한 요소를 공학적이고 체계적으로 접근하여 각 기법 별로 보장하는 수준의 테스트 케이스를 만들어 내는 테스트 활동이다.
시스템에서 소프트웨어 품질은 테스트 설계 수준의 따라 결정 된다. 테스트 설계 수준이 높으면 시스템 품질이 올라가기 때문에 사업장에서는 테스트 설계에 집중을 하게 된다. 그러나 테스트 설계 수준을 올리기 위해서는 각종 테스트 설계 기법들 중 시스템에 꼭 필요한 설계 기법을 선택하고, 선택된 기법을 올바르게 사용해야지만 높은 수준의 테스트 설계와 그로 인한 좋은 품질을 기대 할 수 있을 것이다. 그러나 수많은 테스트 설계 기법 중에서 자신에게 맞는 테스트 설계 기법을 선택하는 것은 결코 쉬운 일이 아니다. 잘못 선택된 테스트 설계 기법으로 설계된 테스트 케이스는 소프트웨어 테스팅 진행 시 많은 문제점을 발생하고 결함 발견률도 낮아지게 된다. 예를들면 불필요하게 늘어난 테스트 케이스로 테스팅 시간 증가(일정 증가, 생산성 저하), 비전문가로 인한 설계 오류, 유지 보수 비용 증가등의 문제점이 발생하고 있다. 이처럼 테스트 설계 오류로 발생하는 문제점을 해결하기 위해서는 해당 시스템에 맞는 테스트 설계 기법을 선택하고, 선택된 테스트 기법을 정확하게 설계를 해야지만 시스템의 품질과 생산성을 향상 시킬 수 있을 것이다.
본 논문에서 의료기기 시스템에서 효율성이 높은 명세기반 설계 기법을 찾기 위해 8가지의 테스트 설계 기법을 적용하여 소프트웨어 테스팅을 진행하였다. 1단계는 일반적으로 사용하는 경험 기반 기법(Experience-based technique)으로 설계된 테스트 케이스를 기반으로 테스트를 진행하였다. 2단계에서 4단계까지는 각 단계마다 설정한 명세기반 테스트 설계 기법으로 테스트 케이스를 추가 설계(Design)하고, 설계된 테스트 케이스로 테스트하였다. 그리고 이 때 발생하는 문제점을 개선하고자 테스트 시나리오(Test Scenario) 기법도 같이 적용하여 두 가지 테스트 케이스로 테스트를 진행하였다.
연구 결과 명세기반 설계 기법 중 2단계와 3단계에서 적용한 동등분할(Equivalence Partitioning), 상태전이 테스팅(State Transition Testing), 경계 값 분석(Boundary Value Analysis), 결정 테이블 테스팅(Decision Table Testing)은 결함 발견률이 올라 가는 것으로 나타났다. 4단계에서 적용된 유즈케이스 테스팅(Use Case Testing)과 페어와이즈 조합 테스팅(Pairwise Testing)은 결함 검출력이 크게 올라가지 않고 검증 시간만 증가하여 생산성이 저하되는 문제가 발생하였다. 테스트 시나리오 설계는 모든 단계에서 명세기반 설계 기법 보다 품질이 개선되는것으로 나타났으며 의료기기 시스템에서 효율성이 높은 테스트 설계 기법의 선택과 설계의 중요성을 사례에서 제시하였다.