2011년 6월 13일 월요일

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

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

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

댓글 없음:

댓글 쓰기

블록체인 개요 및 오픈소스 동향

블록체인(block chain) 블록체인은 공공 거래장부이며 가상 화폐로 거래할때 발생할때 발생할 수 있는 해킹을 막는 기술. 분산 데이터베이스의 한 형태로, 지속적으로 성장하는 데이터 기록 리스트로서 분산 노드의 운영자에 의한 임의 조작이 불가...