테스트 설계 명세 가이드 : 동등 분할 및 경계값 분석 기법
표준 테스트 설계 명세 가이드에 대해서 알아보도록 하겠습니다.
많은 설계 기법을 다루어야 하기 때문에 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) 기법 적용 절차
① 테스트 베이시스를 분석하여 입력 속성과 기대 결과를 식별한다.
② 입력 속성에 대한 입력 동등 분할 클래스를 식별한다. 유효한 경우와 비 유효한 경우를 모두 식별한다.
③ 기대 결과에 대한 출력 동등 분할 클래스를 식별한다.
④ 분할 클래스에서 각 클래스의 경계값을 선택하여 테스트 케이스를 작성한다.
⑤ 모든 유효한 입력 동등 분할 클래스의 경계값이 커버될 때까지 테스트 케이스를 작성한다.
⑥ 모든 비 유효한 입력 동등 분할 클래스의 경계값이 커버될 때까지 테스트 케이스를 작성한다.
⑦ 모든 출력 동등 분할 클래스가 커버될 때까지 테스트 케이스를 작성한다.
2) 테스트 베이시스
👀 Setting - Account의 계정 등록 가능
3) 기법 적용
입력 속성 | Valid | Invalid |
ID | 영문 또는 숫자. 길이 1~128바이트 | 공백, 128바이트 초과, 특수문자, 한글, ID: "admin", "administrator", "user", "defaultuser", 중복 아이디 |
Password | 영문 또는 숫자. 길이 9~128바이트 | 공백, 128바이트 초과, 8바이트 이하, 특수문자, 한글 |
Repeat | "Password" 필드 값과 같음 | "Password" 필드 값과 다름 |
내용 | 기대 결과 |
아이디, 패스워드의 정상적 입력 | 계정이 성공적으로 등록되어 리스트에 표시됨 |
아이디는 공백일 수 없다. | "Please enter ID." |
아이디는 128 바이트를 넘길 수 없다. | "ID can not exceed 128 characters in length." |
아이디는 영문과 숫자만 허용 된다. | "ID must consist of numeric and/or alphabetic characters." |
아이디로 admin, administrator, user, defaultuser 를 생성할 수 없다. | "You entered invalid ID." |
중복된 아이디를 생성할 수 없다. | "The same ID already exists. Please enter a different ID." |
변경할 비밀번호와 변경할 비밀번호 재입력 란이 맞아야 한다. | "Please re-enter your password." |
비밀번호가 공백일 수 없다. | "Please insert Password" |
비밀번호가 128 바이트를 넘길 수 없다. | "Password can not exceed 128 characters in length." |
비밀번호가 8자 이하일 수 없다. | "Password can not less than 8 characters in length." |
비밀번호는 영문과 숫자만 허용 된다. | "A Password must consist of numeric and/or alphabetic characters." |
📌 테스트 케이스 작성
No | ID | Main | Sub | Title | Pre Condition | Step | Test Data | Expect Result |
1 | TC_01 | 관리자 페이지 | 사용자 등록 | 사용자 등록 | 브라우저에 정상적으로 화면이 보임 | 1. 관리자 화면 선택 2. 사용자 정보 입력 - ID : 1바이트 영문자 - PW : 9바이트 영문자 3. "OK"버튼을 클릭하여 등록 수행 |
ID : a PW : abcdefgh REP : abcdefgh |
등록 성공, 리스트에 표시됨 |
2 | TC_02 | 관리자 페이지 | 사용자 등록 | 사용자 등록 | 브라우저에 정상적으로 화면이 보임 | 1. 관리자 화면 선택 2. 사용자 정보 입력 - ID : 공백 - PW : 9바이트 영문자 3. "OK"버튼을 클릭하여 등록 수행 |
ID : PW : abcdefgh REP : abcdefgh |
"Please enter ID." 메시지가 표현됨 |
📌 적용 유의 사항
① 입력 파라미터 식별 시 입력 파라미터들 간에 동등 분할 클래스의 중복이 발생하지 않아야 한다.
② 각 입력 파라미터의 테스트 데이터 선택 시 의미 있는 데이터를 선택해야 테스트의 효과성을 높일 수 있다.
- 경계값 선택 시 분할 클래스의 최소 값과 최대 값을 선택
- 경계 값을 기준으로 경계값-1, 경계값, 경계값+1 의 세가지 값을 선택
③ 동등 분할 클래스는 기능 구현 검증 관점에서 유효하거나 비유효한 경우로 나눌 수 있다.
- 입력 데이터 유효성(데이터 유형, 길이 등)의 측면에서 유효하거나 비유효한 경우로 나눌 수 있다.
④ 출력 동등 분할 클래스도 반드시 모두 커버되도록 테스트 케이스를 구성한다.
- 정상, 비정상, 예외 처리 등
⑤ 최종 도출된 테스트 케이스를 검토하여 무의미한 테스트 케이스는 삭제하거나 의미 있게 수정하는 것이 좋다.
⑥ 동등 분할 기법에서 입력 데이터의 선택은 입력 데이터 간의 조합 관계를 고려하지 않는다.
- Each choice, 1-wise
- 따라서 입력 데이터들간의 조합 관계를 고려해야 한다면 조합 테스팅 기법의 적용
Related References
요약 : iso 표준, 국제 표준 iso, 국내 표준, 표준, istqb, kstqb, 웹 qa, 모바일 qa, 앱 qa, test web, tmmi, cmmi
'TESTING > IT&SOFTWARE STADARD' 카테고리의 다른 글
[TMMi] 레벨.2 기준 결정테이블 테스팅에 대해서 알아보자 (0) | 2020.12.31 |
---|---|
[TMMi] 레벨.2 기준 페어와이즈 테스팅 기법에 대해서 알아보자 (0) | 2020.12.29 |
[TMMi] 레벨.2 기준 테스트 결함 관리 절차서에 대해서 알아보자 (0) | 2020.12.16 |
[TMMi] 레벨.2 기준 테스트 환경관리 절차서에 대해서 알아보자 (0) | 2020.12.15 |
[TMMi] 레벨.2 기준 테스트 설계 및 실행 절차서에 대해서 알아보자 (0) | 2020.12.13 |