반응형
1. 애플리케이션 테스트의 개념
- 정의: 애플리케이션의 잠재 결함을 찾아내는 행위 또는 절차.
- 목적:
- Validation: 소프트웨어가 고객 요구사항을 만족시키는지 확인.
- Verification: 소프트웨어가 정확히 기능을 수행하는지 검증.
2. 애플리케이션 테스트의 기본 원리
종류설명
테스팅은 결함이 존재함을 밝히는 것 | 결함을 줄일 순 있지만, 결함이 없다고 증명할 수 없음. |
완벽한 테스팅은 불가능 | 무한 경로와 무한 입력 값으로 인해 모든 결함을 발견하는 것은 불가능. |
개발 초기에 테스팅 시작 | 테스팅 기간 단축, 재작업 감소로 개발 기간 단축 및 결함 예방 가능. |
결함 집중 | 20%의 모듈에서 80%의 결함 발견 (파레토 법칙). |
살충제 패러독스 | 동일한 테스트 케이스 반복 시 새로운 결함 발견이 어려움. |
테스팅은 정황에 의존적 | 소프트웨어 성격에 따라 테스트 방식이 달라짐. |
오류-부재의 궤변 | 결함이 없어도 요구사항을 충족하지 못하면 품질이 높다고 볼 수 없음. |
3. 프로그램 실행 여부에 따른 테스트
종류 | 설명 |
정적 테스트 | 프로그램 실행 없이 명세서나 소스 코드를 분석. |
동적 테스트 | 프로그램 실행 후 오류를 찾는 테스트. |
예시 | 정적: 워크스루, 인스펙션, 코드 검사 / 동적: 화이트박스, 블랙박스 테스트. |
4. 테스트 기반에 따른 테스트
종류 | 설명 |
명세 기반 테스트 | 요구사항 명세에 따라 테스트 케이스 생성. |
구조 기반 테스트 | 내부 논리 흐름에 따른 테스트 케이스 생성. |
경험 기반 테스트 | 테스터 경험에 의존하여 수행하는 테스트. |
예시 | 명세: 동등 분할, 경계값 분석 / 구조: 구문 기반, 결정 기반, 조건 기반 / 경험: 에러 추정, 체크리스트, 탐색적 테스트 |
5. 시각에 따른 테스트
종류 | 설명 |
검증(Verification) 테스트 | 개발자의 시각에서 제품의 생산 과정을 테스트. |
확인(Validation) 테스트 | 사용자의 시각에서 제품의 결과물을 테스트. |
예시 | 검증: 단위 테스트, 통합 테스트, 시스템 테스트 / 확인: 알파 테스트, 베타 테스트. |
6. 목적에 따른 테스트
종류 | 설명 |
회복(Recovery) | 결함 후 복구 여부 확인. |
안전(Security) | 불법 침입 방어 여부 확인. |
강도(Stress) | 과부하 상황에서 소프트웨어가 정상적으로 실행되는지 확인. |
성능(Performance) | 실시간 성능 및 효율성 확인. |
구조(Structure) | 내부 논리 경로 및 소스 코드 복잡도 평가. |
회귀(Regression) | 변경된 코드에 새 결함이 없는지 확인. |
병행(Parallel) | 변경 전/후 소프트웨어의 동일 데이터 입력 결과 비교. |
7. 테스트 커버리지 유형
기법 | 설명 |
구문 커버리지 | 모든 문장을 적어도 한 번 이상 실행하는 것을 기준으로 테스트. |
결정 커버리지 | 전체 조건식이 최소한 참/거짓 값을 가지도록 테스트. |
조건 커버리지 | 각 조건식이 참/거짓을 한 번씩 가지도록 개별 조건 조합을 테스트. |
조건/결정 커버리지 | 전체 조건식과 개별 조건식이 참/거짓을 모두 가질 수 있도록 테스트. |
변경/조건 결정 커버리지 | 각 조건식이 독립적으로 전체 조건식에 영향을 미치도록 테스트. |
다중 조건 커버리지 | 모든 조건식의 가능한 조합을 100% 보장하도록 테스트. |
반응형
'정보처리기사 > SW개발' 카테고리의 다른 글
[정처기-SW 개발] 버전 관리 도구 (1) | 2024.12.05 |
---|---|
[정처기-SW 개발] 형상 관리 (1) | 2024.11.13 |
[정처기-SW 개발] 디지털 저작권 관리 (16) | 2024.11.12 |
[정처기-SW 개발] 소프트웨어 패키징과 릴리즈 노트 (2) | 2024.11.11 |
[정처기-SW 개발] 개발 지원 도구 (3) | 2024.11.10 |