반응형

리스크 기반 테스트

 

리스크 기반 테스트 정의

 

리스크 기반 테스트랑 위험을 정량적으로 측정하여 순위가 높은 부분에 주어진 테스팅 자원을 집중하여 전체적인 리스크를 줄이기 위한 테스트 전략이다.

 

위험을 정량화 하기 위해서는 수치화를 해야하며, 그에 대한 기준으로 발생 가능성, 영향도에 따른 차별화된 매트릭스를 결정한다.

 

매트릭스를 통해 영향도를 가시화하고 수치화가 가능하다.

 

테스트를 수행하는데 있어 자원은 한정되어 있기 때문에 우선순위를 정하고 리스크가 높은 부분에 집중적으로 자원으로 투입하는 방식이다.

 

 

리스크 기반 테스트 설명

리스크 기반 테스트

위 그림과 같이 기술적 리스크과 사업적 리스크를 나누고 리스크가 높을 수록 각각의 항목을 지정한다.

 

리스크 레벨은 아래와 같다.

 

STA(Severe Test Area)는 1순위로 우선순위를 두며, 모든 가능한 테스트 케이스를 테스트 수행한다. 또한 workaround를 가장 낮게 잡고 해당 기준치를 통과해야 테스트에 통과할 수 있게 설정한다.

유즈케이스 테스팅, MC/DC, 페어와이즈, 경계값 분석 등의 모든 테스트 기법을 동원하여 많은 자원을 투입한다.

 

 

STTA(Strong Test Area)는 2순위로 우선순위를 두며 모든 가능한 테스트 케이스를 수행한다. 다만 1순위와 다른 점은 workaround 를 1순위와는 다르게 조금더 높게 지정한다.

모든 테스트 케이스를 수행하는 점에서 1순위와는 동일하지만 workaround에서 차이가 발생한다.

 

ITA(Intensive Test Area)는 3순위 이며 전체 테스트 케이스가 아닌 80~90% 또는 테스트 환경이나 인력의 구성에 맞게 조정한다.

정확히 어느 부분까지 테스트를 해야 한다라는 내용은 정해져 있지 않으며 프로젝트 관리 측면에서 상황에 맞게 테스트 범위를 지정하면 될것이다.

 

FTA(Fundamental Test Area)는 마지막 순위이며 테스크 케이스의 범위는 최대한 낮춰 진행한다. 네가지 유형 중에서 가장 리스크가 없다고 판단 된다고 생각하는 기능에 대해 해당 레벨을 지정한다.

 

 

리스크 기반 테스트를 사용하는 현실적인 방안

 

실제 프로젝트를 진행하다 보면 오류가 발생되면 조직에 치명적인 손해나 업무 차질이 발생하는 기능들이 있다.

온라인 마켓 같은 경우는 결제 관련 모듈이 그럴것이며, 내부 ERP 시스템의 경우에는 결산이나 마감 같은 기능들이 그럴것이다.

 

이럴때는 핵심 업무 프로세스를 기반으로 우선순위를 산정하여 진행하는 것도 하나의 방안이 될것이다. 프로젝트 매니저를 중심으로 팀원간의 테스트 시나리오를 정의할때 여러가지 아이디어를 통해 도출하는 방법이 좋다.

 

프로젝트의 상황이나 환경이 다르기 때문에 정형화된 테스트 기법을 적용하기 보다는 프로젝트 환경에 맞게 맞춰 테스트를 진행하는게 효율적인 테스트 기법이 될것이다.

반응형

'IT지식 > 소프트웨어공학' 카테고리의 다른 글

회귀테스트(Regression Test)  (0) 2023.08.07
화이트 박스 테스트, 블랙 박스 테스트  (0) 2023.08.07
테스트 유형  (0) 2023.08.07
Record&Replay  (0) 2023.08.04
테스트 하네스  (0) 2023.07.04
반응형

회귀테스트(Regression Test)

 

*목차

1. 회귀테스트 정의 및 주요 수행 전략

 가. 회귀테스트 정의

 나. 회귀테스트 주요 수행 전략

2. 회귀테스트 개념도 및 상세설명

 가. 회귀테스트 개념도

 나. 회귀테스트 상세설명

