QA ≠ Test

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

TESTING/IT&SOFTWARE STADARD

[TMMi] 레벨.2 기준 최소비교 테스팅에 대해서 알아보자

품생품사(品生品死) 2021. 1. 9. 18:40
반응형

테스트 설계 명세 가이드 : 최소 비교 테스팅(7) #10

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

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

① 소스 명세서를 분석하여 제어 흐름도를 작성하고 각 분기문 식별 후 고유 식별 번호를 부여한다.
② 각 분기문의 개별 조건에 대한 MC/DC 조합을 도출한다.
③ 도출된 MC/DC 조합이 모두 커버되도록 논리적 테스트 케이스를 도출한다.
④ 논리적 테스트 케이스를 테스트 수행이 가능하도록 구체적 테스트 케이스로 구현한다.

2) 테스트 베이시스

👀 소스 코드의 각 분기문을 식별하여 ID를 부여한다.

       public static bool IsValidIPAddress(string strIP)
        {
            int nDot = 0;
            bool bAfterDot = false;
            int idx = 0;

            foreach (char ch in strIP) 		D1
            {
                if ((ch < '0' || ch > '9') && ch != '.') // 숫자 또는 . 만 허용한다.	D2
                    return false;

                if ((idx == 0 || idx == strIP.Length - 1) && ch == '.') // 처음과 끝에 . 이 올 수 없다.        D3
                    return false;

                if (bAfterDot == true && ch == '.') // . 다음에 또 . 이 올 수 없다.	D4
                    return false;

                if (ch == '.')	D5
                {
                    nDot++;
                    bAfterDot = true;
                }
                else
                {
                    bAfterDot = false;
                }

                if (nDot > 3) // . 은 3개가 존재 해야 한다.  	D6
                    return false;

                idx++;
            }

            if (nDot != 3) // . 은 3개가 존재 해야 한다.     	D7
                return false;

            // 각 클래스는 255를 넘을 수 없다.
            string[] arClasses = strIP.Split(new char[] { '.' });
            if (arClasses.Length != 4)              	D8
                return false;
            int nValue = 0;
            foreach (string strClass in arClasses)	D9
            {
                nValue = 0;
                if (int.TryParse(strClass, out nValue) == false)	D10
                    return false;

                if (nValue < 0 || nValue > 255)	D11
                    return false;
            }

            return true;
        }

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

 

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

📌 제어 흐름도 작성

👀 제어 흐름도를 작성하고 각 제어 흐름 경로에 고유의 식별 번호를 부여한다.

This is tmmi_0012
제어 흐름도 예시

📌 MC/DC 조합 도출

👀 각 분기문의 개별 조건에 대한 MC/DC 조합을 도출한다.

 

✔ D1: A

1 0
1   ① 0   ②

✔ D2: (A or B) and C

1 0
1 0 0 0 1   ③
0 1 1  ② 1 0 0   ④

✔ D3: (A or B) and C

1 0
1 0 1   0 0 1   ③
0 1 1  ② 1 0 0   ④

✔ D4: A and B

1 0
1 0
    1

✔ D5: A

1 0
1   ① 0   ②

✔ D6: A

1 0
1   ① 0   ②

✔ D7: A

1 0
1   ① 0   ②

✔ D8: A

1 0
1   ① 0   ②

✔ D9: A

1 0
1   ① 0   ②

✔ D10: A

1 0
1   ① 0   ②

✔ D11: A or B

1 0
1 0   ① 0
0 1       


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

👀 위에서 도출한 모든 MC/DC 조합이 커버되도록 논리적 테스트 케이스를 작성한다.

This is tmmi_0013
논리적 테스트 케이스 도출 표

📌 구체적 테스트 케이스 도출

👀 논리적 테스트 케이스를 기반으로 테스트 수행이 가능하도록 구체적 테스트 케이스를 작성한다.

This is tmmi_0014
논리적 테스트 케이스 도출 표

TC Input Data: strIP Expected Result
TC01 ###.###.###.### FALSE
TC02 AAA.AAA.AAA.AAA FALSE
TC03 .123.123.123.123 FALSE
TC04 ###.###.###.###. FALSE
TC05 123..123.123 FALSE
TC06 ###.###.###.###.### FALSE
TC07 123.123.123.123.123 FALSE
TC08 123.123.123 FALSE
TC09 1.1.1.A FALSE
TC10 ? FALSE
TC11  -1-1-1-1 FALSE
TC12 256.256.256.256 FALSE
TC13 123.1223.123.123 TRUE


📌 적용 유의 사항

① 소스 코드에 적용하는 경우에는 순서도를 먼저 작성하는 것이 좋다.
② 최소 비교 테스팅 기법은 조건식의 조합 관계가 있는 경우라면 상위 테스트 레벨에서도 적용할 수 있다.
③ 효과적인 테스트 케이스 도출을 위해 다른 테스트 설계 기법도 같이 병행하여 적용 가능하다. (동등 분할, 경곗값 분석, 제어 흐름 기법 등)

④ 도출된 테스트 케이스를 검토하여 무의미한 테스트는 삭제하거나 적절하게 수정할 수 있다.
⑤ MC/DC 조합 셋은 유일 셋만 존재하는 것이 아니므로, 만약 테스트 수행이 불가능할 경우에는 MC/DC 조합셋을 적절하게 수정하여 적용할 수 있다.


Related References

 

Elementary Comparison Test (ECT)

The elementary comparison test ( ECT) is a thorough technique for the detailed testing of the functionality. The necessary test basis is pseudo-code or a comparable specification in which the decision points and functional paths are worked out in detail an

www.tmap.net

 

Elementary comparison testing - Wikipedia

Elementary comparison testing (ECT) is a formal white-box, control-flow, test-design method.[1] Its purpose is to implement the detailed testing of complex and important software. Software pseudocode or code is tested to assess the proper handling of all d

en.wikipedia.org

 

Elementary Comparison Testing Test Design White-box Testing Software Testing Control Flow - PNG - Download Free

Elementary Comparison Testing Test Design White-box Testing Software Testing Control Flow - PNG - Download Free

favpng.com

- 첨부파일 : ABC사_테스트 설계 명세_최소비교 테스팅 기법. xlxs

ABC사_테스트 설계 명세_최소비교 테스팅 기법.xlsx
0.05MB
This is tmmi_001
TMMi

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

반응형