1. 어플리케이션 테스트
: 어플리케이션에 잠재되어 있는 결함을 찾아내는 행위.
1. 1. 어플리케이션 테스트의 기본 원리 ★★
– 완벽한 소프트웨어 테스팅은 불가능. 결함을 줄일 수는 있지만 없다고 증명할 수는 없음.
– 개발 초기에 테스팅을 시작하여 테스팅 기간 단축.
– 파레토법칙: 결함의 대부분은 특정 모듈에 집중되어 있다.
– 살충제 패러독스: 정황에 따라서 테스트를 다르게 수행해야 한다.
– 브룩스 법칙: 지체되는 소프트웨어 개발에 인력을 더하는 것은 개발을 늦출 뿐이다.
– 롱테일 법칙: 사소해 보이는 80%의 다수가 20%의 소수보다 중요하다.
– 보헴의 법칙: 개발 초기 단계에서 결함을 발견해야 비용이 감소한다.
2. 개발 단계에 따른 어플리케이션 테스트 (V-모델) ★★
– V-모델: 소프트웨어 개발 단계(전반부)와 어플리케이션 테스트(후반부)를 연결해 표현한 것.
- 단위 테스트(Unit Test)
: 코딩 직후 소프트웨어 설계의 최소 단위인 모듈이나 컴포넌트에 초점을 맞춰 테스트.
– ※화이트박스 테스트•블랙박스 테스트, ※정적 테스트•동적 테스트 사용.
- 통합 테스트(Integration Test)
: 단위 테스트가 완료된 모듈을 결합해 하나의 시스템으로 완성 시키는 과정에서의 테스트.
– ※상향식, 하향식, 혼합식, 빅뱅 통합 테스트 사용
- 시스템 테스트(System Test)
: 개발된 소프트웨어가 해당 시스템에서 완벽하게 수행되는지 테스트.
– ※기능적 요구사항, 비기능적 요구사항 각각을 만족하는지 테스트.
- 인수 테스트(Acceptance Test)
: 개발한 소프트웨어가 사용자의 요구사항을 충족하는지 테스트.
– ※알파 테스트, 베타 테스트 사용.