3. 효과적인 회귀테스트를 위한 고려 사항

 

 

* 내용

1. 회귀테스트 정의 및 주요 수행 전략

 가. 회귀테스트 정의

 - 기존 오류 제거 및 수정에 따른 새로운 오류 발생여부를 확인하기 위해 수행하는 반복 테스트 기법

 나. 회귀테스트 주요 수행 전략

수행전략 설명
 범위와 수정 정의 - 회귀 테스트가 많이 할수록 자원 및 비용의 낭비가 심함
단계별 회귀테스트 수행 - 단위, 통합/시스템 테스트 단계
Test Case 결함 내성 극복 - 다양한 관점에서 Test Case 설계 필요, 크라우드 소싱 테스트, 블라인드 테스트 등

2. 회귀테스트 개념도 및 상세설명

 가. 회귀테스트 개념도

회귀테스트 개념도
회귀테스트 개념도

 나. 회귀테스트 상세설명

구분 기법 설명
유형 측면 Retest All - 기 축척 테스트케이스 및 데이터 전부 사용, Coverage 및 완전성 향상/비용과다/금융 및 대고객 등의 고위험 시스템
Selective - 변경대상 위주로 영향범위 결정하여 테스트, 비용대비 효과적/완전성부족/일반 기업시스템
Priority -  시스템 핵심 기능 위주로 우선 순위화하여 테스트, 비용대비 효과적/우선순위 부정확 시 결함발견/위험도 적은 시스템
오류 측면 Side Effect(부작용) - 오류제거 및 수정은 이루어 졌으나 고려하지 못한 다른 결과가 발생하는 현상
Ripple Effect(파급효과)  - 오류 제거 및 수정 부분과 연관된 다른 부분으로 영향이 전파, 변경되는 현상

3. 효과적인 회귀테스트를 위한 고려 사항

구분 고려사항 설명
테스트 전략 Record&Replay - 툴이용 최초 테스트 Recording
- 데이터 변경하며 반복 테스트
테스트 설계 유동적 계획 수립 - 테스트 특성상 가변적 시나리오
- 유동적 TC 신규 작성 계획수립
대상선정 고결합도 부분 집중 - 모듈간 결합도가 높은 부분 집중하여 반복 수행
반복횟수 최소 3회 횟수 지정 - 사전 반복 횟수 기준 마련
- 결함 발생율도 기준에 참고

- 동일한 테스트를 반복 수행해야 하므로 테스트 자동화 툴을 적응 활용하여 테스트 효율성 향상 필요.

반응형

'IT지식 > 소프트웨어공학' 카테고리의 다른 글

리스크 기반 테스트  (0) 2023.08.31
화이트 박스 테스트, 블랙 박스 테스트  (0) 2023.08.07
테스트 유형  (0) 2023.08.07
Record&Replay  (0) 2023.08.04
테스트 하네스  (0) 2023.07.04
반응형

화이트 박스 테스트, 블랙 박스 테스트

 

*목차

1. 화이트 박스 테스트 설명

 가. 화이트박스 테스트 정의

 나. 화이트박스 테스트 주요 기법

2. 블랙 박스 테스트 설명

 가. 블랙 박스 테스트 정의

 나. 블랙박스 테스트 주요기법

 

 

*내용

1. 화이트 박스 테스트 설명

 가. 화이트 박스 테스트 정의

 - 소프트웨어 내부 소스코드를 확인하여 수행 테스트 기법

 나. 화이트 박스 테스트 주요 기법

구분 기법 설명
주요기법 측면 제어구조 시험 - 프로그램의 논리적 복잡도를 측정 한 후 이 척도에 따라 수행 시킬 기본 경로들의 집합을 정의함
루프 시험 - 프로그램의 루프구조에 국한해서 실시하는 기법
설계 기법 측면 구문커버리지  - 프로그램 내의 모든 문장들을 한번 이상 수행하도록 테스트 케이스를 설계하는 기법
분기(결정)커버리지  - 프로그램 내의 각 분기들을 한번 이상 수행하도록 테스트 케이스를 설계하는 기법
조건 커버리지  - 프로그램 내의 각 조건들을 보장하기 위해 조건들이 참이 되는 경우와 거짓이 되는 경우를 모두 수행하도록 테스트 케이스를 설계하는 기법
변견조건/결정 커버리지  - 각 개별 조건식이 다른 개별 조건식의 영향을 받지 않고 전체 조건식의 결과에 독립적으로 영향을 주도록 함으로써 Condition / Decision 커버리지를 향상시킨 Test Case 도출 기법

