품생품사(品生品死)

소프트웨어 품질에 살고 품질에 죽는 그런 평범한 일상 블로그

TESTING/IT&SOFTWARE STADARD

[TMMi] 레벨.2 기준 결정테이블 테스팅에 대해서 알아보자

품생품사(品生品死) 2020. 12. 31. 00:30
반응형

테스트 설계 명세 가이드 : 결정테이블 테스팅(3) #6

표준 테스트 설계 명세 가이드에 대해서 알아보도록 하겠습니다.

많은 설계 기법을 다루어야 하기 때문에 8 파트로 나누어서 작성을 하도록 하겠습니다.

 

정책/전략/가이드의 문서 번호는 410번이며, 이 전 글을 참고하시기 바랍니다.

 

[TMMi : Level 2] 프레임워크 및 문서 양식 #1

목차 TMMi Level 2 : 프레임워크 및 문서 양식 #1 TMMi에 대해서는 동일 카테고리 내에 블로그가 있습니다. TMMi(Test Maturity Model integration) 목차 The TMMi model (see figure below) looks at software te..

qa-testing.tistory.com

 

개정 이력

{고객사명} SW 정책/전략/가이드 작성자  
테스트 설계 명세 가이드
(결정테이블 테스팅)
검토자  
승인자  

 

<관련 부서 합의>

부서 이름 Comment 일자
       
       
       

<문서 제/개정 이력>

번호 제/개정 일자 제/개정 내용 문서 버전 개정자 승인자
           
           
           

 

1. 개요

1) 목적 

📌 본 문서는 테스트 설계 기법 적용방법의 가이드를 목적으로 한다.
📌 실제 프로젝트 산출물을 테스트 베이시스로 하여 테스트 케이스 설계 기법 적용 과정을 예시로 들어 설명한다.
📌 각 기법에 대한 기본적인 내용은 SW테스팅 관련 서적 또는 교육교재 등을 참조하기 바란다.

2) 적용범위

📌 본 가이드는 ABC사(이하 ‘당사’ 라 함)의 SW 테스팅을 수행하기 위한 모든 설계 시 적용한다.

3) 참고 문서

📌 개발자도 알아야 할 소프트웨어 테스팅 3판

📌 ISTQB Syllabus Test Analysit

 

[v.2011-KOR] ISTQB CTFL 실라버스 요약 : 테스트 설계 기법 - Chapter 4

목차 ※ "개발자도 알아야 할 소프트웨어 테스팅 실무"를 기반으로 요약 ※ Part 4.테스트 설계 기법 4.1 테스트 설계 및 구현 프로세스 < 테스트 케이스 포함내용 > 1. ID(식별번호) - 테스

qa-testing.tistory.com

4) 문서 관리 담당자

📌 본 문서의 관리 담당자는 아래와 같음

역할 담당부서 담당자 내용
문서 책임자 OOO OOO 본 문서 생성 및 수정 권한 부여
문서 검토자 OOO OOO, OOO 작성 완료된 본 문서에 대하여 검토하고 의견 개진
문서 승인자 OOO OOO 본 문서의 베이스라인을 승인하고 배포 허가

 

2. 테스트케이스 설계 기법 예시

👀 각 기법 별로 본 문서를 참고한다.

  • 동등 분할 및 경계값 분석 기법
  • 페어와이즈 테스팅
  • 결정 테이블 테스팅 > 이번에 다룰 내용
  • 상태 전이 테스팅
  • 기본경로 테스팅
  • 제어 흐름 테스팅
  • 최소 비교 테스팅
  • 유스케이스 테스팅

3. 테스트케이스 설계 명세서 작성 가이드(기존 동일)

1) 절차

