ThePragmaticProgrammer가 준수하는 ComputerProgramming 코딩하는 중 지키는것. 테스트가 쉬운 코드를 만든다.
chip-level에 해당되는 UnitTest를 RegressionTest형식으로 만들고, Contract에 대해 테스팅하며(DesignByContract), boundary value에 대해 통과여부를 확인한다.
간단한 루틴일지라도 이를 설계할때 그 contract와 그 contract를 테스트하는 코드를 동시에 설계해야한다. 에러를 고치는것보다 에초에 에러를 내지 않도록 하는 방법은 코딩전에 테스팅방법을 설계하는 것이다.
본 방법이 확장되면, TestFirstProgramming이 가능해진다.
Test your software, or your users will