2011년 6월 13일 월요일

테스트 지향 프로그래밍 with JUnit - 2

Ch 2 경계 조건(Boundary Condition)
“버그는 경계 조건(boundary condition) 근처, 즉 그 코드의 평소의 루틴과 다르게 동작하는 조건에서 많이 발생한다.”

경계 조건 테스트 영역
  • 형식 일치 : 값의 형식이 예상한 형식과 일치하는가? 만일 우리가 특정한 형식을 따르는(이메일 주소 구조와 같이 xxx@xxx.xx) 데이터를 기대하거나 만들어낸다면, 데이터가 기대한 구조에 따르지 않을 때 어떤 일이 발생할지 생각해 두어야 한다.
  • 순서 : 적절히 순서대로 되어 있거나 그렇지 않은 값인가? 큰 데이터 모음에서 데이터의 순서나 데이터의 한 부분의 위치에 따른 영향을 고려해야 한다.
  • 범위 : 적당한 최소값과 최대값 사이에 있는가?
Ex) 다음의 stack 인덱스 범위 테스트 영역이다.
- 시작 인덱스와 끝 인덱스가 같은 값이다.
- 처음 인덱스가 마지막 인덱스보다 크다.
- 인덱스가 음수이다.
- 인덱스가 허용된 것보다 큰 값이다.
- 원소 개수를 세는 변수값이 실제로 들어 있는 항목 개수와 맞지 않는다.
  • 참조 : 코드가 자기가 직접 제어하지 않는 외부 코드를 참조하는가? 외부 의존성에 관하여 고려해야 한다.
  • 존재성 : 값이 존재하는가? 기대하는 값이 존재 여부에 따른 영향을 고려해야 한다.
  • 개체 수 : 확실히 충분한 값이 존재하는가?
  • 시간 : 절대적이든 상대적이든 모든 것이 순서대로 일어나는가?

댓글 없음:

댓글 쓰기

ETL 솔루션 환경

ETL 솔루션 환경 하둡은 대용량 데이터를 값싸고 빠르게 분석할 수 있는 길을 만들어줬다. 통계분석 엔진인 “R”역시 하둡 못지 않게 관심을 받고 있다. 빅데이터 역시 데이터라는 점을 볼때 분산처리와 분석 그 이전에 데이터 품질 등 데이...