화이트박스, 블랙박스 테스트 / 개별 단계에 따른 애플리케이션 테스트

2023. 2. 16. 13:36정처기 필기/2과목 - 소프트웨어 개발

화이트박스, 블랙박스 테스트]

1. 화이트박스 테스트 #문분조분조

- 모듈 안의 내용을 직접 볼 수 있음

- 내부의 논리적인 모든 경로를 테스트해 테스트 케이스를 설계

- 소스 코드의 모든 문장을 한 번 이상 수행

- 선택, 반복 등의 부분들을 수행함으로써 논리적 경로 점검

 

기초 경로 검사
(Base Path Testing)
- 대표적인 화이트박스 테스트 기법
- 결과는 실행 경로의 기초를 정의하는 지침으로 사용
제어 구조 검사 - 조건 검사 : 논리적 조건을 테스트
- 루프 검사(제어 흐름) : 반복 구조에 맞춰 테스트
- 데이터 흐름 검사 : 변수의 정의와 변수 사용의 위치에 초점을 맞춰 테스트

 

2. 블랙박스 테스트 (기능 테스트) #동경원오비

- 모듈 안에서 어떤 일이 일어나는지 알 수 없음

- 소프트웨어가 수행할 특정 기능을 알기 위해 각 기능이 완전히 작동되는 것을 입증하는 테스트

- 소프트웨어 인터페이스에서 실시되는 테스트

종류 설명
동치 분할 검사
(Equivalence Partitioning Testing)
올바른 입력과 올바르지 않은 입력 자료를 모두 테스트 케이스에 입력하고 각각 입력값에 맞는 올바른 출력값이 나오는지 확인
경계값 분석
(Boundary Value Analysis)
입력 조건의 중간값보다 경계값에서 오류가 발생될 확률이 높다는 점을 이용해 입력 조건의 경계값을 테스트 케이스로 선정해 검사하는 기법
원인-효과 그래프 검사
(Cause-Effect Graphing Testing)
입력 데이터 간의 관계와 출력에 영향을 미치는 상황을 체계적으로 분석한 다음 효용성이 높은 테스트 케이스를 선정해서 검사하는 기법
비교 검사
(Comparison Testing)
여러 버전의 프로그램에 동일한 테스트 자료를 제공해 동일한 결과가 출력되는지 테스트하는 기법
오류 예측 검사
(Error Guessing)
다른 블랙박스 테스트 기법으로 찾아낼 수 없는 오류를 찾아내는 일련의 보충적 검사 기법 (데이터 확인 검사)

 


개별 단계에 따른 애플리케이션 테스트

1. 단위 테스트

- 코딩 직후 최소 단위인 모듈이나 컴포넌트에 초점을 맞춰 테스트

- 사용자의 요 구사항을 기반으로 한 기능성 테스트를 최우선

- 명세 기반 테스트, 구조 기반 테스트 중 주로 구조 기반 테스트를 시행

 

2. 통합 테스트

- 단위 테스트가 완료된 모듈을 결합하여 하나의 시스템으로 완성시키는 과정에서 테스트

- 통합된 모듈 또는 컴포넌트 간 상호작용 오류 검사

# 빅뱅 테스트, 상향식 테스트, 하향식 테스트

 

3. 시스템 테스트

- 개발된 소프트웨어가 컴퓨터 시스템에서 완벽하게 수행되는가 점검

- 실제 사용 환경과 유사하게 만든 테스트 환경에서 테스를 수행

- 기능적 테스트와 비기능적 테스트를 구분

 

4. 인수 테스트

* 소프트웨어가 사용자의 요구사항을 충족하는가에 중점을 둔 테스트

종류 설명
알파 테스트 통제된 환경에서 사용자가 개발자와 함께 확인하면서 행하는 테스트
베타 테스트 통제되지 않은 환경에서 여러 명의 사용자가 행하는 테스트 (게임 베타서버 생각하면 됨)