등가분할 (동등분할)
입력/출력값 영역을 유한개의 독립적인 집합으로 나누어서 , 각 등가집합의 원소 중 대표값 하나를 선택하여 테스트케이스를 선정하는 기법
같은 종류의 입력에서 어떤 대표값을 사용하더라도 같은 결과가 나올거라는 기대값
유효한 입력데이터 OR 유효하지 않는 입력데이터 (입력되면 안되는 값)
등가집합에서 대표하는 입력값들을 적어도 한 개씩은 사용하는 기법
경험과 필요에따라 하나 이상의 값을 선정하여 TC 작성, 결과적으로 보장성은 동일
명세에 있는 입/출력 값을 사용 -> 명세기반테스트
출력값
내부값
시간 관련값
통합테스팅에서 다루는 모듈간 인터페이스 파라미터
주차보조시스템
배터리 전압 확인
편의점 전산화 사례
약한 동등분할 테스팅 VS 강한 동등분할 테스팅
약한 동등분할 테스팅
강한 동등분할 테스팅
경계값 분석
경계값 처리시 오류발생 가능성이 높기때문에 경계의 주변값들을 테스트 데이터로 선정하는 기법
경계값: 해당 분할영역의 최대값과 최소값
유효경계값: 유효한 분할영역의 경계값
비유효경계값: 유효하지 않은 분할영역의 경계값
결함 발견율이 높고, 적용하기 쉽다 => 가장많이 사용되는 테스트 기법
조합을 테스트하기에는 적합하지 않다
입력 범위를 동등 분할하여 제한하더라도, 입력값 조합의 수가 테스트 가능한 수를 넘어서는 경우가 많다
입력조합이 상호간 독립적이라는 가정에 적합하다
출력이 입력조건이나 변수들 사이의 관계에 따라 달라지는 경우, 입력조건을 동등분 할 하는 것이 매우 어려울 수 있다.
주차보조 시스템
배터리 전압 확인
조합 테스팅 (패어와이즈)
대부분의 결함이 2개의 요소의 상호작용에 기인한다는것 -> 2개 요소의 모든 조합을 찾아 테스팅
하나의 파라미터의 각 값들이 모든 다른 파라미터의 각 값들과 최소 한 번씩 조합이 되는 집합
=> 세 가지 요소들의 모든 값들이 "한쌍" 씩 모든조합을 이룸. => 페어(Pair) 와이즈.
=> 조합의 수를 50%까지 감소 (2^3=8 => 4)
Allparis Algorithms
Beyond Pairwise Testing
Beyoun Pariwise Testion - Combinatorial Testing
결정 테이블 테스팅
테스트를 수행하기 위해 필요한 입력의 조합을 얻어내기 위한 목적
원인과 결과를 분석함으로써 테스트케이스를 조합해 내는 방법
=> Cause - Effect Diagram/Graphing
Decision Table Testing = Cause/Effect Graphing = Cause Effect Analysis
=> 테스트 베이시스의 불완전성과 모호함 지적 가능
작성에 많은 노력과 시간이 소요될 수 있다 (결정테이블 작성 후 개발팀의 검토가 필요시)
복잡한 시스템을 표현하기 어려울 수 있다.
Cause = inputs
Effect = intermediate results, messages, outputs
Cause, Effect 는 Boolean 형태로 기술
상태 전이 테스팅
이벤트, 액션, 활동, 상태, 상태전이 사이의 관계를 검증하는 테스팅 기법
모든 상태/이벤트 조합을 커버
시스템/소프트웨어 상태기반 행위가 명세된 내용과 일치함을 검증
상태기반 시스템의 결함은 상태, 상태전이, 가드, 이벤트 결함 등으로 분류
결함은 “구현이 잘못된 경우” 와 명세가 잘못된 경우 존재
유즈케이스 테스팅
유즈케이스테스팅은 유스케이스나 비즈니스시나리오를 기반으로 유즈케이스에서 테스트 케이스를 도출하는 테스트설계기법
주류 시나리오 또는 기본흐름과 대체흐름으로 구성
시스템이 제공하는 기본단위기능, 즉, 유스케이스와 액터간 상호작용으 정의
개별적인 유즈케이스에 대한 단위테스팅
"자동주차" 기능
- Basic Flow
- Alternative Flow
- 요구사항 시나리오 정의
"현금 출금" 기능
- Basic Flow
- Alternative Flow (1)
- Alternative Flow (2)
- Alternative Flow (3)
- 요구사항 시나리오 정의