테스트 기법
화이트박스 테스트
: 설계된 절차에 초점을 맞춘 구조적 테스트, 프로시저 설계의 제어구조를 사용하여 검사 사례를 설계하고 테스트 과정의 초기에 적용
: 각 조건에서 참과 거짓의 모든 놀리적 결정이 적어도 한 번 이상 수행
: 프로그램의 제어구조에 따라 선택, 반복등의 부분들을 수행, 논리적 경로를 점검
: 모듈안의 작동을 직겁 관찰 가능
: 원시코드의 모든 문장을 한번이상 수행함으로써 진행
: 제품의 내부 요소들이 명세서에 따라 수행되고 충분히 실행되는가를 보장하기 위한 검사
: 프로그램 원시 코드의 논리적인 구조를 커버하도록 테스트 케이스를 설계
EX) 기초 경로 검사, 제어 구조 검사(조건 검사, 루프 검사, 데이터 흐름 검사)등
기초 경로 검사
: McCabe가 제안한 것으로 대표적인 화이트 박스 테스트 기법
: 검사 사례 설계자가 절차적 설계의 논리적 복잡성을 측정할 수 있게 해줌, 결과는 실행 경로의 기초를 정의하는 지침으로 사용
순환 복잡도
: 한 프로그램의 논리적 복잡도를 측정하기 위한 소프트웨어 척도로 제어흐름도 이론에 기반함
: 순환복잡도 V(G) = E-N+2(E-화살표 수, N-노드 수(동그라미))
예시
제어구조 검사 기법
조건검사
: 프로그램의 모듈 내에 있는 논리적 조건을 검사하는 기법
: 각 조건을 검사흐는데 초점을 맞추는 것으로 검사 범위 측정이 간단
루프검사
: 프로그램 반복(LOOP)구조에 초점을 맞춰 실시하는 검사 기법
데이터 흐름 검사(Data Flow Testing)
: 프로그램에서 변수의 정의와 변수 사용 위치에 초점을 맞춰 실시하는 검사 기법
참고 - 화이트 박스 검사기준(테스트 케이스들이 테스트에 얼마나 적정한지를 판단하는 기준)
문장 검증기준
: 소스코드의 모든 구문이 한 번 이상 수행되도록 테스트 케이스 설계
분기 검증 기준
: 소스코드의 모든 조건문이 한 번 이상 수행되도록 테스트 케이스 설계
조건 검증 기준
: 모든 조건문에 대해 조건이 '참'인 경우와 '거짓'인 경우가 한 번 이상 수행되도록 설계
분기/조건 검증 기준
: 소스코드의 모든 조건문과 각 조건문에 포함된 개별 조건식의 결과가 '참'인 경우와 거짓인 경우가 한 번 이상 수행되도옥 테스트 케이스 설계
블랙 박스 테스트
: 소프트웨어가 수행할 특정 기능을 알기 위해 각 기능이 완전히 작동되는 것을 입증하는 검사
: 부정확 하거나 누락된 기능, 인터페이스 오류, 자료구조, 외부데이터 베이스 접근에 따른 오류, 행위나 성능의 오류, 초기화와 종료 오듀등을 발견하기 위해 사용(테스트 후반부 적용)
: 데이터 위주 또는 입출력 위주 검사
: 각 산출물의 기능별로 적절한 정보 영역을 정하여 적합한 입력에 대한 출력의 정확성을 점검
EX) 동치 분할 검사, 경계값 분석, 원인-효과 그래프 검사, 오류 예측 검사, 비교 검사 등등
동치 분할 검사(Equivalence Partitioning Test)
: 입력 자료에 초점을 맞춰 검사 사례를 만들고 검사하는 기법
: 프로그램의 입력 조건에 타당한 입력 자료와 타당하지 않은 입력자료 개수를 균등하게 설정하여 검사사례 정하고 해당 입력자료에 맞는 결과가 출력되는지 확인
경계값 분석(Boundary Value Test)
: 입력값의 중간값보다 경계값에서 오류가 발생할 확률이 높다는 점을 이용하여 입력조건의 경계값을 검사 사례로 선정하여 테스트
원인-결과 그래프(Cause-Effect graph test)
: 입력 데이터간의 관계와 출력에 영향을 미치는 상황을 체계적으로 분석하여 검사하는 기법
: 프로그램 외부 명세에 의한 입력조건과 입력으로부터 발생되는 출력을 논리적으로 연결시킨 그래프로 표현하여 검사
오류 예측 검사(Fault Based Test, 데이터 확인 검사)
: 다른 검사 기법으로 찾아낼 수 없는 오류를 찾아내는 보충적 검사 기법
: 과거의 경험이나 확인자의 감각으로 테스트 하는 기법
비교 검사(Comparison Test)
: 여러 버전의 프로그램에 동일한 테스트 자료를 제공하여 동일한 결과가 출력되는지 테스트
문제 1
정답 : 4
설명 : 순환복잡도식 을 이용하여 E-N+2을 대입해 보면 6-4+2 이므로 답은 4가 된다.
문제 2
정답 : 화이트박스 테스트