선행 작업 리스크 분석 및 레벨별 테스트 설계 전략 수립
명세 절차 리스크 아이템 분석서 참조
리스크 아이템 별 테스트 컨디션 도출(기법을 적용, 테스트케이스 설계 기법 예시 참조)
각 테스트 레벨의 설계 전략에 맞는 템플릿 선정(기능 베이스, 시나리오 베이스)
테스트 스위트 작성(케이스 및 프로시저)
후행 작업 테스트 실행 및 로그 생성
테스트 결과 분석

2) 역할과 책임

테스트 매니저(또는 리더) "테스트 설계 가이드"의 유지 관리, 수정 및 배포에 대한 책임이 있다.
테스트 엔지니어 "테스트 설계 가이드"를 기반으로 테스트 케이스 도출 시 참조하여 개발한다.

3) 표준 템플릿

👀 ABC사 테스트 설계 명세서 템플릿. xlsx

 

4. 결정테이블 테스팅

1) 기법 적용 절차

① 테스트 베이시스를 분석하여 테스트 조건(원인)과 테스트 결과(기대 결과)를 식별한다.
② 결정 테이블에 테스트 조건과 그에 맞는 테스트 결과를 명세한다.
③ 식별된 모든 테스트 조건과 결과에 대해 Y인 경우와 N인 경우가 최소 한 번씩은 커버될 때까지 테스트 케이스를 추가한다.
④ 논리적으로 설계된 결정 테이블의 내용을 토대로 구체적 테스트 케이스를 작성한다.

2) 테스트 베이시스

👀 특별 심사자 관리 - 특별 심사자에게 권한을 부여, 해제 및 삭제한 내역을 조회하는 화면이다.

This is tmmi_0012
특별 심사자 관리 화면 예시

 

👀 테스트 베이시스는 요구사항을 포함하는 모든 문서를 얘기한다. 자세한 용어의 뜻은 아래 링크를 확인 바랍니다.

 

[v.2018-KOR(ㄱ ~ ㅅ)] Standard Glossary of Terms used in Software Testing Version 3.2

"[참고] Ctrl+F로 찾아서 확인하세요." "Please, Use (Ctrl+F) to find it." 목차 GUI 그래픽 사용자 인터페이스(Graphical User Interface)의 약자 IDEAL 시작, 기획, 구현을 위해 로드맵 역할을 하는 조..

qa-testing.tistory.com

 

[v.2018-KOR(ㅇ ~ ㅎ)] Standard Glossary of Terms used in Software Testing Version 3.2

"[참고] Ctrl+F로 찾아서 확인하세요." "Please, Use (Ctrl+F) to find it." 목차 아웃풋 output 참조 : ISO 24765 컴포넌트나 시스템에서 외부 목적지로 전송되는 데이터 안전성 safety 참조 : IS..

qa-testing.tistory.com

3) 기법 적용

📌 테스트 조건(Condition)과 결과(Action)식별

👀 테스트 베이시스인 옵션 메뉴를 분석하여 각각의 테스트 조건(원인)과 결과(기대 결과)를 식별한다.

No 테스트 항목 설명 입력 조건 기대결과
1 특별 심사역 정보 조회 ✔ [관리지점] 또는 [심사자 사번] 입력 후 조회 버튼을 클릭한다.

✔ 조건을 만족하는 특별 심사자 목록이 그리드에 출력된다.

✔ 조건을 만족하는 목록이 없으면 검색된 데이터가 없습니다라는 메시지가 출력된다.
✔ [관리시점]입력 또는 [심사자 사번] 입력

✔ 조회 버튼 클릭
✔ 특별 심사역 목록 출력
조건을 만족하는 목록이 없으면 "검색된 데이터가 없습니다" 라는 메시지 출력
2  특별 심사역 직무 등록/해제 ✔ 조회 목록에서 원하는 목록을 선택 체크하고 상태(등록/해제), 직무 구분(1차심사자/2차심사자) 입력한다.

✔ 등록/해제 버튼을 클릭하면 등록/해제 처리되었다는 메시지와 결과 목록이 출력된다.
✔ 조회 목록 중 원하는 목록을 선택 체크 상태(등록/해제) 선택

