JIMINOTE

ISTQB-CTAL-TA 요약 (1 ~ 3장) 본문

WORK_QA/QA 프로세스

ISTQB-CTAL-TA 요약 (1 ~ 3장)

김짐인 2025. 3. 1. 17:57

테스트 프로세스 중 CTAL-TA(Test   Analyst) 의 활동

테스트 계획

테스트 모니터링 및 제어

테스트 분석

테스트 설계

테스트 구현

테스트 실행

테스트 완료

 

모델별 테스트 프로세스

1) 순차적 V모델

- 시스템 테스트 분석 및 설계는 시스템 및 아키텍처(상위수준) 설계 명세, 컴포넌트(하위수준) 설계 명세 등 명세(문서)에 맞춰 조정할 수 있어야함

- 시스템 테스트 환경의 대부분은 일반적으로 코딩 및 컴포넌트 테스트와 동시에 시작되지만, 환경 구현은 시스템 설계 중 시작할 수 있음

- 시스템 테스트 시작 기준이 충족되면 시스템 테스트 실행이 시작, 최소한 단/통 테스트의 종료기준이 충족되었음을 의미

 

2) 반복적 점진적 모델

- 활동순서를 따르지 않을 수 있음 - 일부활동 제외될수도

- 상위 수준의 계획 수립

- 각 반복에서 분석/설계/구현/실행 수행 -> 최종적으로 완료작업 수행

 

3) 애자일SW

- 변화에 쉽게 대응할 수 있도록 덜 공식화된 프로세스를 적용

- 잘 정의된 테스트 분석가 역할이 존재하지 않을 수 있음

- 포괄적인 테스트 문서가 적고 의사소통은 더 짧고 빈번

- 개발부터 테스팅을 포함 - 제품 개발과 함께 시작됨


테스트 분석

테스트 분석 - 테스트 분석가의 역할

- 테스트 베이시스 분석

- 테스트 베이시스에서 다양한 유형의 결함 식별

- 테스트 컨디션과 테스트 대상 기능을 정하고 우선순위화

- 테스트베이시스 각 요소와 관련된 테스트 컨디션 간의 양방향 추적성 설정

- 리스크 기반 테스팅과 관련된 작업 수행

 

시작조건

- 테스트 베이시스 역할을 할수 있는 지식체계가 있어야함 (요구사항, 사용자스토리)

- 베이시스는 결과와 함께 리뷰를 통과하고 리뷰 후 필요에 따라 업데이트 되어야함

 

고려사항

- 여러단계로 테스트 컨디션 정의하는 것이 좋음

 - 상위수준 먼저 식별 후 상세조건 식별

- 제품 리스크가 정의된 경우 각 제품 리스크를 해결하는데 필요한 테스트 컨디션 식별 및 해당 리스크 항목을 추적


테스트 설계

테스트 설계 - 테스트 분석가의 역할

- 하위수준/상위수준 테스트 케이스의 적용이 적합한 테스트 영역 결정

- 커버리지 달성 위한 테스트 기법 결정 (적용가능한 기법은 계획때 확립함)

- 테스트 케이스와 테스트 케이스 세트를 설계 기법으로 설계

- 테스트 데이터 식별

- 환경 설계 및 필요 인프라, 도구 식별

- 테스트 베이시스/테스트 컨디션/테스트케이스 간 양방향 추적성 설정

 

참고

리스크 분석 및 우선순위 기준은 분석/설계에서 구현/실행 => 프로세스 전체에 적용해야함

 

고려사항

- 합격/불합격 기준을 명확히 식별

- 테스트는 저자(리포터) 뿐만 아니라 다른 테스터가 이해할 수 있도록 설계되야함

 - 감사자와 다른 이해관계자도 이해해야함


테스트 케이스 설계

- 목적

- 사전조건

- 입력데이터/테스트케이스 실행을 위해 시스템에 존재해야하는 데이터

- 합격/불합격 기준의 예상결과

- 후속처리를 위한 사후조건

- 테스트 오라클(테스트 결과가 올바른지 판단하기 위해 사전에 정의된 참값을 대입하여 비교하는 기법)이 필수적

- 테스트 설계 중 상세한 테스트 인프라 요구사항을 정의해야함

 - 테스트 인프라에는 테스트 대상, 장비, 인력, 소프트웨어, 도구, 주변 장치, 통신 장비, 사용자 권한 부여 등 모든 항목이 포함될수 있음


테스트 구현

- 테스트 실행에 필요한 테스트웨어를 준비

- 테스트 프로시저 개발, 자동화된 테스트 스크립트 작성 필요

- 목적에 맞는 테스트 활동이 필수적

 

 

테스트 구현 - 테스트 분석가 역할

- 1. 테스트 케이스의 효율적인 실행 순서 식별

- 2. 테스트 프로시저 작성

- 그룹화 할 수 있는 테스트 케이스와 테스트 스크립트 식별하여 테스트 스위트 구성

