테스트 설계 명세 가이드 : 결정테이블 테스팅(3) #6
표준 테스트 설계 명세 가이드에 대해서 알아보도록 하겠습니다.
많은 설계 기법을 다루어야 하기 때문에 8 파트로 나누어서 작성을 하도록 하겠습니다.
정책/전략/가이드의 문서 번호는 410번이며, 이 전 글을 참고하시기 바랍니다.
개정 이력
{고객사명} | SW 정책/전략/가이드 | 작성자 | ||
테스트 설계 명세 가이드 (결정테이블 테스팅) |
검토자 | |||
승인자 |
<관련 부서 합의>
부서 | 이름 | Comment | 일자 |
<문서 제/개정 이력>
번호 | 제/개정 일자 | 제/개정 내용 | 문서 버전 | 개정자 | 승인자 |
1. 개요
1) 목적
📌 본 문서는 테스트 설계 기법 적용방법의 가이드를 목적으로 한다.
📌 실제 프로젝트 산출물을 테스트 베이시스로 하여 테스트 케이스 설계 기법 적용 과정을 예시로 들어 설명한다.
📌 각 기법에 대한 기본적인 내용은 SW테스팅 관련 서적 또는 교육교재 등을 참조하기 바란다.
2) 적용범위
📌 본 가이드는 ABC사(이하 ‘당사’ 라 함)의 SW 테스팅을 수행하기 위한 모든 설계 시 적용한다.
3) 참고 문서
📌 개발자도 알아야 할 소프트웨어 테스팅 3판
📌 ISTQB Syllabus Test Analysit
4) 문서 관리 담당자
📌 본 문서의 관리 담당자는 아래와 같음
역할 | 담당부서 | 담당자 | 내용 |
문서 책임자 | OOO | OOO | 본 문서 생성 및 수정 권한 부여 |
문서 검토자 | OOO | OOO, OOO | 작성 완료된 본 문서에 대하여 검토하고 의견 개진 |
문서 승인자 | OOO | OOO | 본 문서의 베이스라인을 승인하고 배포 허가 |
2. 테스트케이스 설계 기법 예시
👀 각 기법 별로 본 문서를 참고한다.
- 동등 분할 및 경계값 분석 기법
- 페어와이즈 테스팅
- 결정 테이블 테스팅 > 이번에 다룰 내용
- 상태 전이 테스팅
- 기본경로 테스팅
- 제어 흐름 테스팅
- 최소 비교 테스팅
- 유스케이스 테스팅
3. 테스트케이스 설계 명세서 작성 가이드(기존 동일)
1) 절차
선행 작업 | 리스크 분석 및 레벨별 테스트 설계 전략 수립 |
명세 절차 | 리스크 아이템 분석서 참조 리스크 아이템 별 테스트 컨디션 도출(기법을 적용, 테스트케이스 설계 기법 예시 참조) 각 테스트 레벨의 설계 전략에 맞는 템플릿 선정(기능 베이스, 시나리오 베이스) 테스트 스위트 작성(케이스 및 프로시저) |
후행 작업 | 테스트 실행 및 로그 생성 테스트 결과 분석 |
2) 역할과 책임
테스트 매니저(또는 리더) | "테스트 설계 가이드"의 유지 관리, 수정 및 배포에 대한 책임이 있다. |
테스트 엔지니어 | "테스트 설계 가이드"를 기반으로 테스트 케이스 도출 시 참조하여 개발한다. |
3) 표준 템플릿
👀 ABC사 테스트 설계 명세서 템플릿. xlsx
4. 결정테이블 테스팅
1) 기법 적용 절차
① 테스트 베이시스를 분석하여 테스트 조건(원인)과 테스트 결과(기대 결과)를 식별한다.
② 결정 테이블에 테스트 조건과 그에 맞는 테스트 결과를 명세한다.
③ 식별된 모든 테스트 조건과 결과에 대해 Y인 경우와 N인 경우가 최소 한 번씩은 커버될 때까지 테스트 케이스를 추가한다.
④ 논리적으로 설계된 결정 테이블의 내용을 토대로 구체적 테스트 케이스를 작성한다.
2) 테스트 베이시스
👀 특별 심사자 관리 - 특별 심사자에게 권한을 부여, 해제 및 삭제한 내역을 조회하는 화면이다.
👀 테스트 베이시스는 요구사항을 포함하는 모든 문서를 얘기한다. 자세한 용어의 뜻은 아래 링크를 확인 바랍니다.
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 형태로 표현이 가능하도록 결정 테이블에 정리한다.
👀 이때, 명세서의 모든 조건과 결과가 포함되도록 작성한다.
📌테스트 케이스 작성
👀 논리 설계된 결정 테이블의 내용을 기반으로 구체적 테스트 케이스를 도출한다.
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
요약 : iso 표준, 국제 표준 iso, 국내 표준, 표준, istqb, kstqb, 웹 qa, 모바일 qa, 앱 qa, test web, tmmi, cmmi
'TESTING > IT&SOFTWARE STADARD' 카테고리의 다른 글
[TMMi] 레벨.2 기준 유스케이스 테스팅에 대해서 알아보자 (0) | 2021.01.11 |
---|---|
[TMMi] 레벨.2 기준 최소비교 테스팅에 대해서 알아보자 (0) | 2021.01.09 |
[TMMi] 레벨.2 기준 페어와이즈 테스팅 기법에 대해서 알아보자 (0) | 2020.12.29 |
[TMMi] 레벨.2 기준 동등 분할 및 경계값 분석 기법에 대해서 알아보자 (0) | 2020.12.25 |
[TMMi] 레벨.2 기준 테스트 결함 관리 절차서에 대해서 알아보자 (0) | 2020.12.16 |