✔ 직무구분(1차 심사자/2차 심사자) 선택 등록/해제 버튼 클릭
✔ "등록/해제 처리되었다"는 메시지 출력 결과 목록이 출력
3  특별 심사역 정보 변경 ✔ 조회 목록에서 원하는 목록을 선택 체크하고 직무구분(1차심사자/2차심사자).
관리지점을 수정한다.

✔ 수정 버튼을 클릭하면 수정된 목록이 출력된다.

✔ 선택 체크한 심사원의 심사역 상태를 "해제"로 입력한 후 수정 버튼을 클릭하면 "해제 상태에서는 수정할 수 없다"는 알림 메시지가 출력된다.
✔ 조회 목록 중 원하는 목록을 선택 체크 심사원의 심사역 상태가 "등록"이고 직무구분(1차심사자/2차심사자) 수정

✔ 또는 관리지점 수정 수정 버튼 클릭
✔ 수정된 목록 출력
✔ 조회 목록 중 원하는 목록을 선택 체크

✔ 심사원의 심사역 상태가 "해제"이고 직무구분(1차심사자/2차심사자) 수정 또는 관리지점 수정) 수정 버튼 클릭
✔ "해지 상태에서는 수정할 수 없다"는 알림 메시지 출력
4  특별 심사역 삭제 ✔ 조회 목록에서 원하는 목록을 선택 체크하고 삭제 버튼을 클릭하면 삭제 되었다는 메시지와 결과 목록이 출력된다. ✔ 조회 목록에서 원하는 목록 선택 체크 삭제 버튼 클릭 ✔ "삭제 처리되었다" 메시지 출력 결과 목록 출력
5 특별 심사역 다건 등록 ✔ 행 추가 버튼을 클릭하면 조회 목록 맨 아래에 새로운 행이 추가된다.

✔ 추가된 행을 선택 체크하고 상태(등록), 직무구분(1차심사자/2차심사자). 관리지점을 입력한다.

✔ 등록/해제 버튼을 클릭하면 등록 처리되었다는 메시지와 결과 목록이 출력된다.
✔ 행 버튼 추가 클릭 조회 목록 맨 아래에 새로운 행 추가 및 출력
✔ 추가된 행 선택 체크 상태(등록), 심사원 사번, 직무구분(1차심사자/2차 심사자), 관리지점 입력) 등록/해제 버튼 클릭 ✔ "등록 처리되었다" 메시지 출력 결과 목록 출력
6  특별 심사역 등해제내역 조회 ✔ [심사자 사번] 입력 후 등해제내역 버튼을 클릭하면 결과 목록이 출력된다.

✔ 조건을 만족하는 목록이 없으면 검색된 데이터가 없습니다라는 메시지가 출력된다
✔ [심사자 사번] 입력 등해제내역 버튼 클릭 ✔ 결과 목록 출력 조건을 만족하는 목록이 없으면" 검색된 데이터가 없습니다" 라는 메시지 출력
7  화면 초기화 ✔ 초기화 버튼을 클릭하면 모든 입력 필드 및 그리드 영역 초기화 된다. ✔ 초기화 버튼 클릭 ✔ 모든 입력 필드 초기화 그리드 영역 초기화

📌 결정 테이블 작성

👀 각 테스트 조건들을 T 또는 F 형태로 표현이 가능하도록 결정 테이블에 정리한다.

👀 이때, 명세서의 모든 조건과 결과가 포함되도록 작성한다.

This is tmmi_0013
Disision Table 작성

📌테스트 케이스 작성

👀 논리 설계된 결정 테이블의 내용을 기반으로 구체적 테스트 케이스를 도출한다.