- 테스트 환경의 생성과 유지보수 담당자가 있고, 모든 테스트웨어와 지원도구 및 프로세스가 가용한지 확인 필요

 - 형상관리, 결함관리, 테스트 로깅 관리가 포함

- 균형잡힌 접근법 적용 필요 - ex> 리스크 기반 분석 테스트 전략 + 반응형 테스트 전략 함께 적용

- 스크립팅 되지 않은 테스트는 목적없이 수행되지 않아야함

- 탐색적 테스트 같은 경험 기반 테스트 기법은 주로 테스트 실행중에 이루어짐 (아래 나옴)


테스트 실행

테스트 실행 - 테스터나 테스트 분석가 수행

- 탐색적 테스팅을 포함수동 테스트 실행

- 자동화 테스트 실행

- 실제/예상 결과 비교

- 이상현상에 대한 원인 분석

- 결함보고 및 결과 기록

- 추적성 업데이트

- 리그레션 테스트 실행 

 

테스트 실행 - 테스트 분석가 추가 작업

- 결함 클러스터 인식

- 향후 탐색적 테스팅 세션에 대한 제안

- 새로운 리스크 식별

- 산출물 개선을 위한 제안 - ex> 테스트 프로시저 개선

 


리스크 식별

- 도메인 전문가와 사용자와의 전문가 인터뷰 수행

- 독립적인 평가 수행

- 리스크 템플릿 사용

- 리스크 워크샵 참여

- 잠재적인 사용자나 현재사용자와 브레인 스토밍 세션 참여

- 테스트 체크리스트 정의

- 유사 시스템이나 프로젝트에 대한 과거 경험 요청

 

식별가능한 리스크 예제>

- 기능 정확성 문제

- 사용성 문제

- 이식성 문제


 

리스크 평가 - 비지니스 리스크에 영향을 미치는 요소

- 영향받는 기능의 사용 빈도

- 비지니스적 손실

- 재정적 피해

- 생태적, 사회적 손실 혹은 책임

- 민사/형사법 제재

- 안전성 문제

- 벌금, 면허 취소

- 합리적인 해결방법 부족

- 기능의 가시성

- 장애의 가시성 (가시성: 눈에 띄는 정도)

- 고객 손실

 

비지니스 리스크 수준을 결정함

- 순위 척도 (1. 숫자, 2. 낮음/중간/높음 , 3. 신호등 색상 등)로 구별

 


리스크 완화

- 테스트 데이터 수집

- 사용자 시나리오 작성

- 사용성 조사 수행

 

1) 테스트 우선순위화

- 프로토타입 기반으로 초기 사용성 테스트 우선순위 지정하여 인수테스트 전 사용성 디자인 문제 식별

- 깊이우선/넓이우선 중 선택

 

2) 향후 테스트 주기를 위한 테스트 조정

- 리스크 평가는 지속적인 과정임

- 아래 항목들을 고려하여 새로운 리스크 분석 수행해야함

  - 새롭거나 크게 변경된 제품 리스크

  - 테스트 중 불안정하거나 고장이 발생하기 쉬운 영역

  - 수정된 결함으로 인한 리스크

  - 테스트 중에 발견되는 일반적인 결함

  - 테스트가 부족한 영역 (낮은 요구사항 커버리지)


테스트 기법

- 상호보완적

- 테스트 레벨에 관계없음

 

블랙박스 테스트 기법

- 테스트 설계 중에 작성

- 테스트 컨디션을 체계적으로 도출

- 특정 형식의 명세서를 기반으로 함 (ex> 사용자스토리)

- 시스템 동작을 테스팅함

- 구형시스템의 경우 암묵적 요구사항이 있을 수 있음

 

1) 동등 분할

1. 적용성(= 적응성)

- 모든 테스트 레벨에 적용할 수 있음

 

2. 한계/어려움

- 분할값이 정확한 방식으로 처리되어야함

- 종속성 고려해야함 (ex> 항공 예약시스템에서 성인동반 => 파라미터는 어린이 연령 클래스와 조합으로만 사용가능)

 

3. 커버리지

- 단일 분할에 여러 값을 사용하더라도 커버리지 비율은 증가하지 않음

- 유효하든 유효하지 않든 각 동등 분할을 최소 한번은 다루어야함

- 파라미터가 두 개 이상인 경우 -> 리스크에 따라 단순/조합 커버리지 유형 선택 필요

 - 유효한 분할만 가지는 조합, 하나 이상의 유효하지 않은 분할을 포함하는 조합을 구별하는것이 중요

- 테스트 케이스 최소 수 : 파라미터가 서로 독립적이라고 가정할때 파라미터의 유효 분할의 최대수와 동일

- 강력한 유형: 페어와이즈 커버리지, 유효한 분할 결합

 

2) 경계값 분석

 

3) 결정 테이블 테스팅

- 일련의 조건과 관련된 동작을 표 형식으로 표현한 것

- 행 상단 : 조건, 하단 : 동작

 

3-1) 축소형 결정 테이블

1. 적용성

