본문 바로가기
IT 자격증 학습자료/01. CSTS(소프트웨어 평가사) 학습자료

[CSTS 7일안에 끝내기-3],소프트웨어테스트전문가, csts 자격증, 소프트웨어 테스트, csts, csts시험, csts 기출문제, csts 시험일정, csts 교재, csts 난이도, csts 교육, csts 강의, csts 핵심문제, 블랙박스테..

by OBIG 2020. 8. 29.

안녕하세요. 김민지입니다. :-) CSTS 7일안에 끝내기 마지막 자료입니다. TTA에서 제공하는 기출 문제도 함께 첨부해드리겠습니다. 정리차원에서, 학습 후에 문제는 꼭 풀어보세요!

 

 

지난시간에 화이트박스 테스트까지 살펴 보았는데요, CSTS 단골문제 블랙박스 테스트에 대해서도 알아보겠습니다.

 

2020/08/28 - [BIGDATA/CSTS(소프트웨어 평가사)] - [CSTS 7일안에 끝내기-2],소프트웨어테스트전문가, csts 자격증, 소프트웨어 테스트, csts, csts시험, csts 기출문제, csts 시험일정, csts 교재, csts 난이도, csts 교육, csts 강의, 정적분석, 동적분석, 워크..

 

 

 


 

명세기반 테스팅(블랙박스 테스트)

 

  1. 명세기반 테스팅은 요구사항을 기반으로 하는 테스트이며, 블랙박스 테스트라고 합니다. 코드 및 내부 로직은 모르지만 입력값(테스트 케이스)을 넣고 출력값이 제대로 나오는지 확인하는 테스트입니다. 화이트박스 테스트가 개발자 관점에서의 테스트라면, 블랙박스 테스트는 사용자 관점에 가깝습니다.

  2. 블랙박스 테스트 종류

     

구분

개념

동등 클래스 분할

클래스(기준단위)를 분할하고 대표 값을 선택하여 입력 데이터(테스트 케이스)로 사용, 동등 입력 값에서 오류가 발생하면 다른 값도 오류가 발생한다는 것을 가정

경계 값 분석

경계 값을 포함시켜서 입력 데이터(테스트 케이스)로 사용, 클래스 간의 경계, 경계 위, 아래의 값

 

Why? 경계 값에서 오류가 많이 발생하므로

페어와이즈 조합

모든 가능한 조합을 테스트하기에 너무 많을 때, 모든 짝(Pair)들의 조합 테스트 (가능한 모든 조합을 한 것과 비슷한 효과가 나타난다)

상태전이

상태 전이도를 기반으로 입력 데이터를 사용한다. 시스템 현재 상황과 이전 이력을 반영하는 상태, 변화에 따른 테스트 기법이다.

인과 그래핑

업무의 흐름에 따라 인과관계를 나타내는 그래핑을 테스트 하는 기법이다.

결정 테스트

(도메인 테스트)

입력 데이터 간의 상관관계, 즉 논리적 조건으로 의미가 있을 때

(‘가입을 해야 주문을 할 수 있다와 같은 관계), 선정된 입력 데이터에 대한 예상결과를 포함하는 도메인 테스트 메트릭스 테이블을 생성하여 테스트하는 기법이다.


 

경험기반 테스팅

(1)경험기반 테스팅은 이전에 다루었던 유사 어플리케이션이나 기술에서의 경험, 직관, 테스트의 기술 능력으로부터 테스트 케이스를 추출하는 기법입니다.

 

 

 

 

(2) 경험기반 테스트의 특징

- 공식적인 기법으로 다루기 어려운 특별한 케이스를 찾아 실행

- 테스트 경험에 따라 효율성 및 효과성의 정도 변동 가능

- 테스트 대상 소프트웨어에 대해 지식을 필요로 함

 

(3) 경험기반 테스트 종류

 

기법

설명

탐색적 기법
(Exploratory
Testing)

테스트 차터를 기반으로 정해진 시간 내 테스트 설계, 수행 등을 동시에 진행하는 Heuristics Testing 접근법
테스크 케이스 작성 시간을 최소화하고 테스터의 지적 능력을 최대한 활용하여 테스트 수행에 집중

오류 추정 기법
(Error Guessing)

가능한 결함을 나열하고 결함이나 오류를 추정에 의해 검출 및 수정
결함이나 장애리스트경험
결함 발생 데이터실패의 일반적인 지식

체크리스트 기법

테스트하고 평가해야 할 내용과 경험을 분류하여 나열해 놓은 체크리스트를 기반으로 테스트 수행

소프트웨어특성기반 TC 도출

국제 표준인 ISO/IEC 9126-2 품질 특성을 기준으로 경험적 테스트 케이스를 도출하는 기법

분류 트리 기법
(Classification Tree Method)

구조로 분석, 표현하고 테스트 케이스를 도출하는 기법
Black Box
형태로 테스트하며 명세가 없을 때도 사용 가능한 비공식적 기법의 한 가지

 

 


테스트 설계 기법

 