ID Title Pre Condition Step Input Data Expect Result
TC1-1 특별 심사자 조회 조건 정상 입력(관리지점, 심사자사번) 관리지점 "1111",심사자사번"12345678"는 1차 심사자로 등록 [관리지점]과 [심사자 사번] 정보를 입력 후 조회 버튼을 클릭한다. 관리지점"1111"
심사자사번"12345678"
관리지점"1111"
심사자사번"12345678"목록출력
TC1-2 특별 심사자 조회 조건 비정상 입력(관리지점 비정상, 심사자사번 정상) [관리지점]과 [심사자 사번] 정보를 입력 후 조회 버튼을 클릭한다. 관리지점"1112"
심사자사번"12345678"
"검색된 데이터가 없습니다"라는 메시지가 출력
TC1-3 특별 심사자 조회 조건 비정상 입력(관리지점 정상, 심사자사번 비정상) [관리지점]과 [심사자 사번] 정보를 입력 후 조회 버튼을 클릭한다. 관리지점"1111"
심사자사번"12345679"
"검색된 데이터가 없습니다"라는 메시지가 출력
TC1-4 특별 심사자 조회 조건 비정상 입력(관리지점 비정상, 심사자사번 비정상) [관리지점]과 [심사자 사번] 정보를 입력 후 조회 버튼을 클릭한다. 관리지점"1113"
심사자사번"12345600"
"검색된 데이터가 없습니다"라는 메시지가 출력

 

📌 적용 유의 사항

① 결정 테이블은 다수의 입력 조건들이 존재하고, 입력 조건들 간에 상호 연관관계가 있는 경우 효과적인 명세서 분석 방법이다.
② 의미 있는 입력 조건과 출력 결과 분석을 위해 동등 분할의 적용이 가능하다.
③ 입력 조건 식별 시 하나의 입력 조건에서 "Y"인 경우와 "N"인 경우를 모두 표현할 수 있으므로 입력 조건을 입력 조건이 "Y"인 경우와 "N"인 경우로 각각 분리하여 작성하지 않도록 주의한다.

✔ 그러나 입력 조건의 세부 항목이 존재하는 경우에는 각각을 개별적인 조건으로 작성할 수 있다.
④ 결정 테이블에 가장 강도 높은 테스트를 적용하려면 입력 조건들 간의 풀 조합을 도출하여 적용하면 된다.

✔ 이러한 경우, 테스트 조합 결과를 검토하여 무의미한 테스트 케이스는 삭제하는 것이 좋다.

 

Related References

 

ISTQB - What is Decision Table Testing in Software Testing - Get Software Service

Decision Table Testing: Consider this  from an vehicle insurance Functional Spec: If the age of the driver is greater than 25 and the driver is female, offer a discount of 10%. In Equivalence Partitioning and Boundary Value Analysis, the focus was on sing

www.getsoftwareservice.com

 

Decision Table Testing: Learn with Example

What is REST? REST stands for "REpresentational State Transfer," which is a new way of...

www.guru99.com

 

https://www.qaoncloud.com/what-is-decision-table-testing-explained-with-example/

 

www.qaoncloud.com

 

Decision Table Testing - A Black Box Testing Technique

What is Decision Table Testing in Software Testing? How to create a Decision Table with Example?Pitfalls of Decision Table Testing

www.toolsqa.com

 

Decision Table Technique in Black Box Testing - javatpoint

Decision Table Technique in Black Box Testing with introduction, software development life cycle, design, development, testing, quality assurance, quality control, methods, black box testing, white box testing, etc.

www.javatpoint.com

 

Using Decision Tables for Clear, Well-Designed Testing

Decision tables are used to test the interactions between combinations of conditions. They provide a clear method to verify testing of all pertinent combinations to ensure that all possible conditions, relationships, and constraints are handled by the soft

www.stickyminds.com

This is tmmi_001
TMMi

요약 : iso 표준, 국제 표준 iso, 국내 표준, 표준, istqb, kstqb, 웹 qa, 모바일 qa, 앱 qa, test web, tmmi, cmmi

728x90
반응형