728x90
Ch 2 경계 조건(Boundary Condition)
“버그는 경계 조건(boundary condition) 근처, 즉 그 코드의 평소의 루틴과 다르게 동작하는 조건에서 많이 발생한다.”
경계 조건 테스트 영역
형식 일치 : 값의 형식이 예상한 형식과 일치하는가? 만일 우리가 특정한 형식을 따르는(이메일 주소 구조와 같이 xxx@xxx.xx) 데이터를 기대하거나 만들어낸다면, 데이터가 기대한 구조에 따르지 않을 때 어떤 일이 발생할지 생각해 두어야 한다.
순서 : 적절히 순서대로 되어 있거나 그렇지 않은 값인가? 큰 데이터 모음에서 데이터의 순서나 데이터의 한 부분의 위치에 따른 영향을 고려해야 한다.
범위 : 적당한 최소값과 최대값 사이에 있는가?
Ex) 다음의 stack 인덱스 범위 테스트 영역이다.
- 시작 인덱스와 끝 인덱스가 같은 값이다.
- 처음 인덱스가 마지막 인덱스보다 크다.
- 인덱스가 음수이다.
- 인덱스가 허용된 것보다 큰 값이다.
- 원소 개수를 세는 변수값이 실제로 들어 있는 항목 개수와 맞지 않는다.
참조 : 코드가 자기가 직접 제어하지 않는 외부 코드를 참조하는가? 외부 의존성에 관하여 고려해야 한다.
존재성 : 값이 존재하는가? 기대하는 값이 존재 여부에 따른 영향을 고려해야 한다.
개체 수 : 확실히 충분한 값이 존재하는가?
시간 : 절대적이든 상대적이든 모든 것이 순서대로 일어나는가?
728x90
'오래된글 > Java' 카테고리의 다른 글
테스트 지향 프로그래밍 with JUnit - 4 (0) | 2018.04.07 |
---|---|
테스트 지향 프로그래밍 with JUnit - 3 (0) | 2018.04.07 |
테스트 지향 프로그래밍 with JUnit - 1 (0) | 2018.04.07 |
자카르타 프로젝트 HttpClient와 FileUpload 사용하기 (0) | 2018.04.07 |
자바을 이용한 암호학 - 12 (0) | 2018.04.07 |