테스트 프로세스 개요 (3문제)

  1. 테스트 프로세스 개요

    -테스트 프로세스는 테스트를 계획, 테스트 케이스(입력 데이터)설계, 테스트 수행 준비, 테스트 진행 상태를 확인, 평가하는 활동을 의미합니다.

    -테스팅과 관련하여 다양한 활동이 체계적으로 진행되어 의도된 테스트 목적과 목표를 달성할 수 있도록 테스팅의 모든 구성 요소를 엮어주는 역할을 하기도 합니다.

  2. 테스트 프로세스

     

    -테스팅은 체계적으로 발견한 결함과 관련 정보를 바탕으로 정량적(수치적)으로 개발 프로젝트에 조언을 제공합니다.

     

  3. 테스트 산출문 간의 관계

    -테스팅 실행 전 (계획, 설계)에 준비: 테스트 베이시스, 테스트 기법, 테스트 기반 설비 및 환경, 테스트 조직

    -테스트 실행 시 준비 : 테스트 대상

     


테스트 계획 (7문제)

테스트 계획 개요

-테스트 목표와 임무를 확인하고 필요한 활동을 정의하는 것

 

  1. 테스트 컨텍스트 명세

    -테스트 범위, 리스크 결정, 테스트 목적에 대한 식별

    (1) 테스트 범위

    -인터페이스 정도, 관련 품질 특성, 호환성 테스팅 범위, 커버하고자 하는 테스트 레벨 등

    (2) 리스크 기반 테스트 전략

    -각각의 테스트 레벨에 대해 테스트 대상 제품이 충족해야할 품질 수준 및 특성과 기술적 어려움 고려

    -비즈니스 리스크 고려

    (3) 테스트 목적

    - 품질 요구 수준

    - 테스트 레벨 별 목적 (결함 발견, 요구사항 충족 등)

    - 커버하고자 하는 품질 특성(기능성, 효율성, 신뢰성, 유지 보수성 등)

  2. 테스트 전략 수립

    -테스팅 정책의 실현과 테스트 전략의 구현

    -조직 구조 형태 및 인력 구성/자격, 중점 테스트 타겟과 테스트 레벨, 테스트 프로세스 개선 방향, 고객 및 이해관계자와의 관계 등

    -테스트 접근방법에 대한 결정

    -테스트에 필요한 리소스의 결정

    -테스트 분석과 설계 작업의 일정관리

    -테스트 구현, 실행 및 평가의 일정관리

    -테스트 완료 조건의 결정

     

  3. 테스트 계획 산출물

    - 테스트 베이시스, 테스트 기법, 테스트 기반 설비 및 환경, 테스트 조직

 

 


이 외에, 꼭 나오는 단골 문제에 대해 알아보겠습니다.

 

    1. 테스트 용이성(Testability) : 프로그램이 얼마나 손쉽게 테스트 가능한지를 나타내는 특성

구분

설명

제어 용이성

프로그램을 제어하기 용이하도록 설계

- 제어 용이성이 높아지면 테스트를 자동화할 수 있는 부분이 많아진다.

관찰 가능성

 

프로그램 내부 상태를 쉽게 파악할 수 있도록 설계

단순성

시스템 구조 등을 가능한 한 단순하게 설계

시스템이 단순할수록 더 효율적으로 테스트 수행 가능

분할 용이성

테스트할 대상영역을 제어하여 문제가 발생된 곳을 고립시킴으로써 독립적으로 모듈을 테스트 할 수 있도록 설계

운영 용이성

프로그램이 오작동하여도 테스트 작업 가능하도록 설계

안정성

테스트동안에 소프트웨어 변경이 자주 발생되지 않도록 설계

이해 용이성

설계 정보가 잘 조직화되어 쉽게 접근 가능하도록 하여 더욱 잘 이해 할 수 있도록 설계

 

2. 심볼릭 실행

 

 

- 입력을 기호화 해서 표현하고, 출력은 기호화된 입력 변구들이 논리적, 수학적으로 수식 표현됩니다.

- 정적 분석이며, 로직만 따지는 테스트입니다. 즉 실행 가능/불가능 경로를 파악할 수 있습니다.

 

 

3. 자료 흐름 분석

-기본 정의: Define(변수 생성), Use(사용), Kill(변수 Scope)을 정의하고 선후 관계에 따라 정상과 오류를 탐지하는 테스트

 

[자료 흐름도 예시 문제]

 

 

다음의 자료 흐름도를 살펴보면, 맨 처음에 def x로 x 변수를 정의하고, 맨 마지막과 그 위에서 kill x 를 2번 수행한 것을 확인할 수 있습니다. 즉 상기 표에서 살펴보면 kk(2중소멸)에 해당하는 오류 패턴을 찾을 수 있는 것이지요!

 

 

 


 

CSTS 예제문제_2019.pdf
0.26MB
SW 테스트 전문가(CSTS) 일반 자격시험 예제 _2016.pdf
0.21MB

위 파일들은 TTA에서 공식적으로 예제 문제를 제공한 것입니다. 공부 후에 확인차 한 번씩 꼭 풀어보시고! 오답도 체크해보세요. 다음번엔, 기출문제를 토대로 함께 문제를 풀어보도록 하겠습니다.

 

 

 

 

2020년 CSTS 시험 모두들 잘 보시길 바랍니다! 저도 내일 부디 잘 보구 올게요 :-)!!!

 

문의는 이메일(bigdataleader@naver.com) 또는 댓글로 달아주세요.