일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 |
- keep -ing
- 변수
- end up ing
- happen to
- C++
- Realtime Rendering
- counldn't have
- continue to
- ISTQB
- UE4
- it's a good thing
- 코로나19
- 제5인격
- might have p.p
- relif
- by any chance
- by until
- gameQA
- I'm glad
- html
- metascore
- sort함수
- 게임QA
- know
- 형변환
- 명세기반테스트
- java
- if조건절
- 명절 표현
- for ing
- Today
- Total
Records rather than Memories
[ISTQB] 명세 기반 테스트 본문

최근 업무를 진행하면서 명세 기반 테스트에 대해 다시 한번 수행하게 되었다. ISTQB에서 한번 배웠던 개념이지만 다시 한번 수행해보면서 단순 개념만 외웠을 때와 다르게 명세 기반 테스트의 장점에 대해 다시 느끼게 되었다. 그래서 다시 잊기 전에 내가 알고 있는 명세 기반 테스트에 대해 정리해보려고 한다.
테스트는 설계 기법에 따라 여러 가지로 나뉘는데 대표적으로 3가지 분류이다.
- 명세 기반 테스트
- 경험 기반 테스트
- 구조 기반 테스트
각 테스트 기법도 중요하지만 그 안에 어떤 것들이 있는지에 대해서는 차치하고 명세 기반 테스트는 무엇일지 부터 알아보자.
명세 기반 테스트
명세 기반 테스트는 말 그대로 주어진 명세 즉, 스펙을 빼먹지 않고 테스트 케이스화 해서 그것을 수행하는 것을 말한다. 이게 좋은 이유는 '보장성'을 확보할 수 있다. 우리가 테스트를 수행하는 이유는 어느 정도로 커버리지를 달성하기 위한 목적이 있다. 그런데 실제로 테스트를 하다 보면 상황마다 천차만별로 다르게 진행되고 결과가 도출된다. 특히 사람의 테스트 능력, 경험에 따라 그 깊이와 이슈의 발견 정도도 달라지게 된다. 하지만 앞서 말한 '보장성' 명세 기반 테스트를 정확하게 수행한다면 누가하든 동일한 커버리지, 결과를 보장할 수 있다.
명세 기반 테스트 방법
1. 입력값 파악
2. 유효값(valid), 비유효 값(invalid) 설정
3. 테스트 케이스 작성
4. 수행
실제 명세가 주어졌을 때 가장 이해하기 쉽기 때문에 임의 테스트 상황을 만들어 보았다.
강화 확률이 맞는지 명세 기반 테스트를 진행하려고 한다.
*사전 조건(캐릭터 레벨은 1~무제한, 아이템 등급은 일반, 상급, 희귀, 영웅)
강화는 캐릭터의 레벨이 50 이상이고, 아이템 등급이 희귀 라면 33% 확률로 성공한다. 하지만 두 조건을 모두 충족하지 않는 다면 강화 확률을 기본적으로 25%이다.
그런데 만약 강화 재료로 일반 돌멩이가 아닌 축복받은 돌멩이를 사용한다면 위 조건과 상관없이 10%의 추가 성공 확률이 추가된다.
위 조건들에 맞는 테스트 케이스를 작성해보자.
1. 입력값 파악
명세(스펙)에 따라 입력할 수있는 값들의 입력 형태가 무엇인지를 파악
- 캐릭터 레벨: boundary
- 아이템 등급: num
- 강화 재료: boolean
2. 유효값(valid), 비유효 값(invalid) 설정
Vaild | Invaild | |
캐릭터 레벨 | N >= 50 | N < 50 |
아이템 등급 | 희귀 | (일반, 상급), 영웅 |
강화 재료 | 축복받은 돌멩이 | 일반 돌멩이 |
3. 테스트 케이스 작성
- T1: 입력값이 모두 유효값인 케이스
- T2: 입력값이 모두 비유효값인 케이스
- T3: 캐릭터 레벨이 비유효값인 케이스
- T4: 아이템 등급이 비유효값인 케이스
- T5: 아이템 등급이 비유효값인 케이스
- T6: 강화재료가 비유효값인 케이스
T1 | T2 | T3 | T4 | T5 | T6 | |
캐릭터 레벨 | 60 | 49 | 49 | 50 | 50 | 51 |
아이템 등급 | 희귀 | 일반 | 희귀 | 상급 | 영웅 | 희귀 |
강화 재료 | 축복받은 돌멩이 | 일반 돌멩이 | 축복받은 돌멩이 | 축복받은 돌멩이 | 축복받은 돌멩이 | 일반 돌멩이 |
예상 결과 | 33+10= 43% | 25% | 25+10=35% | 25+10=35% | 25+10=35% | 33% |
이 예상 결과에서 Fail이 발생한다면 각 케이스에서 비유효 값으로 설정한 부분에서 오류가 발생했다는 사실을 알 수 있다. 또한 설계만 제대로 한다면 같은 테스트 케이스에서 동일한 결과를 얻을 수 있게 된다.
'ISTQB CTFL' 카테고리의 다른 글
[ISTQB] ISTQB CTFL 자격증 합격 후기 (0) | 2022.01.30 |
---|---|
[ISTQB] Categories of Test Techniques (0) | 2022.01.16 |
[ISTQB] Seven Testing Principles (0) | 2022.01.03 |
[ISTQB] Why is Testing Necesarry (0) | 2021.12.30 |
[ISTQB] What is Testing? (0) | 2021.12.29 |