1. 애플리케이션 테스트 개념
- 잠재되어 있는 결함을 찾아내는 행위, 절차
- 개발된 소프트웨어가 요구사항을 만족하는지 확인(Validation)하고 기능을 정확히 수행하는지 검증(Verification)한다
- 테스트 전에 소프트웨어 유형을 분류하고 특성을 정리해서 테스트 사항 정리
소프트웨어 분류
1. 상용 소프트웨어 : 보통의 사용자들이 공통적으로 필요로 하는 기능을 제공한다.
1-1 산업 범용 소프트웨어
- 시스템 소프트웨어 : 하드웨어 전체를 제어하고 운영하는 소프트웨어로, 운영체제, 데이터 관리, 스토리지 소프트웨어,
소프트웨어 공학 도구, 가상화 소프트웨어, 시스템 보안 소프트웨어로 구분
- 미들웨어 : 운영체제와 해당 운영체제에 의해 실행되는 응용 프로그램 사이에서 운영체제가 제공하는 서비스 이외에
추가적인 서비스를 제공하는 소프트웨어(분산 시스템, IT 자원 관리, 서비스 플랫폼, 네트워크 보안으로 구분)
- 응용 소프트웨어 : 특정 업무를 처리하기 위한 소프트웨어(영상 처리, 컴퓨터 그래픽, 콘텐츠 배포, 자연어 처리, 음성 처리,
기업용 소프트웨어로 구분
1-2 산업 특화 소프트웨어
- 특정 분야에서 요구하는 기능만을 구현함
- 자동차, 항공, 조선, 거널, 패션 의류, 농업, 의료, 국방, 공공 분야 등
2. 서비스 제공 소프트웨어 : 특정 사용자가 필요로 하는 기능만을 구현해서 제공하는 소프트웨어
2-1 신규 개발 소프트웨어
- 새로운 서비스를 제공하기 위해 개발된 소프트웨어
2-2 기능 개선 소프트웨어
- 사용자 편의성, 응답 속도, 화면 UI, 업무 프로세스 등 기존 서비스 기능을 개선하기 위해 개발됨
2-3 추가 개발 소프트웨어
- 업무나 산업 환경, 법, 제도의 변화로 기존 시스템에 새로운 기능을 추가하기 위함
2-4 시스템 통합 소프트웨어
- 시스템별로 서비스되던 것을 원스톱 서비스로 제공하기 위해 업무 기능이나 데이터 등을 통합하여 개발
2. 애플리케이션 테스트의 필요성
- 프로그램 실행 전에 오류를 발견하여 예방
- 테스트는 제품의 신뢰성 향상시킴
- 새로운 오류의 유입도 예방
- 최소한의 시간과 노력으로 많은 결함 발견
3. 애플리케이션 테스트 기본 원리
- 잠재적인 결함은 줄일 수 있지만, 소프트웨어가 무결함이라고 증명할 수는 없다. 즉 완벽한 테스팅은 불가능
- 결함 대부분은 개발자의 특성이ㅏ 애플리케이션의 기능적 특징때문에 특정 모듈에 집중 되어 있다.
-> 대부분의 결함이 특정 모듈에 발생하는 것을 결함 집중(Defect Clustering)이라고 한다.
- 애플리케이션의 20%에 해당하는 코드에서 전체 80%의 결함이 발견된다고 하여 파레토 법칙을 적용하기도 함
- 동일한 테스트 케이스로 동일한 테스트를 반복하면 더 이상 결함이 발견되지 않는 살충제 패러독스 현상이 발생한다
- 살충제 패러독스를 방지하기 위해 테스트 케이스를 지속적으로 보완 및 개선해야 함
- 테스트는 소프트웨어 특징, 테스트 환경, 테스터 역량 등 정황에 따라 결과가 달라질 수 있다
- 결함을 모두 제거해도 요구사항을 만족하지 못하면 해당 소프트웨어는 품질이 높지 않다(오류-부재의 궤번(Absence of Errors Fallacy)
- 테스트와 위험은 반비례. 테스트를 많이 하면 위험은 줄어든다
- 테스트는 작은 부분에서 점점 확대해야한다
- 별도의 팀에서 수행해야 한다
'Study > 정보처리기사' 카테고리의 다른 글
055 테스트 기법에 따른 애플리케이션 테스트 - 4장 애플리케이션 테스트 관리 - 2과목 소프트웨어 개발 (0) | 2022.01.27 |
---|---|
054 애플리케이션 테스트의 분류 - 4장 애플리케이션 테스트 관리 - 2과목 소프트웨어 개발 (0) | 2022.01.27 |
052 빌드 자동화 도구 - 3장 제품 소프트웨어 패키징 - 2과목 소프트웨어 개발 (0) | 2022.01.24 |
051 소프트웨어 버전 관리 도구 - 3장 제품 소프트웨어 패키징 - 2과목 소프트웨어 개발 (0) | 2022.01.24 |
050 소프트웨어 버전 등록 - 3장 제품 소프트웨어 패키징 - 2과목 소프트웨어 개발 (0) | 2022.01.24 |