-
테스트 베이시스 ~~ 테스트 스위트테스팅 관련/개념 2021. 2. 21. 23:11
테스트 베이시스
- 테스트 분석 및 설계의 기초로 사용되는 지식 체계
- 테스트 분석, 설계 단계의 논리적인 케이스로 테스트 케이스 설계를 위한 기준이 되는 문서 (ex. 요구사항 명세서, 관련 기준 또는 표준)
- 요구사항을 내포하고 있는 모든 문서
테스트 컨디션
- 테스트 베이시스로 식별된 구성 요소 또는 시스템의 테스트 가능한 측면
- 테스트 케이스에 대한 트랜잭션, 기능 또는 구조적 요소와 같은 기능을 포함할 수 있는 특정 제약 조건 집합
- 특정 테스트 목적 달성과 관련있는 테스트 베이시스의 한 측면
- 하나 이상의 테스트 케이스에 의해 검증될 수 있는 컴포넌트나 시스템의 항목 또는 이벤트 (ex. fuction, transaction, quality attribute, 또는 structural element 등)
- 테스팅을 수행하기 위한 실행 사전조건, 입력값, 예상결과, 실행 사후조건의 집합
- 하나의 테스트 컨디션에서 여러개의 테스트 케이스가 만들어 질 수 있음
테스트 설계 명세 (Test Design Specification)
- 테스트가 수행될 기능들과 그에 상응하는 테스트 조건들을 명시한 문서
- 테스트 아이템의 테스트 상황(커버리지 항목)과 상세한 테스트 접근법을 명세화
- 이와 연계된 상위 수준 테스트 케이스를 식별하는 문서
테스트 절차 명세 (Test Procedure Specification)
- 테스트 실행을 위한 동작 순서를 기술한 문서
- 테스트 스크립트 또는 수동 테스트 스크립트로 알려져 있음
테스트 케이스 명세 (Test Case Specification)
- 하나 이상의 테스트 케이스로 구성된 테스트 케이스 집합에 대한 문서
- 테스트 항목을 위해 테스트 케이스의 집합을 명세화한 문서
- 테스트 케이스의 목적, 입력, 테스트 동작, 예상 결과, 실행 사전 조건을 포함
테스트 명세 (Test Specification)
- 테스트 항목에 대한 테스트 디자인, 테스트 케이스, 테스트 스크립트를 포함한 완전한 문서
- 테스트 설계 명세, 테스트 케이스 명세 및 테스트 절차 명세로 구성된 문서
테스트 시나리오
- 상세 테스트 케이스를 위해서 반드시 작성해야 하는 문서로 모든 기능의 '무엇'을 테스트 할지 작성
- 테스트 대상이 무엇이고 어떻게 분석하고 계획을 수립하였으며, 사전조건이 어떻게 구성되어 있고 어떻게 테스트를 수행하였는지에 대한 순서와 스토리가 포함된 구체적인 과정
- 테스트 시나리오는 주로 설계나 개발단계에서 개발자나 테스터가 작성
상위 레벨 시나리오: 로그인 기능
하위 레벨 시나리오:
- 시스템이 실행되는지 확인
- 로그인 페이지 텍스트 컨텐츠 확인
- 아이디 입력란 확인
- 패스워드 입력란 확인
- 로그인/취소 버튼 기능 확인
테스트 케이스
- 특별한 목표 또는 테스트 컨디션을 기반으로 개발된 사전조건, 입력값, 행동, 기대결과, 사후 조건의 집합
- 특별한 목표와 테스트 컨디션은 특정 프로그램 경로를 실행하거나 지정된 요구사항을 준수하는지 검증하는 것
- "무엇을 테스트할 것인가"
- 시스템이 올바르게 작동하고 높은 수준의 품질로 구축되었는지 확인하기 위해 검증해야하는 사항 정의
- 테스트 대상으로부터 결함을 찾기 위해 동적 테스트 수행 방안에 대한 설계 내용이 들어 있는 문서
- 주로 개발이나 테스팅 단계에서 테스터가 작성
- 각 테스트 시나리오에 속하는 모든 기능을 테스트 시나리오 별로 나누어 '어떻게' 테스트할 지 상세히 기록
- 구성 요소: ID, 사전조건, 테스트 수행 절차, 기대 결과, 구분, 추적성, 중요도, Pass/Fail, 비고
예) 테스트 케이스: 브라우저 테스트 (로그인 스크립트를 3개의 다른 브라우저에서 테스트)
- 시나리오 1: Firefox, 로그인 테스트 스트립트
- 시나리오 2: Chrome, 로그인 테스트 스트립트
- 시나리오 3: Safari, 로그인 테스트 스트립트
각 기능이 어떻게 구동하는지에 대한 '테스트 절차'가 포함될 수 있음
Jira(이슈&프로젝트 트래킹 소프트웨어)를 사용하여 티켓으로 테스트케이스를 대체할 수 있음
테스트 스크립트
- 테스트 실행을 위한 일련의 지시사항
- 테스트 케이스를 구현하기 위한 지시사항을 포함하는 수동 또는 자동 스크립트
- 각 테스트 케이스에는 일반적으로 테스트 스크립트가 존재
- 하나의 테스트 케이스에 하나 이상의 테스크 스크립트가 포함될 수 있음
- 테스트 절차 스펙을 지칭하며, 특히 자동화된 것을 의미
- 테스트 케이스에 자동화 기능성 테스트 스크립트, 성능 테스트 스크립트, 보안 테스트 스크립트 등과 연결 가능
테스트 케이스 테스트 스크립트 테스트하는데 사용되는 단계별 절차 자동으로 테스트를 하기 위한 일련의 지침 수동 테스트 환경에 사용 자동화 테스트 환경에서 사용 수동으로 수행 스크립팅 포맷에 따라 수행 테스트 ID, 데이터, 절차, 실제 및 예상 결과 등이 포함 다른 Commands을 사용하여 스크립트 개발 가능
테스트 절차 (Test Procedure)
- 실행 순서로 나열된 테스트 케이스 순서
- 초기 사전조건을 설정하는데 필요한 모든 관련 동작과 실행 이후의 모든 마무리 활동까지 포함
- 테스트를 수행할 때 따라야 할 순서
- 테스트 케이스와 테스트 스위트를 테스트 시나리오에 맞게 동작하도록 만들어 놓은 스크립트
테스트 스위트 (Test Suite)
- 특정 테스트 주기에서 실행해야 하는 테스트 케이스(또는 테스트 스크립트)의 집합이나 테스트 절차
- 테스트 실행 목적에 따라 그룹화된 테스트 케이스의 집합
- 실행 환경에 따라 구분해 놓은 테스트 케이스의 집합
- 각 테스트 케이스가 시나리오를 포함하고 있는 경우에 테스트 스위트를 이용한다
- 테스트 스위트 내 하나의 테스트 케이스가 성공적으로 끝나야 다음 테스트 케이스로 넘어간다
- 테스트 스위트가 유용하게 쓰이는 테스트 유형 = 빌드 검증 테스트, 스모크 테스트, E2E 테스트, 기능성 검증 테스트, 리그레션 테스트
- 자동화 리그레션 테스트 케이스 집합 또는 end-to-end 시나리오로 구성된 테스트 케이스 집합을 연속적으로 실행 가능
예) 테스트 스위트 (각 테스트 케이스는 테스트 스크립트를 포함)
- 테스트 케이스 1: 로그인
- 테스트 케이스 2: 새로운 제품 추가
- 테스트 케이스 3: 체크아웃
- 테스트 케이스 4: 로그아웃
테스트 스크립트 < 테스트 케이스 < 테스트 스위트