본문 바로가기
소프트웨어공학

[소프트웨어공학] L9 - Verification, Validation, and Test: Black-box Test

by Lizardee 2023. 11. 29.
Test Methods

Test Methods

▶ Black-box test

  • Equivalence partitioning (동치분할)
  • Boundary value analysis (경계값 분석)
  • Decision table (결정 테이블)
  • State-based test (상태 기반 테스트)
  • Pair-wise test (조합 테스트)

 


Black-box Test (Specification-Based Test)

: 테스트 대상 sw 코드 내용은 보지 않고, 입력값에 대한 프로그램 실행 결과가 올바른 출력인지 테스트한다. by 테스터

Black-box Test

 

 

동치분할 (Equivalence Partitioning)

Q. 입력값을 어떻게 뽑을까?

A. 동치분할!

: 동치분할하여 valid/invalid equivalence class로 나누고, 클래스 내에서 그룹화하여 대표값을 선정한다.

동치분할

 

▶ Equivalence Class (동치분할의 집합)

  • Valid equivalence class: 유효한 입력 데이터
  • Invalid equivalence class: 유효하지 않은 입력 데이터 (입력되지 말아야 할 값)

--> Valid/Invalid 클래스 모두 테스트해야 한다!

  • 단점: 주관적인 분할 (대표값 선정이 주관적이다.)

 

예) 배터리 용량 표시

예) 배터리 용량 표시

 

예) 온라인 구매 시스템

예) EP

: 동치분할하여 뽑은 대표값들이 전부 테스트 케이스에 반영되어야 한다!

 

 

경계값 분석 (Boundary Value Analysis)

: 동치분할의 경계 부분에 해당되는 입력값에서 결함이 발견될 확률이 더 높다.

--> 각 그룹들의 경계값에서 테스트 데이터를 선정하자!

  • 단점: 주관적인 분할

경계값 분석 (Boundary Value Analysis)
경계값 선정

--> 경계값 분석:

  1. 동치분할
  2. 클래스 내에서 그룹화하여, 대표값을 정한다. 이때, 경계 부분에서 대표값을 선정한다.

예3) valid, invalid로 동치분할 후, valid 경계에서 1, 100을 테스트 입력으로 선정된다.

 

예4) valid 클래스가 -100초과 1000미만의 실수이고, invalid 클래스가 -100이하, 1000이상의 실수

--> 경계에 있는 -100.0, -99.99, 999.99, 1000.0이 테스트 입력으로 선정된다.

--> 이때, 실수에서 0은 특별한 경우이므로, 0을 기준으로 한 경계값에서도 테스트 입력으로 선정되었다.

 

예) 배터리 용량 표시

예) 배터리 용량 표시

: 경계값에서 테스트 케이스를 선정하였다.

 

 

 

 

 

출처: 이화여자대학교 박지현교수님 소프트웨어공학