더북(TheBook)

2.5 테스트

코드 작성이 완료를 뜻하지는 않습니다. 가장 중요한 것은 몇 가지 작은 테스트 케이스로 코드를 시험하는 것입니다. 이 테스트로 여러분이 테스트의 중요성을 이해하고 있음을 보여줍니다. 또한 면접관에게 여러분이 버그가 있는 코드를 작성하지 않는다는 신뢰도 줄 수 있습니다. 코딩 작업이 끝나면 작은 테스트 케이스로 코드를 한 줄씩 살펴보며 코드가 제대로 동작하는지 확인합니다.

다음과 같은 몇 가지 테스트 케이스를 시험합니다.

정상적인 테스트 케이스(normal test case) 가장 일반적인 시나리오가 포함된 긍정적인 테스트 사례이며, 코드의 기본 논리 작동에 중점을 둡니다. 예를 들어 연결 리스트 문제를 푼다면 이 테스트는 서너 개의 노드가 있는 연결 리스트가 입력으로 주어질 때 무슨 일이 발생하는지를 포함해야 합니다. 코드를 다 작성했다고 말하기 전에 항상 이 테스트 케이스를 고려해야 합니다.

엣지 케이스(edge case) 코드의 경계를 시험하려고 설계된 테스트 케이스입니다. 앞과 같은 연결 리스트 알고리즘에서 빈 리스트나 하나의 노드만 전달될 때 코드가 어떻게 작동하는지를 시험하고자 엣지 케이스를 만듭니다. 엣지 케이스는 코드를 더욱 탄탄하게 합니다. 이러한 조건을 처리하기 위해 코드에 추가할 항목은 거의 없습니다.

로드 테스트(load test) 이 테스트는 거대한 데이터로 시험합니다. 코드가 느리거나 메모리를 너무 많이 사용하는지를 시험하는 데 사용합니다.

 

항상 이 다섯 단계를 따라야 합니다. 제약 조건 분석, 아이디어 구상, 복잡도 계산을 하기 전에 절대로 코딩을 먼저 하면 안 됩니다. 적어도 테스트 단계만은 놓쳐서는 안 됩니다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.