X

소프트웨어 테스트 원리

I. 소프트웨어 테스트 원리

테스트 원리 원리 설명 테스트 방안
결함존재 증명 – 테스팅은 결함 증명
– SW완전성 증명 불가
– 결함 발견에 초점
– 결함목록 현행화
완벽 테스팅 불가 – 모든 경우 테스팅 불가
– 효율적 테스팅 필요
– 동등분할, 경계값 분석 등
– 효율적 테스트 수행
개발 초기
테스팅 효율적
– 조기 결함 발견 / 수정 시
수정 대상 대폭 감소
– 결함 확산 사전 방지
– 조기 결함 제거
결함 집중 – 파레토 법칙(80:20)
– 다수 결함, 소수 원인
– 소수 원인 분석
– 연관 결함제거 확인
살충제 패러독스 – 동일 테스트 반복 시
신규 결함발견 불가
– 지속적 TC 개발
– 주기적 테스트 실시
정황에 의존 – 시스템/제품 특성 차이
– 테스터 경험, 지식 차이
– 특성 별 테스트 차별화
– Back/Front-End, Client
오류 부재의 궤변 – 결함이 없어도 품질이
낮으면 테스트는 무의미
– 테스트 전 품질 확보
– 코드체커, 보안 체크리스트
  • SW 테스트 원칙은 de-facto 표준인 ISTQB에서 제시, 실제 적용 시 다수 원칙이 복합된 상황이 대다수 발생

II. 살충제 패러독스와 오류부재의 궤변의 개념

살충제 패러독스
(Pesticide Paradox)
오류-부재의 궤변
(Absence-errors fallacy)
동일한 테스트 케이스로 테스트를 반복적으로 수행하면 나중에는 더 이상 새로운 결함을 찾아내지 못함 사용자 요구와 기대에 부응하지 못해 사용성이 현저히 낮다면 결함을 찾는 과정은 아무 소용이 없음

 

III. 살충제 패러독스와 오류 부재의 테스트 원리, 비교

가. 살충제 패러독스와 오류-부재의 궤변의 테스트 원리

구분 테스트 원리 내용
살충제
패러독스
테스트
케이스 개선
많은 결함을 발견하기 위해 테스트 기법을 다른 모듈, 시각에서 재적용하고 정기적 리뷰, 개선
경험기반
접근
탐색적 테스팅, JIT(Just-in-Time) 테스팅 등의 경험 기반 접근법을 통해 테스트케이스 추가
오류부재의 궤변 검증 및
확인
V&V(Validation & Verification)을 통해 요구사항에 따라 개발되었는지 확인
제품 및
품질개선
고객의 적극적 참여를 통한 품질 확인
CMMI, SPICE 등과 같은 개발프로세스 진단, 측정

나. 살충제 패러독스와 오류-부재의 궤변을 통한 관점 비교

구분 살충제 패러독스 부재오류의 궤변
전제 오래된 테스트케이스로는 잠재 결함에 노출 결함이 없다고 SW 품질이 높은것 아님
관점 잠재 시스템 결함 제거 시스템 사용성, 고품질 개발
관련표준 ISO29119 ISO9126,ISO14598,ISO25000등
테스트기법 구조기반/명세기반 테스트 V&V, Inspection
테스트유형 기능적 테스팅 비기능적 테스팅
적용시점 구현 및 시험 단계 SDLC 전 과정

 

도리: