토토 베이는 소프트웨어 개발에 매우 유용하지만 그 효과는 작성자의 기술에 따라 달라질 수 있습니다모의를 만드는 데 어려움이 많고, 토토 베이를 수행하는 것도 어렵습니다
그러므로 내 경험을 바탕으로 프로그래밍 언어에 의존하지 않는 기본 개념을 바탕으로 버그를 일으키기 쉬운 토토 베이를 만들 때 명심해야 할 점을 세 가지로 좁혔습니다이러한 점만 알아두시면 비용 효율적인 토토 베이를 실현하실 수 있습니다
1 길이=0과 null 값을 모두 테스트해야 합니다
이것은 문자열과 배열을 처리하는 코드를 테스트할 때 유용합니다물론 정상적인 값을 테스트하겠지만, 길이가 0이고 null 값일 때 의도한 동작이 발생하는지 확인해 보겠습니다
길이=0과 null 값을 모두 테스트하면 다음과 같은 버그를 제거할 수 있습니다
- 0자를 고려하지 않음(IndexOutOfRange 오류)
- Null을 고려하지 않음(NPE 유형 오류)
2 배열은 요소 수 0과 3에 대해 테스트되어야 합니다
배열을 처리하는 코드의 경우 최소한 0~3개의 요소를 테스트해야 한다고 생각합니다첫 번째 규칙과 동일한 관점에서 볼 때 항상 0개 항목을 테스트해야 하지만 왜 1개 또는 2개 대신 3개 항목을 테스트해야 합니까?그 이유는 0과 3 요소를 테스트함으로써 다음 버그를 제거할 수 있기 때문입니다
- 루프를 끝까지 통과해야 하는데 한 턴만에 통과됩니다
- 모든 요소를 봐야 할 때 첫 번째 또는 마지막 요소만 보입니다
3 문자열 비교에서는 정방향 일치/접미사 일치도 테스트해야 합니다
문자열 비교를 수행하는 코드의 경우 대상 문자의 시작 및 끝 일치 측면에서 테스트 값을 준비하는 것이 좋습니다구체적으로는 다음과 같습니다
<예>/tmp 디렉토리 바로 아래에 존재하는 "indexcsv" 파일을 읽고 처리합니다
<테스트 값>/tmp/indexcsv ← 이것은 괜찮은 패턴입니다/tmp/indexcsvcsv ← NG 패턴, 마지막에 추가 내용/tmp/tmp/indexcsv ← NG 패턴, 앞에 추가 항목
== 비교, startWith, endWith 등과 같은 다양한 비교 논리 방법이 있지만 이러한 방법이 적절하게 선택되었는지 확인하는 것이 중요합니다
요약
우리는 등가 분할 및 경계 분석에 대해 자주 듣습니다 그러나 약간의 노력으로 버그를 제거하는 데 도움이 될 수 있는 세 가지 사항을 선택했습니다

