[소프트웨어 개발] 테스트기법에 따른 테스트분류

이도연·2024년 6월 10일

정보처리기사

목록 보기
12/21
post-thumbnail

Whitebox Testing

  • 설계된 절차에 초점을 맞춘 구조적 테스트
  • 프로시저 설계의 제어구조를 사용하여 검사 사례를 설계하며 테스트 과정의 초기에 적용
  • 각 조건에서의 참과 거짓의 모든 논리적 결정이 한 번 이상 수행
  • 프로그램의 제어구조에 따라 선택, 반복 등의 부분들을 수행함으로써 논리적 경로 점검
  • 모듈 안의 작동을 직접 관찰
  • 기초경로검사, 제어구조검사(조건검사, 루프검사, 데이터흐름검사) 등

기초 경로 검사

대표적인 화이트 박스 테스트 기법이다. (McCabe cyclomatic)
검사 사례 설계자가 절차적 설계의 논리적 복잡성을 측정할 수 있게 해주고, 이 측정 결과는 실행 경로의 기초를 정의하는데 지침으로 사용한다.

순환복잡도

  • 한 프로그램의 논리적 복잡도를 측적하기 위한 소프트웨어 척도로 제어흐름도 이론에 기반
  • 순환복잡도 V(G) = E-N+2 (E = edge 수, N = node 수)

제어 흐름 그래프가 위와 같을 때, McCabe 의 cyclomatic 수는 4 이다.


제어구조 검사 기법

조건 검사

  • 프로그램 모듈 내에 있는 논리적 조건을 검사하는 검사 기법
  • 각 조건을 검사하는데 초점을 맞추는 것으로 검사 범위 측정이 간단

루프 검사

  • 프로그램 반복(LOOP) 구조에 초점을 맞춰 실시하는 검사 기법

데이터 흐름 검사(Data Flow Testing)

  • 프로그램에서 변수의 정의와 변수 사용 위치에 초점을 맞춰 실시하는 검사 기법



Blackbox Testing

  • 소프트웨어가 수행할 특정 기능을 알기 위해 각 기능이 완전히 작동되는 것을 입증하는 검사
  • 부정확하거나 누락된 기능, 인터페이스 오류, 자료구조, 외부DB 접근에 따른 오류, 행위나 성능 오류 등을 발견하기 위해 사용(테스트 후반부에 적용)
  • 데이터 위주 또는 입출력위주 검사
  • 각 산출물의 기능별로 적절한 정보 영역을 정하여, 적합한 입력에 대한 출력의 정확성 점검
  • 동등 분할 검사, 경계값 분석, 원인-결과 그래프, 오류 예측 검사, 비교 검사

equivalence Partitioning Test

  • 입력 자료에 초점을 맞춰, 검사 사례를 만들고 검사하는 기법
  • 프로그램의 입력 조건에 타당한 입력 자료와 타당하지 않은 입력자료 개수를 균등히 설정하여 검사사례를 정하고, 해당 입력자료에 맞는 결과가 출력되는지 확인

Feature: 성적 관리 기능
Scenario: 점수에 따른 학점을 계산한다.
When: 90점을 입력한다.
then: A학점이 나온다.

Boundary Value Test

  • 입력의 중간값보다 경계값에서 오류가 발생할 확률이 높다는 점을 이용
  • 입력 조건의 경계값을 검사사례로 선정하여 테스트

Feature: 오전/오후 도출 기능
Scenario: 시간에 따른 오전/오후를 구한다.
When: 1시를 입력한다.
then: 오후라는 결과가 나온다.

cause-effect Graph Test

  • 원인-결과 그래프를 통해 요구사항 명세를 입력및 출력 조건 간의 논리적 관계로 표현하고 이를 기반으로 테스트 케이스를 만들어낸다.
  • 여러 원인들을 논리적으로 IDENTITY, AND, OR, NOT연산으로 연관지어 결과를 도출
  • 뿐만아니라 E(exclusive), I(inclusive), O(one and only one), R(requires) 제약 심볼을 적용

연산


IDENTITY : 원인이 참이면 결과도 참이고, 원인이 거짓이면 결과도 거짓


AND : 하나 이상의 원인에서 모두가 참인 경우에만 결과가 참


OR : 하나 이상의 원인 집합에서 둘 중 하나라도 참이면 결과는 참이다.


NOT : 원인의 반대값이 결과값이 된다. 결과가 참이기 위해선 원인이 거짓이어야 한다.

제약


E(exclusive) : 두 개의 원인 중 둘 다 참이 될 수 없다. 많아야 하나만 참이될 수 있다.(0개일수도 있다.)3³


I(inclusive) : 원인들 중 최소 하나는 참이어야 한다. 모두가 거짓일 수 없다.


O(one and only one) : 원인1과 원인2중 오로지 하나만 참이어야 한다.


R(requires) : 원인1이 참이려면 원인2도 참이어야한다.


M(mask) : 해당 제약은 결과에 적용이 가능한 제약심볼로 결과1이 참일경우 결과2는 강제로 거짓이 된다.


Fault Based Test (데이터 확인 검사)

  • 다른 검사 기법으로 찾아낼 수 없는 오류를 찾아내는 보충적 검사 기법
  • 과거의 경험이나 확인자의 감각으로 테스트하는 기법

comparision Test

  • 여러 버전의 프로그램의 동일한 테스트 자료를 제공하여 결과가 출력되는지 테스트

0개의 댓글