˙화이트박스 테스트 설계기법
구조(코드) 기반으로 하는 테스트 방법론으로, 응용 프로그램의 내부 구조와 동작을 검사하는 테스트 방식으로, 주어진 Input에 대하여 기대한 결과뿐만 아니라, 내부적으로 정확하게 동작하는지에 대한 테스트도 포함한다. 수행된 케이스를 바탕으로 커버리지 측정이 가능하고, 테스트 케이스를 시스템 적으로 도출도 가능하다. S/W 내부 소스 코드를 테스트하는 기법으로 개발자가 내부 소스 코드를 추적하기 때문에 전반적인 테스트가 가능하다. 프로그램의 제어 구조에 따라 선택, 반복 등의 분기점 부분들을 수행함으로써 논리적인 경로 등을 제어한다. 테스트 초반 과정에, 모듈 안의 동작을 최소 한번 이상 실행함으로써 직접 관찰하는 방법으로 수행한다.
▷ 기초경로검사
대표적인 테스트 기법으로, 테스트 케이스 설계자가 절차적 설계의 논리적 복잡성을 측정할 수 있게 해주는 기법이다. 테스트 케이스에 대한 측정 결과는 실행 경로의 기초를 정의하는 데에 지침으로 사용한다.
▷ 제어구조검사 | 조건검사
프로그램 모듈 내에 존재하는 논리적인 조건들을 테스트하는 설계 기법이다.
▷ 제어구조검사 | 루프검사
프로그램의 반복 구조에 초점을 맞춰서 테스트하는 설계 기법이다.
▷ 제어구조검사 | 데이터흐름검사
프로그램에서 변수의 정의와 사용 등에 대한 위치에 초점을 맞추어서 테스트하는 설계 기법이다.
˙블랙박스 테스트 설계기법
명세(요구사항)를 기반으로 하는 테스트 방법론으로, 시스템 내부가 어떻게 동작하는지에 대한 지식이 불필요하다. 주어진 Input에 대하여 기대한 결과가 나올 경우 테스트가 성공적이라고 판단한다. 커버리지를 측정할 수 있으나, 그 의미는 구조 기반 기법의 커버리지에 비하여는 제한적이다. 즉, S/W 내부 구조나 원리를 모르는 상태에서 진행하는 테스트로, 올바른 입력에 대한 올바른 출력의 형태로 테스트한다. 주로 누락된 기능이나 인터페이스 오류, 동작 오류 등에 대한 부분을 위하여 진행되며, 테스트 후반 과정에 적용한다.
▷ 동등(클래스)분할
프로그램에 입력할 수 있는 입력 데이터를 동일한 동작(결과)이 예상되는 클래스로 분류한다. 각 클래스로부터 대표 값을 선정하여 테스트 케이스를 도출하는 방법이다. 선정한 대푯값에서 오류가 발생하는 경우 같은 테스트 케이스의 클래스에서도 오류가 발생된다고 가정한다.
▷ 경계값분석
동등(클래스) 분할의 부족한 부분을 커버할 수 있는 방법이다. 동등(클래스) 분할과 동일한 구조로 진행되는 테스트 케이스로, Input을 선정할 때 경계값을 포함하여 선정한다. 동등(클래스) 분할은 오류가 없다는 것을 가정하고 테스트 케이스를 산출하는 방식이지만, 경계값 분석은 동등(클래스) 분할의 경계 부분에 해당하는 Input에서 이슈가 발생될 확률이 높은 부분을 확인한다. 해당 분할 영역의 최대~최소 값이 그 영역의 경계값이 되고, 유효/비유효 경계값으로 분류한다. 경계값 분석은 결함(이슈) 발견율이 높고 보편적으로 적용하기 쉽기 때문에 가장 많이 사용되는 기법이다.
▷ 원인-효과그래프검사
Input 데이터 간의 관계와 Output에 영향을 미치는 상황을 체계적으로 분석한 후에, 효용성이 높은 테스트 케이스를 선정하여 검사하는 기법이다.
▷ 오류예측검사
과거의 경험이나 확인자의 감각으로 테스트하는 기법으로, 다른 블랙박스 테스트 기법으로는 찾아낼 수 없는 오류를 찾아내는 기법으로, 데이터 확인 검사라고도 말한다.
▷ 비교검사
여러 버전의 프로그램에 동일한 테스트 케이스(자료)를 통하여 동일한 결과가 도출되는지 테스트하는 기법이다.
▷ 도메인테스트
입력 변수들 간의 상관관계가 존재하는 경우에 영역을 분할하여 테스트 케이스를 도출하는 기법으로, 입력 변수들 간의 상관관계 존재 → 상관관계에 따른 도메인 분할 → 도메인에 따르는 테스트 케이스 도출한다.
˙도메인 테스트 요소
- ON : 도메인의 내부 또는 외부에 위치하는 도메인의 경계 값(부호에 상관없는 절대 값)
- OFF : 도메인의 경계에서 최소한으로 인식이 가능한 양만큼 떨어진 도메인의 값(ON에 가까운 값)
- 경계가 <=, >=, = 등으로 닫혔을 경우, 영역 밖의 가장 가까운 값
- 경계가 <, > 등으로 열렸을 경우, 영역 내의 가장 가까운 값
- IN : 도메인의 내부의 값(ON이 아닌 경계 조건을 만족하는 값)
- OUT : 도메인의 외부의 값 (ON이 아닌 경계 조건을 만족하지 않는 값)
*** 참고자료 : https://blog.naver.com/wisestone2007/220801965351
'끄적대기' 카테고리의 다른 글
[Chapter 2] React (0) | 2022.03.24 |
---|---|
[Chapter 1] NodeJS (0) | 2022.03.24 |
Replication(리플리케이션) vs Clustering(클러스터링) (0) | 2022.03.24 |
MSA : Micro Service Architecture (0) | 2022.03.24 |
Cookie vs Web Storage (0) | 2022.03.24 |