정보처리기사 필기 2과목 - 소프트웨어 개발 : 애플리케이션 테스트 (= 소프트웨어 테스트)
[1] 애플리케이션 테스트의 개념
- 애플리케이션에 잠재되어 있는 결함을 찾아내는 일련의 행위 또는 절차
- 개발된 소프트웨어가 고객의 요구사항을 만족시키는지 확인(Validation)
- 소프트웨어가 기능을 정확히 수행하는지 검증(Verification)
[2] 애플리케이 테스트의 필요성
1. 오류 발견 관점
- 프로그램에 잠재된 오류를 발견하고 이를 수정하여 올바른 프로그램을 개발하는 활동
2. 오류 예방 관점
- 프로그램 실행 전에 코드 리뷰, 동료 검토, 인스펙션 등을 통해 오류를 사전에 발견하는 예방 차원의 활동
3. 품질 향상 관점
- 사용자의 요구사항 및 기대 수준을 만족하도록 반복적인 테스트를 거쳐 제품의 신뢰도를 향상하는 품질 보증 활동
[3] 애플리케이션 테스트의 기본 원리 ⭐⭐
1. 테스팅은 결함이 존재함을 밝히는 활동
- 테스팅은 소프트웨어의 잠재적인 결함을 줄일 수 있지만, 결함이 발견되지 않아도 결함이 없다고 증명할 수는 없음을 의미
2. 완벽한 테스팅은 불가능
- 무한 경로, 무한 입력값, 무한 시간이 소요되어 완벽하게 테스트할 수 없으므로 리스크 분석과 우선순위를 토대로 테스트에 집중할 것을 의미
3. 테스팅은 개발 초기에 시작
- 애플리케이션의 개발 단계에 테스트를 계획하고, SDLC의 각 단계에 맞춰 전략적으로 접근할 것을 고려
* SDLC(Software Development Life Cycle) : 소프트웨어 개발 타당성 검토로부터 개발, 유지보수, 폐기 까지의 전 과정을 하나의 생명주기로 정의하고 단계적 공정을 체계화 한 것
4. 결함 집중 (Defect Clustering) ⭐
- 애플리케이션 결함의 대부분은 소수의 특정한 모듈에 집중되어 존재함
- 파레토 법칙 : 20%의 모듈에서 80%의 결함 발견
5. 살충제 패러독스 (Presricide Paradox) ⭐
- 동일한 테스트 케이스로 반복 실행하면 결함을 발견할 수 없으므로 주기적으로 테스트 케이스를 리뷰하고 개선해야 함
6. 테스팅은 정황(Context)에 의존
- 정황과 비즈니스 도메인에 따라 테스트를 다르게 수행해야 함(소프트웨어의 성격에 맞게 테스트 실시)
7. 오류-부재의 궤변(Absence of Errors Fallacy)
- 사용자의 요구사항을 만족하지 못하는 오류를 발견하고 그 오류를 제거하였다 해도, 해당 애플리케이션의 품질이 높다고 말할 수 없음
[4] 애플리케이션 테스트 프로세스
테스트 계획 ▶ 테스트 분석 및 디자인 ▶ 테스트 케이스 및 시나리오 작성 ▶ 테스트 수행 ▶ 테스트 결과 평가 및 리포팅
1. 테스트 계획서
- 테스트 목적과 범위 정의, 대상 시스템 구조 파악, 테스트 수행 절차, 테스트 일정, 조직의 역할 및 책임 정의, 종료 조건 정의 등 테스트 수행을 계획한 문서
2. 테스트 케이스
- 테스트를 위한 설계 산출물로, 응용 소프트웨어가 사용자의 요구사항을 준수하는지 확인하기 위해 설계된 입력 값, 실행 조건, 기대 결과로 구성된 테스트 항목의 명세서
3. 테스트 시나리오
- 테스트 수행을 위한 여러 개의 테스트 케이스 집합으로 테스트 케이스의 동작 순서를 기술한 문서이며, 테스트를 위한 절차를 명세한 문서
4. 테스트 결과서
- 테스트 결과를 정리한 문서로 테스트 프로세스를 리뷰하고, 테스트 결과를 평가하고 리포팅하는 문서
'자격증 > 정보처리기사 필기' 카테고리의 다른 글
[정보처리기사 필기] SW 개발 : 테스트 케이스 / 테스트 시나리오 / 테스트 오라클 / 테스트 하네스 (0) | 2023.01.30 |
---|---|
[정보처리기사 필기] SW 개발 : 애플리케이션 테스트의 유형 (0) | 2023.01.30 |
[정보처리기사 필기] SW 개발 : 제품 소프트웨어 버전 관리 (0) | 2023.01.27 |
[정보처리기사 필기] SW 개발 : 통합 구현 관리(IDE, 협업, 형상관리) (0) | 2023.01.27 |
[정보처리기사 필기] SW 개발 : 디지털 권리 관리(DRM) (1) | 2023.01.27 |