728x90
목차
1.V-모델
2.단위 테스트(Unit Test)
3.통합 테스트(Integration Test)
4.시스템 테스트(System Test)
5.인수 테스트(Acceptance Test)
1.V-모델
1-1. V-모델의 개념
* 애플리케이션 테스트와 소프트웨어 개발 단계를 연결하여 표현
* 소프트웨어 개발단계에 따라 단위테스트, 통합테스트, 시스템테스트, 인수테스트
* 각각의 개발단계에 완성도를 개발자 관점에서 검증하고 사용자 관점에서 확인
* 기존 폭포수 모델에서 확장된 형태를 보이며 어느 단계에서 발생한 오류인지 추적이 가능하고 신뢰성이 높다
2.단위 테스트(Unit Test)
2-1. 단위 테스트의 개념
* 코딩이 완료된 직후 소프트웨어 설계의 최소 단위인 모듈(함수, 프로시저)이나 컴포넌트에 초점을 맞춰 테스트
* 모듈의 기능 수행 여부를 판정하고 내부에 존재하는 논리적인 오류를 검출
* 사용자의 요구사항을 기반으로 한 기능성 테스트를 최우선으로 수행
2-2. 단위 테스트 수행 방법
1. 명세기반 테스트
* 목적 및 실행 코드 기반의 블랙박스 테스트를 진행
* 최소기능단위로 테스트하기 때문에 일반적으로 명세기반테스트는 진행하지 않는편이다
2. 구조기반 테스트
* 프로그램 내부구조 및 복잡도를 검증하는 화이트박스 테스트를 진행한다
* 단위 테스트 수행 단계에서 일반적으로 구조기반 테스트를 진행한다
3.통합 테스트(Integration Test)
3-1. 통합 테스트의 개념
* 소프트웨어 각 모듈간의 인터페이스 관련 오류 및 결함을 찾아내기 위한 테스트 단계이다
* 단위 테스트가 끝난 단위 프로그램이 설계 단계에서 제시한 구조및 기능과 동일하게 구현되었는지에 대한 차이를 확인하는 단계
3-2. 통합 테스트 순서
1. 테스트 케이스 설계
2. 통합 테스트 데이터 준비
3. 통합 테스트 수행 및 결과 확인
4. 결함 등록
5. 테스트 결과 보고 및 종료
3-3. 테스트 커버리지
1. 점증적/비점증적 방식
* 점증적방식: 개발된 단위 모듈 일부를 테스트하고 점차적으로 늘려가며 테스트 진행
* 비점증적방식: 모든 모듈을 통합하여 전체 프로그램을 한번에 테스트
2. 하향식(Top Down) 통합 테스트
* 프로그램의 상위 모듈에서 하위 모듈방향으로 통합하면서 테스트하는 기법
3. 상향식(Bottom Up) 통합 테스트
* 프로그램의 하위 모듈에서 상위 모듈 방향으로 통합하면서 테스트하는 기법
4.시스템 테스트(System Test)
4-1. 시스템 테스트의 개념
* 개발된 소프트웨어가 해당 컴퓨터 시스템에 완벽하게 수행되는가를 점검하는 테스트
* 실제 사용환경과 유사하게 만든 환경에서 테스트를 진행하여 환경적인 장애리스크를 최소화 한다
* 기능적 요구사항과 비기능적 요구사항으로 구분하여 테스트를 진행한다
4-2. 기능적 요구사항
* 시스템이 요구하는 기능과 서비스에 대한 요구사항이다
* 명세서(요구사항 명세서, 유스케이스) 기반의 블랙박스 테스트를 진행
4-3. 비기능적 요구사항
* 비기능적 요구사항은 성능과 가용성처럼 기능적 요구사항에 다루지 못한 품질적인 요소를 다룬다
* 성능, 회복, 보안 등의 목적기반 테스트를 진행
5.인수 테스트(Acceptance Test)
5-1. 인수 테스트의 개념
* 개발이 완료된 소프트웨어에 대해 사용자 요구사항 충족 여부를 사용자가 직접 테스트하는것
* 인수테스트 단계에서 소프트웨어에 문제가 없으면 사용자는 소프트웨어를 인수하게 되고, 프로젝트는 종료
5-2. 인수 테스트의 종류
1. 알파(Alpha) 테스트
* 개발자의 장소에서 사용자가 개발자 앞에서 행하는 테스트 기법
* 테스트는 통제된 환경에서 행해지며, 오류와 사용상의 문제점을 사용자와 개발자가 함께 확인하면서 기록
2. 베타(Beta) 테스트
* 다수의 사용자에게 제한되지 않은 환경에서 프로그램을 사용하게 하고 오류가 발견되면 개발자에게 통보하는 방식의 테스트 방법
참고자료 : 이기적 환상콤비 정보처리기사
728x90
'자격증 > 정보처리기사' 카테고리의 다른 글
관계형데이터베이스(RDBMS) (0) | 2022.07.01 |
---|---|
성능분석 및 품질평가 (0) | 2022.06.30 |
애플리케이션 테스트 (0) | 2022.06.29 |
소프트웨어 패키징 (0) | 2022.06.29 |
인터페이스 (0) | 2022.06.27 |