전체 글 70

10장 명세 기반 테스트 - 10.2 동등 분할

10.2 동등 분할테스트를 효과적으로 수행하면서도 테스트 케이스의 개수를 줄이는 방법입력, 출력 데이터를 동일한 결과를 낼 것으로 예상되는 동등 클래스로 분할하고 클래스 별로 대표값 하나만을 데스트 하는 방법동등 클래스에서 선정한 값이 프로그램에서 올바르게 동작한다면 나머지 값들도 올바르게 동작할 것이라는 가정을 하고 진행동등 클래스의 합집합은 입력 영역 그 자체이고 동등 클래스들은 서로 공통된 값이 없어야 함유효한 입력 및 출력뿐만 아니라 유효하지 않은 입력 및 출력도 고려해야 함유효하지 않은 출력이란 명세에 명시적으로 기술되어 있지 않은 것을 말하며 테스터의 주관이나 과거의 경험에 의존유효하지 못 한 테스트 케이스는 One-to-One 방식으로 설계하고 유효한 테스트 케이스는 최소화 동등 분할 방식으..

10장 명세 기반 테스트 - 10.1 개요

10.1 개요블랙박스 테스트라고도 불림프로그램의 내부 논리 구조를 참조하지 않고 사용자의 요구사항이 기술된 명세나 설계 정보들을 이용해 테스트 케이스 개발대상 시스템의 명세 정보를 얻을 수 있는 한 적용 대상에 제한이 없음테스트 전 과정에 걸쳐 사용될 수 있음프로그램 내부 코드를 모르는 외부 사람이 수행하는 것이 좋을 수도 있음물론 프로그램 기능과 도메인에 관한 이해가 충분해야 함그러나 개발자 자신이 명세 기반 테스트를 실행할 수도 있음XP의 테스트 주도 개발에서는 개발자가 먼저 테스트 케이스를 작성한 후에 코드를 구현짝 프로그래밍의 경우 개발자 자신 이외의 다른 작업자가 지켜보기 때문에 외부 사람이 테스트 케이스를 개발하는 것과 유사함장점서브 시스템이나 전체 시스템처럼 규모가 큰 단위에도 효과적으로 작..

구조 기반 테스트 정리

ex)int multi(int x, int y) { if(x > 0 && y 결정문(x > 0 && y 기본 조건조건1: x > 0조건2: y 1. 문장 테스트 프로그램의 모든 실행 가능한 구문(문장)을 한 번 이상 실행필요한 구문: if문 true / if문 false / return문 if문테스트 케이스기대 출력TC1truex=1, y=-31TC2falsex=0, y=00 커버리지 전체 문장 수TC1 실행 시 문장 수커버리지33100% 2. 결정 테스트 모든 결정문이 True와 False를 최소 한 번씩 실행결정문: (x > 0 && y 결정문테스트 케이스기대 출력TC1truex=1, y=-31TC2falsex=0, y=00 커버리지모든 결정문의 결과 수TC1 실행시 실행된 결정문의 ..

9장 구조 기반 테스트 - 9.8 다중 조건 테스트

9.8 다중 조건 테스트결정이 가질 수 있는 경우 + 결정을 구성하는 기본 조건들이 가질 수 있는 모든 가능한 조합문장 테스트, 결정 테스트, 조건 테스트, 결정/조건 테스트를 포용int multi(int x, int y) { if(x>0 && y 조건1 x>0 과 조건2 y이 프로그램에는 2개의 결정이 있음첫 번째 결정은 2개의 조건으로 구성 / 두 번째 결정은 1개의 조건으로 구성테스트 케이스 1~4까지 첫 번째 결정을 구성하는 2개의 조건의 모든 조합을 테스트테스트 케이스 1&2 / 1&4 / 2&3 / 3&4 는 두 번째 결정을 구성하는 1개의 조건의 모든 조합을 테스트 다중 조건 커버리지 전체 조건 = 6 = 첫번째 결정에서 4개의 조건 조합 + 두번째 결정에서 2개의 조건 조합

9장 구조 기반 테스트 - 9.7 결정/조건 테스트

9.7 결정/조건 테스트결정 테스트와 조건 테스트는 서로 포용하지 않음결정/조건 테스트는 두 테스트를 모두 만족하는 테스트 케이스의 집합을 설계하도록 요구 모든 조건의 결과가 생성됨결정1은 true만 테스트되고 false는 테스트되지 않음➡️ 결정/조건 테스트의 요건을 만족하기 위해서는 결정1을 false로 평가할 수 있는 테스트 케이스가 추가되어야 함 결정/조건 커버리지테스트 케이스 집합에 의해 결정/조건 테스트가 어느 정도 이루어졌는지 정량적으로 알 수 있음 결정문의 결과 수 결정 1 (x>0 || y>0): 2가지 결과 (True / False)결정 2 (z>10): 2가지 결과 (True / False)총 4개조건의 결과 수 조건 1 (x>0): 2가지 결과 (True / False)조건 2 (y..