# effective testing
테스트 가능 설계
제품 코드는 단위 테스트를 쉽고 빠르게 작성할 수 있도록 설계해야 한다. 테스트 가능 설계는 테스트코드에서 클래스를 생성하고, 구현 일부를 대체하고, 다른 시나리오를 시뮬레이션하고, 원하는 실행경로를 선택하는 등의 작업을 쉽게할 수 있도록 해준다. 테스트 용이성이 떨어질 수록 테스트를 작성하는 프로그래머의 부담이 커진다. 모듈러 설계 SOLID 설계 원칙...
신뢰성
코드 주석과 관련된 테스트 냄새 미흡한 기대치 관리로 인한 테스트 냄새 조건부 실행과 관련되 테스트 냄새 신뢰할 수 있는 코드를 만들기 위해서는 테스트 자체도 믿음직 해야 한다. 주석으로 변한 테스트 주석으로 변한 테스트는 한낱 잡음에 불과하다. 개선 방법 이해해 보려 노력하고 검증한다. 이해 된다면 주석을 풀고 파악한 목적이 더 잘 표현되게...
가독성
단언문과 관련된 테스트 냄새 제품 코드에 흩뿌려진 정보와 관련된 테스트 냄새 과하거나 불필요한 세부 정보와 관련된 테스트 냄새 테스트란 코드에 바라는 동작과 가정을 프로그래머식으로 표현한 것, 읽은 프로그래머는 코드가 해야 할 일을 이해하고 실제로 한 일이 무엇인지 말할 수 있어야 한다. 기본타입 단언 단얼하려는 이유나 의도가 의미를 알 수 없는 단어나...
테스트 더블
테스트 더블로 할 수 있는 일 테스트 더블의 종류 테스트 더블을 효율적으로 활용하기 위한 지침 스텁 예전의 의미 : 제품 코드가 온전히 준비되기 전까지 사용할 대용품 테스트에서 의미 : 대상 코드를 격리하고, 속도를 개선하고, 예측 불가능한 요소를 제어하고, 특수한 상황을 시뮬레이션하고, 감춰진 정보를 얻어내는 용도 테스트 더블의 위력 테스트 대...