[CSTS 7일안에 끝내기-3],소프트웨어테스트전문가, csts 자격증, 소프트웨어 테스트, csts, csts시험, csts 기출문제, csts 시험일정, csts 교재, csts 난이도, csts 교육, csts 강의, csts 핵심문제, 블랙박스테..
안녕하세요. 김민지입니다. :-) CSTS 7일안에 끝내기 마지막 자료입니다. TTA에서 제공하는 기출 문제도 함께 첨부해드리겠습니다. 정리차원에서, 학습 후에 문제는 꼭 풀어보세요!
지난시간에 화이트박스 테스트까지 살펴 보았는데요, CSTS 단골문제 블랙박스 테스트에 대해서도 알아보겠습니다.
명세기반 테스팅(블랙박스 테스트)
명세기반 테스팅은 요구사항을 기반으로 하는 테스트이며, 블랙박스 테스트라고 합니다. 코드 및 내부 로직은 모르지만 입력값(테스트 케이스)을 넣고 출력값이 제대로 나오는지 확인하는 테스트입니다. 화이트박스 테스트가 개발자 관점에서의 테스트라면, 블랙박스 테스트는 사용자 관점에 가깝습니다.
블랙박스 테스트 종류
구분 |
개념 |
동등 클래스 분할 |
클래스(기준단위)를 분할하고 대표 값을 선택하여 입력 데이터(테스트 케이스)로 사용, 동등 입력 값에서 오류가 발생하면 다른 값도 오류가 발생한다는 것을 가정 |
경계 값 분석 |
경계 값을 포함시켜서 입력 데이터(테스트 케이스)로 사용, 클래스 간의 경계, 경계 위, 아래의 값
Why? 경계 값에서 오류가 많이 발생하므로 |
페어와이즈 조합 |
모든 가능한 조합을 테스트하기에 너무 많을 때, 모든 짝(Pair)들의 조합 테스트 (가능한 모든 조합을 한 것과 비슷한 효과가 나타난다) |
상태전이 |
상태 전이도를 기반으로 입력 데이터를 사용한다. 시스템 현재 상황과 이전 이력을 반영하는 상태, 변화에 따른 테스트 기법이다. |
인과 그래핑 |
업무의 흐름에 따라 인과관계를 나타내는 그래핑을 테스트 하는 기법이다. |
결정 테스트 (도메인 테스트) |
입력 데이터 간의 상관관계, 즉 논리적 조건으로 의미가 있을 때 (‘가입을 해야 주문을 할 수 있다’와 같은 관계), 선정된 입력 데이터에 대한 예상결과를 포함하는 도메인 테스트 메트릭스 테이블을 생성하여 테스트하는 기법이다. |
경험기반 테스팅
(1)경험기반 테스팅은 이전에 다루었던 유사 어플리케이션이나 기술에서의 경험, 직관, 테스트의 기술 능력으로부터 테스트 케이스를 추출하는 기법입니다.
(2) 경험기반 테스트의 특징
- 공식적인 기법으로 다루기 어려운 특별한 케이스를 찾아 실행
- 테스트 경험에 따라 효율성 및 효과성의 정도 변동 가능
- 테스트 대상 소프트웨어에 대해 지식을 필요로 함
(3) 경험기반 테스트 종류
기법 |
설명 |
탐색적 기법 |
테스트 차터를 기반으로 정해진 시간 내 테스트 설계, 수행 등을 동시에 진행하는 Heuristics Testing 접근법 |
오류 추정 기법 |
가능한 결함을 나열하고 결함이나 오류를 추정에 의해 검출 및 수정 |
체크리스트 기법 |
테스트하고 평가해야 할 내용과 경험을 분류하여 나열해 놓은 체크리스트를 기반으로 테스트 수행 |
소프트웨어특성기반 TC 도출 |
국제 표준인 ISO/IEC 9126-2 품질 특성을 기준으로 경험적 테스트 케이스를 도출하는 기법 |
분류 트리 기법 |
구조로 분석, 표현하고 테스트 케이스를 도출하는 기법 |
테스트 설계 기법
테스트 프로세스 개요 (3문제)
테스트 프로세스 개요
-테스트 프로세스는 테스트를 계획, 테스트 케이스(입력 데이터)설계, 테스트 수행 준비, 테스트 진행 상태를 확인, 평가하는 활동을 의미합니다.
-테스팅과 관련하여 다양한 활동이 체계적으로 진행되어 의도된 테스트 목적과 목표를 달성할 수 있도록 테스팅의 모든 구성 요소를 엮어주는 역할을 하기도 합니다.
테스트 프로세스
-테스팅은 체계적으로 발견한 결함과 관련 정보를 바탕으로 정량적(수치적)으로 개발 프로젝트에 조언을 제공합니다.
테스트 산출문 간의 관계
-테스팅 실행 전 (계획, 설계)에 준비: 테스트 베이시스, 테스트 기법, 테스트 기반 설비 및 환경, 테스트 조직
-테스트 실행 시 준비 : 테스트 대상
테스트 계획 (7문제)
테스트 계획 개요
-테스트 목표와 임무를 확인하고 필요한 활동을 정의하는 것
테스트 컨텍스트 명세
-테스트 범위, 리스크 결정, 테스트 목적에 대한 식별
(1) 테스트 범위
-인터페이스 정도, 관련 품질 특성, 호환성 테스팅 범위, 커버하고자 하는 테스트 레벨 등
(2) 리스크 기반 테스트 전략
-각각의 테스트 레벨에 대해 테스트 대상 제품이 충족해야할 품질 수준 및 특성과 기술적 어려움 고려
-비즈니스 리스크 고려
(3) 테스트 목적
- 품질 요구 수준
- 테스트 레벨 별 목적 (결함 발견, 요구사항 충족 등)
- 커버하고자 하는 품질 특성(기능성, 효율성, 신뢰성, 유지 보수성 등)
테스트 전략 수립
-테스팅 정책의 실현과 테스트 전략의 구현
-조직 구조 형태 및 인력 구성/자격, 중점 테스트 타겟과 테스트 레벨, 테스트 프로세스 개선 방향, 고객 및 이해관계자와의 관계 등
-테스트 접근방법에 대한 결정
-테스트에 필요한 리소스의 결정
-테스트 분석과 설계 작업의 일정관리
-테스트 구현, 실행 및 평가의 일정관리
-테스트 완료 조건의 결정
테스트 계획 산출물
- 테스트 베이시스, 테스트 기법, 테스트 기반 설비 및 환경, 테스트 조직
이 외에, 꼭 나오는 단골 문제에 대해 알아보겠습니다.
테스트 용이성(Testability) : 프로그램이 얼마나 손쉽게 테스트 가능한지를 나타내는 특성
구분 |
설명 |
제어 용이성 |
프로그램을 제어하기 용이하도록 설계 - 제어 용이성이 높아지면 테스트를 자동화할 수 있는 부분이 많아진다. |
관찰 가능성
|
프로그램 내부 상태를 쉽게 파악할 수 있도록 설계 |
단순성 |
시스템 구조 등을 가능한 한 단순하게 설계 시스템이 단순할수록 더 효율적으로 테스트 수행 가능 |
분할 용이성 |
테스트할 대상영역을 제어하여 문제가 발생된 곳을 고립시킴으로써 독립적으로 모듈을 테스트 할 수 있도록 설계 |
운영 용이성 |
프로그램이 오작동하여도 테스트 작업 가능하도록 설계 |
안정성 |
테스트동안에 소프트웨어 변경이 자주 발생되지 않도록 설계 |
이해 용이성 |
설계 정보가 잘 조직화되어 쉽게 접근 가능하도록 하여 더욱 잘 이해 할 수 있도록 설계 |
2. 심볼릭 실행
- 입력을 기호화 해서 표현하고, 출력은 기호화된 입력 변구들이 논리적, 수학적으로 수식 표현됩니다.
- 정적 분석이며, 로직만 따지는 테스트입니다. 즉 실행 가능/불가능 경로를 파악할 수 있습니다.
3. 자료 흐름 분석
-기본 정의: Define(변수 생성), Use(사용), Kill(변수 Scope)을 정의하고 선후 관계에 따라 정상과 오류를 탐지하는 테스트
[자료 흐름도 예시 문제]
다음의 자료 흐름도를 살펴보면, 맨 처음에 def x로 x 변수를 정의하고, 맨 마지막과 그 위에서 kill x 를 2번 수행한 것을 확인할 수 있습니다. 즉 상기 표에서 살펴보면 kk(2중소멸)에 해당하는 오류 패턴을 찾을 수 있는 것이지요!
위 파일들은 TTA에서 공식적으로 예제 문제를 제공한 것입니다. 공부 후에 확인차 한 번씩 꼭 풀어보시고! 오답도 체크해보세요. 다음번엔, 기출문제를 토대로 함께 문제를 풀어보도록 하겠습니다.
2020년 CSTS 시험 모두들 잘 보시길 바랍니다! 저도 내일 부디 잘 보구 올게요 :-)!!!
문의는 이메일(bigdataleader@naver.com) 또는 댓글로 달아주세요.