2. 블랙박스 테스트 설명

 가. 블랙박스 테스트 정의

 - 소프트웨어 내부 구조나 작동 원리를 모르는 상태에서 소프트웨어의 동작을 검사하는 테스트 기법

나. 블랙박스 테스트 주요기법

기법 설명
동등분할 - 입력 영역이 특정 관계에 따라 동등한 부집단으로 나뉘어 각 부집단에 대해 시험을 이룸
경계값 분석 - 변수의 입력 영역에 대한 경계 부근에 테스트케이스 지정
의사결정테이블 - 시스템을 개발하는 동안 테스트케이스를 추적하기 위해 사용하고 시스템을 검사하고 유지보수하는 도구
상태 전이 - 시스템에 반영되는 이전의 상태가 무엇인지, 상태간의 전이, 상태를 변화시키는 이벤트와 입력을 파악하기 위한 테스팅
유한상태 기계 기반 - 프로그램을 유한 상태 기계로 모델링하여, 이에 대한 상태와 변이를 다루기 위해 테스트가 선택됨
유즈케이스 테스팅 - 컴포넌트/단위 레벨 유즈케이스 테스팅
페어와이즈 조합 테스팅 - 2개 이상 요소와 상호작용, 최소 한번씩 조합
직교 배열 테스팅 - 페어와이즈 조합테스팅과 유사한 테스팅 기법으로 차이점은 직교 배열의 각 행과 열이 페어와이즈 함

- 블랙박스 테스트는 기능테스트, Data-Driven, I/O-Driven.

- 화이트박스 테스트는 구조테스트, Logic-Driven.

반응형

'IT지식 > 소프트웨어공학' 카테고리의 다른 글

리스크 기반 테스트  (0) 2023.08.31
회귀테스트(Regression Test)  (0) 2023.08.07
테스트 유형  (0) 2023.08.07
Record&Replay  (0) 2023.08.04
테스트 하네스  (0) 2023.07.04
반응형

테스트 유형

 

*목차

1. 테스트 유형 정의

2. 테스트 단계 및 목적 측면에서의 테스트 유형

3. 테스트 기법 및 시각 측면에서의 테스트 유형

 

 

*내용

1. 테스트 유형 정의

 -  노출되지 않은 숨어 있는 결함을 찾기 위해 소프트웨어를 작동시키는 일련의 절차

2. 테스트 단계 및 목적 측면에서의 테스트 유형

구분 유형 설명
테스트 단계 단위테스트 - 모듈의 독립성 평가, White Box 테스트
통합테스트 - 모듈간 인터페이스 테스트(결함테스트)
시스템 테스트 - 전체 시스템의 기능수행 테스트(회복, 안전, 강도, 성능, 구조)
인수테스트 - 사용자 요구사항 만족도 평가(확인, 알파, 베타)
설치테스트 - 사용자 환경
테스트 목적 회복테스트 - Recovery, 고의적 실패 유도
안전테스트 - Security, 불법적인 소프트웨어
강도테스트 - Stress, 과다 정보량 부과
성능테스트 - Performance, 응답시간, 처리량, 속도
구조테스트 - Structure, 내부논리 경로, 복잡도 평가
회귀테스트 - regression, 변경 또는 교정이 새로운 오류를 발생시키지 않음 확인
병행테스트 - 변경시스템과 기존 시스템에 동등한 데이터로 결과 비교

3. 테스트 기법 및 시각 측면에서의 테스트 유형

