제 10장 명세 기반 테스트
= 블랙박스 테스트
내부 논리구조 참조 안함(코드 안뜯어봄)
기술된 명세, 설계 정보 등을 이용함.
명세 정보 얻을 수 있는 한 제한 없이
모든 테스트 전 과정 가능(컴통시인)
- 동등 분할(Equivalence Partitioning)
- 경곗값 분석
- 조합 테스트
- 결정표 테스트
- 상태 전이 테스트
1. 동등 분할
*Equivalence Partitioning
: 효과적으로 테스트 케이스의 개수를 줄이는 소프트웨어 테스팅의 근간의 방법
프로그램 입력이나 출력영역을 몇 개 영역(동등클래스)으로 분할하여,
각 클래스에서 하나의 값을 선택하여 테스트케이스로 이용 → 입력/출력이 분할되어 나온 클래스들이 테스트 케이스에 최소한 한 번은 포함
- 동등클래스들은 서로 공통된 값이 없어야 한다.
- 유효한 입력 및 출력 뿐 아니라, 유효하지 않은 입력 및 출력(전혀 기대하지 않은 입력값)도 고려해야 한다.
1-1. One-to-One 동등 분할
- 입 출력 영역을 분할한 클래스들과 테스트 케이스 간 1:1 관계를 명시적으로 보여준다.
1-2. 최소화 동등 분할
- 하나의 TC와 하나의 분할 된 클래스를 명시적으로 연결한 one to one 방식과는 다르다
- 이 방법은 하나의 TC에 여러 개의 클래스가 포함되도록 한다.
유효하지 못한 TC는 one to one 방식으로 하고
유효한 것은 최소화 동등 방식으로 하는 것도
고려 해볼 만 하다.
1-3. 분류트리 범위 X
2. 경곗값 분석
: 입력영역 경계 근처에 있는 값들을 테스트케이스로 이용
- 동등 분할 처럼 입출력 영역을 여러 클래스로 분할 → 그러나 임의의 값이 아닌 클래스의 경계, 경계 근처의 값을 사용한다
* Exercise 05번 문제 참고
3. 조합 테스트
: 동등분할이나 BVA 등의 방법으로 입력 인자를 여러 클래스(또는 값)로 분할하였을 때 이들을 조합하여 테스트케이스를 구성
3-1. Each choice 테스트
: 각 입력인자의 분할된 클래스에서 최소한 하나의 입력값이 테스트케이스에 포함
- 모든 입력에 대해 존재할 수 있는 모든 상호작용이 아닌, 모든 두개의 입력 간에 가능한 모든 상호작용만을 고려
3-2. 페어와이즈 테스트
: 각 인자의 값(클래스)과 다른 인자의 값(클래스)을 최소한 한번은 조합
- 가능한 모든 입력값들의 조합으로 테스트하는 것은 불가능하므로 모든 짝의 조합을 테스트하는 기법이다.
- 242p. 08 문제 (틀린 것 고르시오)
3-3. Base choice 테스트
: 기반이 되는 테스트 조합을 미리 선정하고,
기반 테스트에서 하나의 인자에만 변경을 주어(나머지는 기반 테스트의 값으로 고정) 테스트케이스를 생성
3-4. all combinations 테스트
: 모든 입력인자의 모든 가능한 클래스 조합이 테스트케이스에 포함
3-4. 결정표(결정 테이블)테스트
: 결정표를 이용하여 TC 설계
- 결정표: 모든 조건과 조건들의 모든 가능한 조합에 취해야할 행위를 열거한 표
243p.09
242p.08
문제 확인 할 것
4. 상태 전이 테스트
: 시스템을 상태전이도로 모델링한 후 테스트케이스들을 상태전이도에서 체계적으로 선정
상태 전이 테스트(상태 의존적) ↔ 결정표 테스트(비의존)
4-1. 상태테스트
- : 상태전이도의 모든 상태를 최소한 한번 방문→ 상태 방문
4-2. 단일전이테스트 (0-switch 테스트)
- : 상태전이도의 모든 유효한 전이들을 최소한 한번 방문
4-3. all transition 테스트
- 유효한 전이(0-switch 테스트)를 포함하여 유효하지 않은 전이들도 최소한 한번 방문
4-4. 다중전이테스트 (N-switch 테스트)
- 상태전이도의 N+1개의 전이 시퀀스들을 최소한 한번 방문
제 11장 테스트 프로세스 개요
테스트 프로세스
큰 규모와 복잡성을 갖는 SW에게 효과적인 테스트 프로세스가 필요하다. 적절히 명세기반, 구조기반, 컴포넌트? 통합? 결정해야 한다.
보통 전체 개발 비용 중 30~50% 은 테스트가 차지한다.
Exercise 문제 옳은 것
- 시간과 비용은 아껴야 한다.
- 테스트 프로세스와 개발 프로세스는 함께 한다.
- 테스트 프로세스 = 지속적 개선 필요
조직 테스트 프로세스 [범위 X]
테스트 관리 프로세스 3가지*
- 테스트 계획
T 대상 범위 식별, 조직 테스트 프로세스로 전략 수립 - 테스트 모니터링 및 제어
동적 테스트 프로세스의 수행 모니터링하고 필요 시 테스트 활동 제어 - 테스트 종료
테스트 종료 후 생성된 산출물 관리, 테스트 환경 정리 및 종료 보고
테스트 관리 프로세스
테스트 계획 → 테스트 모니터링 및 제어 → 테스트 종료
테스트 관리 프로세스와 다른, 동적 테스트 프로세스
테스트 설계 및 구현 → 테스트 환경 구축 및 관리 → 테스트 실행 → 결함 보고
동적 테스트 프로세스
- 테스트 계획서에 따라 동적 테스트를 수행하기 위한 활동으로 구성
- 설계 및 구현 활동 수행, 테스트 환경 구축, 테스트 실행, 검출된 결함 등록, 관리
- 테스트 설계 명세서, 테스트 케이스 명세서, 테스트 절차 명세서, 환경 요건 명세서, 데이터 요건 명세서 작성, 테스트 환경 관리 보고서, 테스트 데이터 준비 보고서, 테스트 실행 로그 및 결함 보고서, 결함 추적 보고서 작성
1. 테스트 설계 및 구현 → 2. 테스트 환경 구축 및 관리 → 3. 테스트 실행 → 4. 결함 보고
1. 테스트 설계 및 구현
: 테스트 계획에서 식별된 테스트 범위와 전략에 따라 테스트 케이스 절차 등 개발
2. 테스트 환경 구축 및 관리
: 테스트 실행을 위한 테스트 환경과 테스트 데이터를 준비
3. 테스트 실행
: 테스트 절차를 실행, 결과를 기록
4. 결함 보고
: 실행 결과에 대한 분석으로 결함을 식별하고 기록
다음 중 동적 테스트 프로세스를 구성하는 활동으로 올바르지 않은 것은? 301.p Exercise
- 테스트 설계 및 구현 2. 테스트 환경 구축 및 관리 3. 테스트 실행 4. 테스트 모니터링 및 제어
테스트 산출물
* 그냥 내 방식대로 플로우 정리
조직 테스트 프로세스 아래
테스트 관리 프로세스가 있다.
테스트 관리 프로세스 안에 동적 테스트 프로세스가 있다.
테스트 관리 프로세스는 동적 테스트 프로세스를 활용, 모니터링하고 제어하고 종료한다.
제 12장 테스트 계획
테스트 컨텍스트(context) 명세
: 테스트 전략 수립 전 테스트 수행의 배경 요소를 식별하고 명세한다.
- 테스트 계획 유형 : 테스트 계획서대로 테스트 계획의 유형 작성
- 테스트 대상 : 테스트로 결함 검출, 품질 평가하고자 하는 대상, 명확하게 기술한다. (대상의 이름, 버전, 접근할 수 있는 위치 명시)
- 테스트 범위 : 테스트 대상의 기능/비기능 등의 특성, 테스트하고자 하는 피처 나열
- 가정 및 제약 사항 : 테스트에 반드시 고려하고 준수해야 하는 표준, 정책, 전략, 일정, 비용, 인력 등 기술
- 이해관계자 : 개발팀, 마케팅팀 등 테스트 관련 이해관계자 식별, 의사소통 방법 정의
📌 *컨텍스트 : 상황, 맥락, 문맥상의 컴퓨팅에서는 문맥 및 상황에 따라 이해되는 한 차원 높은 공간, 영역
*텍스트는 그냥 단순 단어, 정보
1. 테스트 계획 유형
프로젝트 테스트 계획
: 테스트 대상에 대한 전체 개별 테스트를 포함하는 종합적인 계획
개별 테스트 계획 - 레벨 테스트 계획
: 컴포넌트/통합/시스템/인수 레벨 테스트(컴통시인)의 수행에 대한 계획
개별 테스트 계획 - 유형 테스트 계획
: 기능 및 품질(성능, 신뢰성, 보안 등) 등 유형 테스트의 수행에 대한 계획
2. 테스트 대상
컴포넌트 테스트
: 시스템을 구성하는 서브 시스템, 컴포넌트, 클래스, 함수 등의 개별적인 요소
통합 테스트
: 시스템을 구성하는 각 요소 간의 연결 (서브 시스템 간, 컴포넌트 간, 클래스 간, 함수 간의 연결 등)
시스템, 인수 테스트
: 시스템 전체
Q. 다음중 테스트 계획서에 포함되지 않는 항목은? 347 P.
테스트 계획서 : 테스트 컨텍스트, 위험 분석, 테스트 전략, 테스트 수행 계획
오답 : 피처 집합 별 피처 목록 → 이것은 13장 테스트 설계 및 구현에 해당한다
Q. 다음 중 T 계획 수립할 때 테스트 컨텍스트를 설정하는 과정에 해당하지 않는 것은?
- 테스트 대상에 대한 테스트 완료 여부 결정하는 기준 정함
- 테스트 대상 및 범위 바탕으로 어떤 개별 테스트 수행할지 결정
- 테스트 대상의 미션 또는 미즈니스 목표 등 기술
- 각 테스트 레벨별로 초점을 두는 테스트 범위 다를 수 있음
1.번은 테스트 전략에 해당함
테스트 컨텍스트 : 구체적 테스트 전략 수립 전 테스트 수행의 배경 요소를 식별하고 명세한다.
완료 여부는, 테스트 컨텍스트 이후에 전략 수립할 때 정한다!
2. 위험 분석 [시험 범위 X]
: 위험요소를 식별하고, 분석하여 조치 계획을 수립 / 프로젝트, 제품 위험 관련한 것
3. 테스트 전략 수립
: 테스트를 효과적이고 효율적으로 수행하기 위한 다양한 전략을 결정
간단요약
- 개별 테스트: 프로젝트 테스트를 구성하는 개별 테스트
- 테스트 산출물
- 테스트 설계기법
- 테스트 환경요건: 테스트 실행을 위한 테스트 환경요소
- 테스트 데이터 요건: 테스트 실행 시 필요한 테스트 데이터
- 재테스팅 및 리그레션 테스팅: 재테스팅 및 리그레션 테스팅 방법
- 테스팅 중단 및 재시작 조건
- 테스트 메트릭: 테스트를 수행하면서 측정할 메트릭을 결정. (메트릭은 테스트 활동 수행과 결과를 정량적으로 판단하는데 사용)
- 테스트 완료 기준: 테스트 완료 여부를 판단할 기준 (충분한 테스트를 수행하였다고 판단할 수 있는 기준)
- 조직테스트 전략과의 차이점
각 항목 설명
https://snnchallenge.tistory.com/384
[CSTS 요약정리] 3. 테스트 프로세스
테스트 프로세스 개요 3문제 테스트 프로세스 테스트 관리 프로세스 조직 테스트 프로세스를 기반으로 테스트 프로젝트의 수행을 관리하기 위한 프로세스 테스트 수행 계획을 수립하고 계획에
snnchallenge.tistory.com
이 분 블로그를 참고하면 좋을 것 같습니다.
- 컴포넌트의 테스트 완료 기준(느낌 외우기)
- 테스트 케이스(테스트 절차) 기반 기준: 90%의 TC가 통과, -TCS-10번과 TCS-20번 TC가 통과
- 테스트 커버리지 기반 기준: 95%의 문장 커버리지가 충족
- 결함 기반 기준: 2개이하의 결함만 허용,
- 심각한 결함이 존재하지 않아야 함 | | 10. 조직 테스트 전략과의 차이점 | 조직 테스트 전략과의 차이점과 근거 기술 |
Q. 다음 중 테스트 전략을 수립할 때 고려할 사항이 아닌 것은? 346.P
위험분석은 테스트 전략에 해당하지 않는다.** 4) 테스트 프로젝트에서 발생할 수 있는 위험을 식별하고 적절한 대처 방안…. X
테스트 수행 계획 수립 [범위 X]
- 테스트 조직/인력 및 역할
- 테스트 활동 및 일정
- 의사소통
https://im-gu-ma.tistory.com/146
[CSTS] PART 03. 테스트 프로세스
11장 테스트 프로세스 개요테스트 프로세스 필요성소프트웨어 품질 목표 달성에 프로세스가 중요한 역할을 함효율적이고 효과적인 테스트 수행을 위한 관리의 중요성이 부각 됨주어진 시간과
im-gu-ma.tistory.com
나머지 범위는 이 분 블로그가 잘 되어있는 것 같아서 참고 하였습니다.
예쁘게 새로 그림을 직접 만드신 것 같습니다... 굿굿...!!
그럼 건승하시길
파이팅!