노벰버맨 2021. 12. 19. 20:43

1. 테스트의 개요

가. 테스트의 정의

-코드 실행 오류 검사 및 개발 프로세스 전반에 걸쳐 생산되는 문서를 검토하여 잠재 오류를 발견하는 기법

 

나. 테스트의 특징

-소프트웨어 잠재 오류 발견

-최소 시간과 최소 노력으로 오류 발견

-소프트웨어 품질을 높이기 위해 테스트 계획 수립 및 오류 발생 가능성이 높은 효율적, 효과적인 설계 필요

 

2. 테스트의 원리

가. 테스트의 원리 (발완초 집살정오)

테스트 원리 설명 테스트 방안
결함 존재 증명 -테스트은 결함 증명
-SW 완전성 증명 불가
-결함 발견에 초점
완벽한 테스트 불가 -모든 경우 테스팅 불가
-효율적 테스트 필요
-동등분할, 경계값 분석 등 효율적 테스트 수행
개발 초기 테스트 효율적 -조기 결함 발견
-수정 시 수정대상 대폭 감소
-결함 확산 초기 방지를 위해 조기 결함 제거
결함 집중 -파레토 법칙
-다수 결함, 소수 원인
-소수 원인 분석으로 연관 결함 제거
살충제 패러독스 -동일 테스트 반복 시 신규 결함 발견 불가 -지속적 Test Case 개발
정황에 의존 -테스트는 정황에 따라 다르게 진행 -특성별 테스트 차별화
-Back/Front End, Client
오류 부재의 궤변 -사용자 요구와 기대에 부응하지 못해 사용성이 떨어지는 소프트웨어의 결함 제로(오류 부재)는 무의미 -테스트 전 품질 확보 (요구사항 만족)
-코드 검사, 보안 체크리스트 등 활용

나. 테스트의 원리 (추가)

구분 특징 설명
테스트 이전 계획 수립 활동 전 계획 수립 -테스트에 대한 수행, 통제, 검증 계획은 계획 단계에 수립하고 테스트 데이터는 분서과 설계에서 개발
효과적인 테스트 데이터 선정 모든 상황 테스트 불가 -오류 발견 가능성이 높은 최소의 테스트 데이터 선정 필요
독립적인 3자 수행 개발자가 직접 테스트 불가 -전문적인 테스트 지식을 갖춘 독립적인 소프트웨어 품질 보증 그룹에 의해 테스트를 수행
생명주기 전반  개발과정 문서 검토
프로그램 실행
-프로그램 실행에 기초한 테스트 포함, 개발 과정에서 생산되는 모든 문서에 대한 검토 포함