📖 다음은 다가오는 ISTQB CTFL 자격증 셤을 위해 공부하면서 실라버스를 요약해 놓은 글이다.
테스트 컨디션, 테스트 케이스, 테스트 데이터 식별을 지원
일부 기법은 특정 상황, 테스트 레벨에 더 적합하기도, 모든 테스트 레벨에 적합한 기법도 있음.
테스터는 테스트 노력 대비 가장 좋은 결과를 얻어야 하기에 다양한 테스트 기법을 조합해 테스트 케이스를 작성함.
❶ 블랙박스(행위 기반 기법)
❷ 화이트박스(구조 기반 기법)
❸ 경험기반
지식과 경험은 SW의 예상 동작과 사용 환경, 발생 가능성이 있는 결함과 분포 등을 포함.
: 특정 파티션(동등 클래스)의 모든 변수는 동일한 방식으로 처리된다라는 가정하에 파티션에 데이터를 분할한다.
유효값, 비유효한 값 모두에 대해 동등 분할을 구성할 수 있다.
예시)
• 특정 입력 필드가 한 자리 정수값만 입력으로 받아들이고 정수가 아닌 값의 입력은 막기 위해 입력 방법은 키패드로 제한한다.
• 이때 유효 범위는 1 이상 5 이하이다. 따라서 3개의 동등 분할이 존재한다 :
비유효(너무 낮음); 유효; 비유효(너무 높음).
• 유효 동등 분할의 경계값은 1 과 5이다.
• 비유효(너무 높음)분할의 경계값은 6이다.
• 비유효(너무 낮음) 분할은 변수가 하나뿐인 파티션으로 유일한 값 0이 경계값이다.
• 위의 예제에서는 각 경계에 대해 두 개의 값을 식별했다.
• 비유효(너무 낮음)과 유효 사이의 경계에 대해서는 테스트 값 0, 1을,
• 유효와 비유효(너무 높음) 사이의 경계에 대해서는 테스트 값 5, 6을 선택했다.(2-포인트)
• 이 기법에는 경계당 세개의 경계값을 식별하는 것도 있다. 경계 직전 값, 경계에 해당하는 값, 경계 직후의 값. (3-포인트)
• 낮은 쪽 경계에 해당하는 테스트 값은 0,1,2가 되며 높은 쪽 경계에 해당하는 테스트 값은 4, 5, 6이 된다.
동등 분할의 경계에서 동작이 잘못된 확률이 동등 분할 중간의 값에서 잘못된 확률에 비해 높다.
경계값 분석과 테스팅을 통해 SW가 경계값이 원래 속한 분할의 동작이 아닌 다른 분할의 동작으르 수행하는 것과 같은 종류의 결함 대부분을 식별할 수 있다.
경계값 분석은 모든 테스트 레벨에 적용가능하다.
이 기법은 일반적으로 숫자의 범위(날짜, 시간)와 연관된 요구사항을 테스트하는 데 적용된다.
경계값 분석 커버리지는 백분율로 포기하며, " 테스트한 경계값의 수/ 모든 경계값의 수" 이다.
같이 읽어보면 좋을 것 같은 글 : https://kitle.xyz/post/44/
시스템이 구현해야 하는 복잡한 비즈니스 규칙을 기록하기에 좋은 방법이다.
작성시 테스터는 시스템의 조건(입력)과 예상 동작(출력)을 식별한다.
결과에 영향을 미치지 않는 열, 불가능한 조건 조합 등을 삭제하면 테스트 케이스 수 가 상당히 줄어들 수 있다.
다음은 결정테이블의 예시이다(ISTQB_FL sample C Exam 출처)
온라인 항공예약시스템에서 항공 사용이 빈번한 고객을
대상으로 포인트 항공권을 결제할 수 있도록 하는 기능에 대한 결정 테이블이다.
결정 테이블 테스팅에서 일반적인 최소 커버리지 기준은 테이블의 결정 규칙당 최소 한 개의 테스트 케이스를 작성한 것이며 이것은 일반적으로 모든 조건 조합을 포함한다.
커버리지는 일반적으로 백분율로 표기한다.
커버리지 = 최소 한 개의 테스트 케이스로 테스트한 결정 규칙의 수 / 식별한 모든 결정 규칙의 수
결정 테이블의 장점은 중요한 모든 조건 조합을 식별하는 데 도움이 된다는 것.(결정 테이블을 쓰지 않았다면 간과했을 수도 있는 조합 존재가능)
요구사항의 누락된 부분을 찾는 데도 도움이 된다.
소프트웨어의 동작이 조건 조합에 영향을 받는 모든 상황에 적용 가능하다.
모든 테스트레벨에 적용이 가능하다.
같이 읽으면 좋을 글 : https://inpa.tistory.com/entry/%F0%9F%A7%AA-%EA%B2%B0%EC%A0%95-%ED%85%8C%EC%9D%B4%EB%B8%94-%ED%85%8C%EC%8A%A4%ED%8A%B8
컴포넌트, 시스템은 현재 조건(Conditions)이나 기존 이력(이벤트발생,History)에 따라 이벤트에 대해 다르게 반응할 수 있다.
기존 이력(History)은 상태(States)라는 개념을 활용해서 요약가능하다.
상태 전이 다이어그램은 소프트웨어의 가능한 상태뿐만 아니라 소프트웨어가 상태 간에 어떻게 진입하고 빠져나오는지에 대한 전이방법을 보여준다.
전이는 이벤트에 의해 시작되며, 이 이벤트는 전이라는 결과를 가져온다.
하나의 이벤트에 의해 동일한 상태로부터 두 개 이상의 다른 전이가 발생할 수 있다.
상태 변화로 소프트웨어가 특정 행동을 할 수도 있다.(ex: 연산 결과 또는 오류 메시지 출력).
상태 전이 테이블은 상태 간의 모든 유효 전이와 잠재적인 비유효 전이뿐만 아니라, 유효 전이와 관련된 이벤트, 결과 조치를 보여준다.
상태 전이 다이어그램은 일반적으로 유효한 전이만 보여주며, 비유효한 전이는 표시하지 않는다.
상태 전이 다이어그램 표기법 구성요소
◆ 상태(state) : 하나 또는 그 이상의 이벤트를 기다리는 모드원으로 표기, 원 안에 상태명 표시.
◆ 전이(transition) : 이벤트로 인해 한 가지 상태에서 다른 상태로의 변경, 화살표 형태의 링크로 표현하며 상태와 상태를 연결함.
◆ 이벤트 : 상태의 전이를 유발하는 요인, 화살표에 이름과 값을 표시(ex: ev취소)
그 외 가드와 액션이 있다.
reference: https://sw-test.tistory.com/8
※ 전이 분석에는 1-SWITCH, 0-SWITCH가 있다.
EP,BVA,페어와이즈ㅡ 데이터를 선택해서 테스트를 설계하는 방법론
DTT,STT,UCT- 경로를 기준으로해서 테스트를 설계하는 방법론
반드시 연습문제를 많이 풀어볼 것