- 합, 스템, 수테스트 레벨에 적용

- 컴포넌트가 결정 논리 집합으로 표현되는 경우에는 단위 테스트에도 적용할 수 있음

- 테스트 설계 전에 결정테이블 검토하고 분석하는데 참여해야함

 

2. 한계/어려움

- 조건의 조합을 고려할 때, 모든 상호작용 조건을 찾는데에 어려움

- 조합 수가 관리가능한 상태로 유지되도록 주의해야함

 

3. 커버리지

- 결정 테이블의 각 규칙을 하나의 테스트 케이스로 다루는 것

- 테스트 스위트에서 다루는 규칙 수  / 실행 가능한 전체 규칙 수

 

4. 결함의 종류

- 동작의 누락, 모순

 

4) 상태 전이 테스팅

1.적용성

- 화면 변경 등 상태 간의 전이를 일으키는 이벤트

 

2. 커버리지

- 다른 전이를 한번에 실행시키기 위해 일부전이는 한번 이상 통과해야 할 수도 있음

- 라운드 트립 커버리지는 순환 고리(루프)를 만드는 경우 적용

- 특정 상태를 두번 이상 포함할 수 없다 (초기/마지막 상태 제외)

 

3. 결함의 종류

- 잘못된 이벤트 유형 또는 값

- 잘못된 동작 유형

- 잘못된 초기 상태

- 필요한 상태로 진입할 수 없음

- 일부 종료 상태에 도달할 수 없음

 

5) 분류 트리 기법

- ex> 페어와이즈, 쓰리와이즈, 싱글와이즈 조합, + 동등분할, 경계값 분석

- 구조:  분류 - 클래스 조합

 

6) 페어와이즈 테스팅

 

 

7) 유스케이스 테스팅

- 스템, 수테스트에 적용

- 성능테스트의 기초가 됨

- 실제 부하를 생성하기 위해 행동을 가상 사용자에게 할당 가능

- 커버리지를 철저히 준수하려면 예외, 대체, 오류처리에 대한 정확한 정의 필요

 

커버리지

- 최소 허용가능한 커버리지는 기본 동작에 대한 하나의 테스트케이스와 각 대체 추가 케이스를 작성하는 것


 

경험 기반 테스트 기법

 

1) 오류추정

- 잠재적 오류를 경험을 사용해 추측

 

적용성

- 주로 합, 스템에서 사용하지만 모든 테스트 레벨에서 사용가능

- 문서화 되지 않는 경우가 많으므로 재현성이 떨어짐

- 테스트 케이스는 문서화되나, 저자가 이해하고 재현할 수 있는 방법으로만 문서화됨

 

 

2) 체크리스트 기반 테스팅

- 일반화된 항목의 목록 또는 테스트 대상을 검증해야하는 일련의 규칙이나 기준을 사용

 - 일련의 표준/경험/기타 고려사항을 기반으로 작성

- 애자일 소프트웨어 개발에서는 사용자 스토리에 대한 인수 기준에서 체크리스트를 작성할 수 있음

 

1. 적용성

- 체크리스트는 상위 수준이며, 테스트케이스와 테스트 프로시저에서의 세부단계가 부족한 경항이 있으므로, 테스터의 지식이 중요

- 세부 단계를 제거함으로써, 체크리스트는 유지보수 수준이 낮아짐

- 체크리스트는 소프트웨어가 빠르게 출시되고 변경되는 프로젝트에 적합함

 

2. 한계/어려움

- 재현성에 영향을 줄 수 있음

- 유지보수 수준이 낮으므로 테스트 중인 소프트웨어의 중요한 부분을 커버하는지 검증이 필요

 

3) 탐색적 테스팅

 

1. 적용성

- 상호작용적이며 창의적임

 

2. 한계/어려움

- 커버리지 측정을 제공하지 않음 (테스트 차터 설계)

- 테스트 차터를 이용함

- 테스트 관리자는 디브리핑 세션을 개최에 결과를 수집함

- 테스트 관리 시스템에서 세션을 정확하게 추적하는 것이 어려움

- 재현성 달성 어려움 -> 녹화/재생 기능 필요시 사용하여 기록

- 장애의 실제 원인을 찾기 위해 최소한 관련된 모든 단계에 대한 기록이 있어야함 (예상결과 기록, 메모)

 

3. 결함의 종류

- 기능 적합성 테스팅 중 누락된 시나리오 기반 문제, 기능적 경계사이에 속하는 문제, 워크플로우 관련 문제

- 성능 및 보안 문제

 

4) 결함 기반 테스트 기법

- 이전에 찾은 결함 유형을 테스트 설계의 베이시스로 사용하는 방법 (결함 목록 기반)

 

1. 적용성

- 시스템 테스팅 중 일반적으로 적용됨

'WORK_QA > QA 프로세스' 카테고리의 다른 글

ISTQB-CTAL-TA 요약 (4 ~ 6장)  (1) 2025.03.05
테스트 계획 수립 시 고려사항  (0) 2022.08.28