구분 유형 특징
테스트 기법 화이트박스 테스트 - 프로그램 내부 로직을 보면서 테스트(구조 테스트)
- 구조 : 프로그램의 논리적 복잡도 측정 후 수행 경로들의 집합 정의
- 루프 : 프로그램 루프 구조를 대상
블랙박스 테스트 - 프로그램 외부 명세를 보면서 테스트(기능 테스트)
- 동등분할, 경계값 분석, Cause-Effect 그래프, 오류 예측 기법 등
- Data Driven Test
프로그램 실행여부 동적테스트 - 프로그램 실행을 요구하는 테스트
- 화이트박스, 블랙박스
정적테스트 - 프로그램 실행 없이 구조를 분석하여 논리성 검증
- 코드검사 : 오류유형 체크리스트 및 역할에 의한 공식적인 검사 방법
- 워크스루 : 역할 및 체크리스트가 없는 비공식적 검사방법
테스트에 대한
시각
검증
(Verfication)
- 과정을 테스트, 올바른 제품을 생산하고 있는지 검증
확인
(validation)
- 결과를 테스트, 만들어진 제품이 제대로 동작하는지 확인

- 기능과 성능을 기준으로 기능, 비기능 테스트로 나뉨.

 

반응형

'IT지식 > 소프트웨어공학' 카테고리의 다른 글

회귀테스트(Regression Test)  (0) 2023.08.07
화이트 박스 테스트, 블랙 박스 테스트  (0) 2023.08.07
Record&Replay  (0) 2023.08.04
테스트 하네스  (0) 2023.07.04
테스트 오라클  (0) 2023.07.02
반응형

Record&Replay

 

*목차

1. Record&Replay 정의

2. Record&Replay 구성도 및 수행단계

 가. Record&Replay 구성도

 나. Record&Replay 수행단계

3. Record&Replay 구성요소별 효과

 

 

*내용

1. 이벤트기반 시스템 테스팅 기법, Record&Replay 정의

 - 이벤트 기반 시스템에서 발생하는 각종 이벤트들과 그 발생 시간을 저장하고 저장된 이벤트를 재 실행 시켜서 문제점을 찾아내는 테스팅 기법 

2. Record&Replay 구성도 및 수행단계

 가. Record&Replay 구성도

Record&Replay 구성도
Record&Replay 구성도

 나. Record&Replay 수행단계

구분 단계 설명
사용자 이벤트 녹화
(Record)
기능테스팅 캡쳐시작 - 테스팅 관리자 웹브라우저를 통해 기능 테스팅 캡쳐 시작을 명령.
이벤트 후킹 - 타켓시스템에 설치된 테스트 에이전트가 테스팅 대상 응용프로그램에서 발생되는 이벤트를 가로챔.
이벤트 송신 - 타켓 시스템의 테스트 에이전트는 단말의 통신 인터페이스를 이용하여 테스트 시스템으로 이벤트를 전송.
이벤트 저장 - 테스트 시스템의 캡쳐 모듈을 타켓 시스템의 테스트 에이전트가 송신한 이벤트 메시지를 XML 형태로 변경하여 저장함.
사용자 이벤트 재생
(Replay)
기능 테스팅 재수행 시작 - 테스팅 관리자 웹브라우저를 통해 기능 테스팅 재수행 시작을 명령.
이벤트 검색/변환 - 테스트 시스템의 재수행 모듈은 XML로 저장된 이벤트를 RAW 이벤트로 전환.
이벤트 통신 전송 - 타켓 시스템의 테스트 에이전트에게 RAW 이벤트 메시지를 전송
이벤트 전달 - 타켓 시스템의 테스트 에이전트는 수신한 RAW 이벤트 메시지를 대상 프로그램에 전달.
결과전달 - 타켓 시스템의 테스트 에이전트는 테스팅 결과를 테스트 서버의 결과 처리 모듈에 전달.

3. Record&Replay 구성요소별 효과

구성요소 효과
Recorder - 커버리지 확대
Replayer - 효율성향상
Repository - 테스트자산화
Analysis 결과 공유,신뢰성

- 이벤트 기반의 시스템에서 테스트시 테스트 기법으로 적용 가능.

반응형

'IT지식 > 소프트웨어공학' 카테고리의 다른 글

화이트 박스 테스트, 블랙 박스 테스트  (0) 2023.08.07
테스트 유형  (0) 2023.08.07
테스트 하네스  (0) 2023.07.04
테스트 오라클  (0) 2023.07.02
ISO/IEC 29119  (0) 2023.07.02
반응형

테스트 하네스

 

 

*목차

1. 테스트 하네스 정의

