- Published on
Software Testing 10 | 소프트웨어 품질을 높이기 위해
- Authors
- Name
- 이건창
Introduction
테스트 코드 품질
품질 좋은 테스트 코드를 작성하기 위해 더 많은 노력을 기울이고 유지 보수를 해야 해.
우수하고 유지 보수 가능한 테스트 코드는 어떤 구성 요소를 가지는지 알아보고, 복잡성을 제어하는 데 도움이 되는 모범 사례를 조사해볼게. 그 다음 문제가 있는 테스트 코드는 어떻게 구성되는지 살펴볼게.
효율적인 테스트 작성: 테스트 코드 유지 보수를 위한 원칙을 지켜라.
효율적인 테스트 작성을 위해서는 다음과 같은 원칙을 지키는게 좋아. 10 가지 정도만 되기 때문에 테스트를 작성하기 전에 읽어보고 작성해야겠어.
- 테스트는 빨라야 한다.
- 테스트는 응집력 있고 독립적이며 격리되어야 한다.
- 테스트는 존재 이유가 있어야 한다.
- 테스트는 반복 가능해야 하며 불안정하지 않아야 한다.
- 테스트의 단언문은 탄탄해야 한다.
- 테스트는 행위가 변경될 경우 깨져야 한다.
- 테스트는 단 하나의 명확한 이유로 실패해야 한다.
- 테스트는 작성하기 쉬워야 한다.
- 테스트는 읽기 쉬워야 한다.
- 테스트는 쉽게 수정하고 진화할 수 있어야 한다.
효율적인 테스트 관리 : 테스트 냄새를 찾아라.
효율적인 테스트 관리를 위해서 냄새나는 코드들을 정리할 필요가 있어.
- 과다한 중복은 생산성을 떨어뜨린다.
- 불명확한 단언문은 실패 이유를 불명확하게 만든다.
- 복잡하거나 외부에 있는 자원에 대한 잘못된 처리는 테스트 실패 원인 파악을 힘들게 만든다.
- 너무 범용적인 픽스처는 테스트 실패 원인 파악을 힘들게 만든다.
- 민감한 단언문 깨지기 쉬운 테스트 코드를 만든다.
책에 나오는 내용들을 지키지 않는다면 어떠한 결과가 있는지 정도로 정리해봤어. 효율적인 테스트 작성하는 경우는 매번 작성할 때마다 고민해보면 좋아보여서 결과를 따로 작성하지 않았어.
원칙들을 지키는 방법은 많아. 어떻게 하면 효율적으로 지킬 수 있을지 고민해보면서 개발해보자.