QA ≠ Test

QA(품질 보증)는 개념적인 용어이고, TEST는 QA(품질 보증)를 하기 위한 수단이자 방법이다.

TESTING/IT&SOFTWARE STADARD

[TMMi] 레벨.2 기준 동등 분할 및 경계값 분석 기법에 대해서 알아보자

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

테스트 설계 명세 가이드 : 동등 분할 및 경계값 분석 기법

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

많은 설계 기법을 다루어야 하기 때문에 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) 기법 적용 절차

① 테스트 베이시스를 분석하여 입력 속성과 기대 결과를 식별한다.
② 입력 속성에 대한 입력 동등 분할 클래스를 식별한다. 유효한 경우와 비 유효한 경우를 모두 식별한다.
③ 기대 결과에 대한 출력 동등 분할 클래스를 식별한다.
④ 분할 클래스에서 각 클래스의 경계값을 선택하여 테스트 케이스를 작성한다.
⑤ 모든 유효한 입력 동등 분할 클래스의 경계값이 커버될 때까지 테스트 케이스를 작성한다.
⑥ 모든 비 유효한 입력 동등 분할 클래스의 경계값이 커버될 때까지 테스트 케이스를 작성한다.
⑦ 모든 출력 동등 분할 클래스가 커버될 때까지 테스트 케이스를 작성한다.

2) 테스트 베이시스

👀 Setting - Account의 계정 등록 가능

 

[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) 기법 적용

📌 입력 동등 분할 클래스 식별

✔ 테스트 베이시스를 분석하여 입력 속성과 기대 결과를 식별한다.
✔ 입력 속성에 대한 입력 동등 분할 클래스를 식별한다. 유효한 경우와 비 유효한 경우를 모두 식별한다

입력 속성 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."

📌 논리적 테스트 케이스 도출

✔ 분할 클래스에서 각 클래스의 경계값을 선택하여 테스트 케이스를 작성한다.
✔ 모든 유효한, 비유효한 입력 동등 분할 클래스의 경계값이 커버될 때까지 테스트 케이스를 작성한다.
✔ 모든 출력 동등 분할 클래스가 커버될 때까지 테스트 케이스를 작성한다.

[##_Image/>

Array

📌 테스트 케이스 작성

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

 

Boundary Value Analysis & Equivalence Partitioning with Examples

Code coverage testing is an important measure that quantifies the degree to which the source code...

www.guru99.com

 

Equivalence Partitioning Method - GeeksforGeeks

A Computer Science portal for geeks. It contains well written, well thought and well explained computer science and programming articles, quizzes and practice/competitive programming/company interview Questions.

www.geeksforgeeks.org

 

What is Boundary value analysis and Equivalence partitioning?

Boundary Value Analysis and Equivalence Partitioning explained with a simple example: Boundary Value Analysis and Equivalence Partitioning both are test case design strategies in Black-Box Testing. Equivalence Partitioning In this method, the input domain

www.softwaretestinghelp.com

 

Equivalence Partitioning Test Case Design Technique - Software Testing Material

In equivalence partitioning, inputs to the system are divided into groups that are expected to exhibit similar behavior.

www.softwaretestingmaterial.com

 

Equivalence partitioning - Wikipedia

Equivalence partitioning or equivalence class partitioning (ECP)[1] is a software testing technique that divides the input data of a software unit into partitions of equivalent data from which test cases can be derived. In principle, test cases are designe

en.wikipedia.org

 

Boundary-value analysis - Wikipedia

Boundary value analysis is a software testing technique in which tests are designed to include representatives of boundary values in a range. The idea comes from the boundary. Given that we have a set of test vectors to test the system, a topology can be d

en.wikipedia.org

This is tmmi_001
TMMi

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

반응형