2. 테스트 하네스 구성도 및 구성요소

 가. 테스트 하네스 구성도

 나. 테스트 하네스 구성요소

 

 

*내용

1. 테스트 하네스 정의

 - 시스템 및 시스템 컴포넌트를 시험하는 환경의 일부분으로 시험을 지원하는 목적 하에 생성된 코드와 데이터의 집합으로 Test Driver를 포함하는 개념의 테스트를 위한 툴

2. 테스트 하네스 구성도 및 구성요소

 가. 테스트 하네스 구성도

테스트 하네스 구성도

 나. 테스트 하네스 구성요소

구성요소 설명
Test Driver - 시험 대상 모듈을 호출, 파라미터를 전달, 모듈 수행 후의 결과 제시, 상향식 테스팅에 필요
Test Stub - 시험 대상 모듈이 호출하는 다른 모듈의 기능을 간략히 수행, 하향식 테스팅에 필요
Test Suites - 테스트 대상 컴포넌트나 시스템에 사용되는 여러 테스트 케이스의 집합
Test Case - 입력 값, 실행조건, 기대결과 등의 집합
Test Script - 테스트 절차 명세(Test Procddure Specification)을 의미, 특히 자동화 된것을 의미
Mock Object - 마치 무언가를 하는 시늉만 하거나 혹은 사용자의 행위를 미리조건부에 입력해 두면 그 상황이 되었을때 예정된 행위를 하는 객체
- Stub는 일반적으로 Stubbed Data를 단순 반환하는것이 차이

- 단위테스트와 통합테스트에 Test Harness 가 주로 사용됨.

반응형

'IT지식 > 소프트웨어공학' 카테고리의 다른 글

테스트 유형  (0) 2023.08.07
Record&Replay  (0) 2023.08.04
테스트 오라클  (0) 2023.07.02
ISO/IEC 29119  (0) 2023.07.02
테스트 프로세스  (0) 2023.07.02
반응형

테스트 오라클

 

 

*목차

1. 테스트 오라클 정의 및 유형

 가. 테스트 오라클 정의

 나. 테스트 오라클 유형

2. 테스트 오라클 수행 절차 및 유형별 상세설명

 가. 테스트 오라클 수행 절차

 나. 테스트 오라클 유형별 상세설명

 

 

*내용

1. 테스트 오라클 정의 및 유형

 가. 테스트 오라클 정의

  - 소프트웨어 미리 정의된 참 값을 작성하여 실제 테스트 결과와 비교하여 참인지 거짓인지 확인하는 테스트 기법

 나. 테스트 오라클 유형

유형 설명
참 오라클 - 모든 입력 값들에 대해 원하는 결과들을 생성하여 발생 된 오류를 놓치지 않고 검출 할 수 있는 오라클
샘플링 오라클 - 특정 몇몇 입력 값들에 대해서만 원하는 결과를 제공해 주는 오라클을 말함
휴리스틱 - 샘플링 값 + 휴리스틱 판단 결과 확인
일관성검사 - 변경이 있는 경우 전후의 결과 값이 같은 지 확인(회귀 테스트)

2. 테스트 오라클 수행 절차 및 유형별 상세설명

 가. 테스트 오라클 수행절차

테스트 오라클 수행절차

 나. 테스트오라클 유형별 상세설명

유형 설명
참 오라클 - 모든 테스트 케이스 입력값의 기대한 결과값에 대한 확인
- 가능한 모든 전수 테스트 가능
샘플링 오라클 - 특정 몇몇 입력 값들에 대해서만 원하는 결과를 제공해 주는 오라클
- 전 범위 테스트가 불가한 경우 사용
- 경계값, 구간별 예상값 결과 작성 사용
휴리스틱 - 샘플링 오라클의 단점을 개선하기 위해 특정 몇몇 입력은 샘플링 오라클처럼 결과를 제공, 나머지 입력은 휴리스틱(확률이나 직관)처리
- 실험결과나 수치데이터 처리시 사용
- 확률이나 지고간에 의한 예상 결과 작성
일관성검사 - 이전수행결과와 현재수행결과가 동일한지 검증
- 회귀테스트시 수정 전후의 프로그램 실행 결과 확인 또는 비교시 사용

 - 테스트 수행 비용 및 공수산정, critical mission 등을 고려하여 테스트 오라클 유형 결정.

