2023. 2. 16. 13:03ㆍ정처기 필기/2과목 - 소프트웨어 개발
애플리케이션 테스트
1. 애플리케이션 테스트의 개념
- 애플리케이션에 잠재되어 있는 결함을 찾아내는 일련의 행위
- 개발된 소프트웨어가 고객의 요구사항을 만족시키는지 확인 (Validation)
- 소프트웨어가 기능을 정확히 수행하는지 검증(Verification)
2. 애플리케이션 테스트의 기본 원리 (완벽 X)
- 테스팅은 결함이 존재한다고 밝히는 것이다. 결함을 줄일 순 있지만 없다고는 증명할 수가 없다.
- 무한 경로, 무한 입력 값으로 인해 완벽한 테스팅은 불가능하다.
- 개발 초기에 테스팅을 시작하는 것이 좋다.
- 20%의 모듈에서 80%의 결함을 발견했다. (파레토 법칙)
- 살충제 패러독스 : 동일한 테스트 케이스에 의한 반복적 테스트는 새로운 버그를 찾지 못함
- 테스팅은 소프트웨어 성격에 맞게 실시해야 한다.
- 오류-부재의 궤변 -> 요구사항을 충족시켜주지 못한다면, 결함이 없어서 품질이 높다고 할 수 없다.
애플리케이션 테스트 분류
1. 프로그램 실행 여부에 따른 테스트
- 정적 테스트
: 프로그램을 실행하지 않고 분석하는 테스트 ( 워크 스루, 인스펙션, 코드 검사)
- 동적 테스트
: 프로그램을 실행하여 오류를 찾는 테스트 (화이트박스 테스트, 블랙박스 테스트)
2. 테스트 기반에 따른 테스트
- 명세 기반 테스트
: 사용자의 요구사항에 대한 명세를 빠짐없이 테스트 케이스로 만들어 구현하고 있는지 확인하는 테스트
- 구조 기반 테스트
: 소프트웨어 내부의 논리 흐름에 따라 테스트 케이스를 작성하고 확인하는 테스트
- 경험 기반 테스트
: 테스터의 경험을 기반으로 수행하는 테스트
3. 시각에 따른 테스트
- 검증(Verification) 테스트
: 개발자의 시각에서 제품의 생산 과정을 테스트하는 것
- 확인(Validation) 테스트
: 사용자의 시각에서 생산된 제품의 결과를 테스트하는 것 ___ 인수테스트 (알파,베타 테스트)
4. 목적에 따른 테스트
회복 테스트 : 시스템에 결함을 주고 올바르게 복구되는지 테스트
안전 테스트 : 바이러스로부터 시스템을 보호할 수 있는지 테스트
강도 테스트 : 소프트웨어가 과부하를 버티는지 테스트
성능 테스트 : 효율성 진단
구조 테스트 : 소프트웨어 내부의 논리적인 경로, 소스코드의 복잡도 등 테스트
회귀 테스트 : 소프트웨어의 변경된 코드에 새로운 경함이 없음을 확인하는 테스트
병행 테스트 : 변경된 소프트웨어와 기존 소프트웨어를 비교하는 테스트
5. 테스트 커버리지 유형
구문 커버리지 : 모든 문장을 한 번 이상 실행
결정 커버리지 : 전체 조건식이 최소한 참/거짓 한 번의 값을 가지도록
조건 커버리지 : 개별 조건식이 최소한 참/거짓 한 번의 값을 가지도록
조건/결정 커버리지 : 결정 + 조건
변경/조건 결정 커버리지 : 각 개별 조건식이 다른 개별조건식에 무관하게 전체조건식의 결과에 독립적으로 영향을 준다.
다중 조건 커버리지 : 모든 개발 조건식의 모든 가능한 조합을 100% 보장하는 테스트 커버리지
'정처기 필기 > 2과목 - 소프트웨어 개발' 카테고리의 다른 글
통합 테스트 / {테스트 케이스,테스트 시나리오,테스트 오라클,테스트 하네스} (0) | 2023.02.16 |
---|---|
화이트박스, 블랙박스 테스트 / 개별 단계에 따른 애플리케이션 테스트 (0) | 2023.02.16 |
형상 관리 / 버전 관리 도구 (0) | 2023.02.15 |
릴리즈 노트 / 디지털 저작권 관리 (0) | 2023.02.15 |
릴리즈 노트 / 디지털 저작권 관리 (0) | 2023.02.15 |