[2과목-4장-049] 애플리케이션 테스트
애플리케이션에 잠재되어 있는 결함을 찾아내는 일련의 행위 or 절차
- SW가 고객의 요구사항을 만족시키는지 확인(Validation), SW가 기능을 정확히 수행하는지 검증(Verification)
* Validation
: 사용자 입장에서 SW가 고객의 요구사항에 맞게 구현되었는지 확인
* Verification
: 개발자 입장에서 SW가 명세서에 맞게 만들어졌는지 점검
- 테스트 실행 전, 개발한 SW의 유형을 분류, 특성을 정리해서 중점적으로 테스트할 사항을 정리해야 함
* SW의 분류
1) 상용 소프트웨어
: 공통적으로 필요로 하는 기능을 제공. 산업의 특성에 따라 다음과 같이 분류됨
(1) 산업 범용 SW
- 시스템 SW: HW 전체를 제어, 운영하는 SW. OS, 데이터 관리, 스토리지 소프트웨어, 소프트웨어 공학 도구, 가상화 소프트웨어, 시스템 보안 소프트웨어로 구분
- 미들웨어: OS와 OS에 의해 실행되는 응용 프로그램 사이에서 OS가 제공하는 서비스 외에 추가적인 서비스를 제공. 분산 시스템 SW, IT 자원 관리, 서비스 플랫폼, 네트워크 보안 SW로 구분
- 응용 소프트웨어: 특정 업무를 처리하기 위한 SW
(2) 산업 특화 SW
: 특정 분야에서 요구하는 기능만을 구현한 SW
2) 서비스 제공 소프트웨어
: 판매하려는 것이 아니라 특정 사용자가 필요로 하는 기능만을 구현해서 제공
(1) 신규 개발 SW
(2) 기능 개선 SW
(3) 추가 개발 SW
(4) 시스템 통합 SW: 시스템별로 서비스되던 것을 원스톱 서비스로 제공하기 위해 업무 기능 등을 통합하여 개발
* 애플리케이션 테스트 필요성
1) 프로그램 실행 전에 오류 발견하여 예방 가능
2) 사용자 요구사항이나 기대 수준 등을 만족시키는지 반복적으로 테스트 > 제품의 신뢰도 향상 가능
3) 개발 초기부터 테스트 계획하고 시작하면 단순한 오류 발견뿐만 아니라 새 오류의 유입 예방도 가능
4) 최소한의 시간, 노력으로 많은 결함 찾을 수 있음
* 애플리케이션 테스트 기본 원리
1) SW에 잠재적 결함을 줄일 수 있지만 결함이 없다고 증명할 수는 없다. 즉, 완벽한 SW 테스팅은 불가능하다.
2) 결함은 대부분 개발자 특성 or 기능적 특징 때문에 특정 모듈에 집중됨. 애플리케이션의 20%에 해당하는 코드에서 전체 80%의 결함이 발견(결함 집중)된다고 하여 파레토 법칙을 적용하기도 함.
3) 동일 테스트 케이스로 동일 테스트를 반복하면 더 이상 결함이 발견되지 않는 '살충제 패러독스' 현상이 발생. 이를 방지하기 위해 테스트 케이스를 지속적으로 보완 및 개선해야 함.
4) SW 특징, 테스트 환경, 테스터 역량 등 정황에 따라 테스트 결과가 달라질 수 있음 > 정황에 따라 테스트를 다르게 수행해야 함
5) 결함을 모두 제거해도 요구사항을 만족시키지 못하면 해당 SW는 품질이 높다고 말할 수 없다: 오류-부재의 궤변
6) 테스트와 위험은 반비례
7) 작은 부분에서 시작하여 점점 확대하며 진행해야 함
8) 개발자와 관계없는 별도의 팀에서 수행해야 함
'정보처리기사 > 필기' 카테고리의 다른 글
[2과목-4장-051] 테스트 기법에 따른 애플리케이션 테스트 (0) | 2020.04.24 |
---|---|
[2과목-4장-050] 애플리케이션 테스트의 분류 (0) | 2020.04.23 |
[2과목-3장-048] 빌드 자동화 도구 (0) | 2020.04.21 |
[2과목-3장-047] 소프트웨어 버전 관리 도구 (0) | 2020.04.21 |
[2과목-3장-046] 소프트웨어 버전 등록 (0) | 2020.04.21 |
댓글