반응형

'IT지식 > 소프트웨어공학' 카테고리의 다른 글

Record&Replay  (0) 2023.08.04
테스트 하네스  (0) 2023.07.04
ISO/IEC 29119  (0) 2023.07.02
테스트 프로세스  (0) 2023.07.02
테스트 원리  (0) 2023.06.27
반응형

ISO/IEC 29119

 

*목차

1. ISO/IEC 29119 정의

2. ISO/IEC 29119 구성도 및 상세설명

 가.  ISO/IEC 29119 구성도

 나.  ISO/IEC 29119 상세설명

3. 테스트 기법 상세 설명

 

 

*내용

1. 소프트웨어 테스트 표준,  ISO/IEC 29119 정의

 - S/W 테스팅 라이프사이클 전반에 관련된  용어, 프로세스, 문서 및 기술을 명확하게 제공하기 위한 국제 표준

2. ISO/IEC 29119 구성도 및 상세설명

 가.  ISO/IEC 29119 구성도

SO/IEC 29119

 나. SO/IEC 29119 상세설명

파트 수행내역 상세설명
개념과 정의
(Concepts and Terminology)
- 소프트웨어 테스팅 개념, 조직과 프로젝트 관점에서의 소프트웨어 테스팅, 소프트웨어 생명 주기 모델에서의 일반적인 테스팅 프로세스, 위험 기반 테스팅, 테스트 서브 프로세스 - 전체 시리즈에 대한 가이드를 제공해 주는 부분으로, 용어 정의, 소프트웨어 테스팅의 개념
테스트 프로세스
(Test Processes)
- 다계층 프로세스 모델, 조직의 테스트 프로세스, 테스트 관리 프로세스, 동적 테스트 프로세스  - 테스트 프로세스에 관한 부분으로, 조직, 테스트 관리, 동적 테스트의 세가지 수준의 다계층 프로세스 모델을 설명
테스트 문서화
(Test Documentation)
- 조직의 테스트 프로세스 문서, 테스트 관리 프로세스 문서, 동적 테스트 프로세스 문서  - 테스트 문서의 견본과 예시를 제공해 주는 부분으로 테스트 프로세스의 단계별 산출 문서의 작성 방법과 포함될 내용 등을 제공
테스트 기법
(Test Techniques)
- 테스트 커버리지 측정 : 명세 기반 테스트 설계 기법의 커버리지 측정, 구조 기반 테스트 설계 기법의 커버리지 측정, 경험 기반 테스트 설계 기법의 커버리지 측정 - 소프트웨어 테스팅 기법에 관한 부분으로, 테스트 설계 및 구현 단계에서 활용 할 수 있는 명세 기반 테스트 설계, 구조 기반 테스트 설계, 경험 기반 테스트 설계 기법을 제공
 키워드 주도 테스팅 - 프레임워크, 도구 이용 테스팅 - 키워드 주도 테스팅에 대한 소개와 접근 방법을 제공하는 부분으로 키워드 주도 테스팅을 위한 프레임워크, 도구에 대한 요구사항

- 테스트 기법으로 명세, 구조, 결함 기반 테스트 방법 존재

3. 테스트 기법 상세 설명

구분 설명
명세기반기법 - 동등분할, 경계값 분석, 결정결정 테이블, 상태 전이, 유한상태 기계 기반, 유즈케이스 테스팅, 페어와이즈 조합 테스팅, 직교 배열 테스팅
구조기반기법 - 구문, 결정, 조건, 조건/결정, 변경조건/결정, 다중
경험기반기법 - 탐색적테스팅, 오류추정, 체크리스트, 특성테스팅

 - 실행기반 테스팅 방법으로 블랙박스, 화이트 박스, 경험기반 테스트 존재하고 비실행 기반 테스트 기법으로는 인스펙션, 워크 스루 등이 존재.

반응형

'IT지식 > 소프트웨어공학' 카테고리의 다른 글

테스트 하네스  (0) 2023.07.04
테스트 오라클  (0) 2023.07.02
테스트 프로세스  (0) 2023.07.02
테스트 원리  (0) 2023.06.27
페르소나  (0) 2023.06.27

+ Recent posts