Testing
테스트 설계 기법의 종류(동등분할)
작은 양의 테스트 케이스로 많은 결함을 찾을 수 있도록 설계하는 것이 필요합니다. 효율적인 설계를 위해서는 테스트 기법을 활용해야 합니다.
테스트 기법 대한 정의와 활용하기 위해 예시를 소개합니다.
그 중 동적 테스트 기법 중 명세기반에 해당하는 기법을 소개합니다.
명세기반 기법은 시스템에서 제공하는 기능 및 메뉴 등 명세를 기반으로 테스트 케이스를 설계하는 방법을 말합니다.
동등 분할 (Equivalence partitioning) 테스트
1) 동등 분할(Equivalence partitioning)의 정의
▪ 테스트 항목 의 입력과 출력이 여러 개의 독립된 영역으로 구분되는 경우에 적용
▪ 동일한 영역 내에서는 어떠한 값을 선택해도 결과가 항상 같다는 원리를 이용
▪ 모든 영역에서 최소 하나 이상의 (대표) 값을 선택해 테스트 따라서, 같은 특성을 가지면서 같은 방식으로 처리된다고 판단하는
모든 등가 집합에서 대표 입력 값을 적어도 하나씩 테스트 했다는 것을 보장합니다.
2) 동등 분할이 적용 가능한 경우
▪ 사람에 의한 입력
▪ 인터페이스를 통한 시스템 입력
▪ 통합 테스팅에서 인터페이스 파라미터 등 테스트를 설계할 때 테스트 조건에 등가의 집합으로 표현되는 부분이 있는 경우
3) 동등 분할이 적용 시, 유의 사항
▪ 요구사항에 기반하고 있어야 함
▪ 등가 분할을 통해 나누어진 각 클래스 간에는 교집합 영역이 없어야 함
▪ 등가 분할의 값들은 서로 독릭접이어야 함
▪ 유효하지 않은 값들도 테스트해서 예외 처리되어야 하는지를 확인해야 함
4) 동등 분할 테스팅 종류
5) 동등 분할 테스트 케이스 작성 예시 1
ax. 요구사항
▪ 아이디 A, B, C 3개 계정 존재
▪ 비밀번호 1회 ~ 4회 오 입력 시 “아이디 또는 비밀번호를 다시 확인하세요” 알림 팝업 출력
▪ 비밀번호 5회 이상 오 입력 시 “비밀번호를 5회 이상 잘못 입력하셨습니다. 비밀번호를 변경해주세요” 알림 팝업 출력
▪ 비밀번호 10회 이상 오 입력 시 “비밀번호를 10회 이상 잘못 입력하여 계정이 잠겼습니다. 관리자에게 문의해주세요.” 알림 팝업 출력
▪ 약한 동등 분할 테스팅 기법을 적용한다면, 비밀번호 로그인 실패 별로 대표 값을 뽑아 테스트 케이스를 작성
▪ 강한 동등 분할 테스팅 기법을 적용한다면, 모든 조합을 고려해 테스트 케이스를 작성
→ 위와 같이 강한 동등 분할 테스팅 기법을 적용한 테스트 케이스의 경우의 수는
3(아이디 계정) X 15(비밀번호 오 입력 횟수) = 45개의 테스트 케이스가 나오게 됩니다.
6) 동등 분할 테스트 케이스 작성 예시 2
ax. 요구사항
▪ 현금 5,000원 이상 ~ 50,000원 이하 입력
▪ 체크카드 5,000원 이상 ~ 100,000원 이하 입력
▪ 신용카드 5,000원 이상 ~ 500,000원 이하 입력
[출력값 또는 기대 결과]
▪ 현금 5000원 이상, 체크카드 5,000원 이상, 신용카드 5,000원 이상 사용된 경우만 할인 (하나라도 부족할 경우 할인 안 됨)
▪ 사용금액 총 합이 15,000원 이상 = 5% 할인
▪ 사용금액 총 합이 100,000원 이상 = 10% 할인
▪ 사용금액 총 합이 600,000원 이상 = 15% 할인
동등 분할 영역 구분하기
요구사항에서 ‘현금’, ‘체크카드’, ‘신용카드’는 입력 범위가 정해져 있으므로 아래와 같이 9개의 동등 분할 영역을 식별할 수 있습니다.
테스트 케이스 작성하기
각 동등 분할 영역에서 대표값을 선택해 아래와 같이 테스트케이스를 작성 할 수 있습니다.
→ 4개의 테스트 케이스로 9개의 입력 동등 분할 영역과 4개의 출력 동등 분할 영역을 만족하는 테스트 케이스를 작성함
View More