많은 버그가 경계값에서 생긴다. 다른 말로 하면, 분기문에서 생긴다. 분기문에서 발생 할 수 있는 대표적인 버그는 4 종류가 있다.
•
유형1: ≥ 와 > 를 헷갈린 버그. 폐포 버그라고도 한다.
// Right
if input > 999 {
// Do Something
}
// Bug
if input >= 999 {
// Do Something
}
Swift
복사
•
유형2: 숫자를 잘못 씀
// Right
if input > 999 {
// Do Something
}
// Bug
if input > 99 {
// Do Something
}
Swift
복사
•
유형 3: 경계가 없음 (예: Else 조건을 주석처리)
// Right
if input > 999 {
// Do Something
} else {
// Do Something Else
}
// Bug
if input > 999 {
// Do Something
}
// else {
// // Do Something Else
// }
Swift
복사
•
유형 4: 경계가 넓음
// Right
if input > 999 {
// Do Something
}
// Bug
if input > 999 && input < 0 {
// Do Something
}
Swift
복사
이렇게 경계값에서 발생 할 수 있는 4가지 유형의 버그를 염두에 두고 테스트케이스를 짠다면, 버그를 발견할 확률이 훨씬 높아진다.