- 개발한 애플리케이션이 고객의 요구를 만족시키는지 확인(Validation), 기능이 정상적으로 수행하는지 검증(Verification)
- Validation(확인) = 사용자 입장 = 고객의 요구에 맞게 구현되었는지 확인
- Verification(검증) = 개발자 입장 = 명세서에 맞게 만들어졌는지 점검
1. ⭐ 애플리케이션 테스트의 필요성
- 프로그램 실행 전 코드리뷰, 인스펙션 등을 통해 오류를 발견하여 예방
- 반복적인 테스트를 통해 제품의 신뢰도 향상
- 개발초기부터 테스트를 계획하고 시작하면 단순한 오류 발견뿐만 아니라 새로운 오류의 유입도 예방
- 테스트를 효과적으로 수행하면 최소한의 시간과 노력으로 많은 결함을 찾음
2. ⭐ 애플리케이션 테스트의 기본원리
- 소프트웨어의 잠재적인 결함은 줄일 수 있지만 결함이 없다고 증명 X => 완벽한 테스팅 불가능
- 결함은 개발자의 특성, 애플리케이션의 기능적 특징때문에 특정 모듈에 집중되어 있음
- 파레토 법칙(Pareto Principle) : 테스트로 발견되 80%의 오류는 20%의 모듈에서 발견됨
- 20%의 모듈을 집중적으로 테스트하여 효율적으로 오류를 찾자
- 살충제 패러독스(Pesticide Paradox) : 통일한 테스트 케이스로 동일한 테스트를 반복하면 더 이상 결함이 발견되지 않는 현상
- 테스트 케이스를 지속적으로 보완 및 개선
- 소프트웨어 특징, 테스트 환경, 테스트 역량 등 정확(Context)에 따라 테스트 결과가 달라짐
- 정황에 따라 테스트를 다르게 수행
- 오류-부재의 궤변(Absence of Errors Fallacy) : 결함을 모두 제거해도 사용자 요구사항을 만족시키지 못하면 해당 소프트웨어는 품질이 높다고 할 수 없음
- 테스트와 위험은 반비례
- 작은부분에서 시작하여 점점 확대하며 진행
- 개발자와 관계없는 별도의 팀에서 수행
📖 Reference
728x90
반응형
'Certificate > 정보처리기사' 카테고리의 다른 글
[2과목 소프트웨어 개발] 애플리케이션 테스트 관리 - 056. ⭐ 테스트 기법에 따른 애플리케이션 테스트 (0) | 2024.07.05 |
---|---|
[2과목 소프트웨어 개발] 애플리케이션 테스트 관리 - 055. 애플리케이션 테스트의 분류 (0) | 2024.07.05 |
[2과목 소프트웨어 개발] 제품 소프트웨어 패키징 - 053. 빌드 자동화 도구 (0) | 2024.07.01 |
[2과목 소프트웨어 개발] 제품 소프트웨어 패키징 - 052. 소프트웨어 버전관리 도구 (0) | 2024.07.01 |
[2과목 소프트웨어 개발] 제품 소프트웨어 패키징 - 051. 소프트웨어 버전 등록 (0) | 2024.07.01 |