소스 프리징까지 3주, 남은 개발건 두가지.
사실 지금까지 개발해오면서 가장 아쉬웠던 부분은 테스트 코드를 작성하지 못하였다는 점이다. 개발표준에 테스트코드 관련한 부분이 없기도 하였고, 외부망을 사용하지 못하는 환경 특성상 폐쇄적인 운용으로 인해 개인적이고 사소한 구성 하나가 전체를 흔들리게 하는 위험이 있었기 때문이다.
하지만 오픈이 얼마 안남은 시점에서 조심스럽게 환경구성을 해치치 않는 선에서, 개인 로컬 환경 내에서 테스트 코드 환경 구성과 진행을 해도 된다는 허락을 받을 수 있었다.
정말 좋은 기회가 왔다고 생각하고, 마침 신규 개발건이 있기에 이 개발건을 테스트코드와 함께 진행해보고자 한다.
테스트코드 작성기는 MIS 조회 프로그램에 대해서만 시험적으로 일단 해보는 것이지만, 내가 자체적으로 하는 테스트 코드인 만큼 최대한 배울 수 있는것들은 모조리 배우고 개발을 마쳐보고자 한다.
일단 테스트 코드 환경 구성을 하기 전에, 전체 팀 프로젝트에 위해가 가면 절대 안된다.
따라서 내가 생각한 방안은 두가지이다.
첫번째가 당연히 낫겠지만, 번거롭더라도 난 두번째 방안을 해보고자 한다.
일단 현업의 상태 그대로 테스트를 해보는게 좋을 것 같고, 어차피 Junit 라이브러리만 사용하는거라서 업데이트도 그리 오래 걸리지 않기 때문에 조금의 번거로움은 있더라도 이 방안이 나한테 그나마 좀 남을 것 같다는 생각이 들었다.
테스트코드 작성 계획은 다음과 같이 세웠다.
3가지 테스트는 진행해보고 개발을 마무리하는 것을 목표로 한다.
1) 테스트코드의 생명 주기를 이용한 테스트 - Before(전처리), After(후처리)
(*전처리 : 컨트롤러, 서비스 등의 생성, 후처리 : 익셉션/정상조회 판별 등)
2) BDD 기반의 테스트 코드 작성 - 파라미터 전달 테스트, 조회 결과에 대한 테스트
3) BDD 테스트 코드는 메서드 형식으로 작성, Given, When, Then의 3가지 세부사항으로 나누어 테스트코드의 목적에 부합할 수 있도록 구체화하여 작성성
https://sjh9708.tistory.com/195
https://devbksheen.tistory.com/entry/%ED%85%8C%EC%8A%A4%ED%8A%B8-%EC%BD%94%EB%93%9C-%EC%9E%91%EC%84%B1%ED%95%98%EA%B8%B0JUnit-TDD-BDD-Mockito
(TDD/BDD 등 이론 참고자료)