티스토리 뷰

Java

[Java] 리팩터링 테스트

snail voyager 2023. 12. 16. 14:23
728x90
반응형

리팩터링을 제대로 하려면 불가피하게 저지르는 실수를 잡아주는 견고한 Test suite가 뒷받침돼야 한다.

컴파일할 때마다 테스트를 함께하면 디버깅 시간이 크게 줄어든다.

 

테스트 스위트는 강력한 버그 검출 도구로, 버그를 찾는 데 걸리는 시간을 대폭 줄여준다.

 

테스트를 작성하기 가장 좋은 시점은 프로그래밍을 시작하기 전이다.

기능을 추가해야 할 때 테스트부터 작성한다.

원하는 기능을 추가하기 위해 무엇이 필요한지 고민하게 되고

구현보다 인터페이스에 집중하게 된다는 장점

 

TDD(Test Driven Development)

처음에는 통과하지 못할 테스트를 작성하고,

이 테스트를 통과하게끔 코드를 작성하고,

결과 코드를 최대한 깔끔하게 리팩터링하는 과정을 짧은 주기로 반복한다.

테스트-코딩-리팩터링

 

실패해야 할 상황에서는 반드시 실패하게 만들자
자주 테스트하라. 작성 중인 코드는 최소한 몇 분 간격으로 테스트하고,
적어도 하루에 한 번은 전체 테스트를 돌려보자
단순히 필드를 읽고 쓰기만 하는 접근자는 테스트할 필요가 없다.
완벽하게 만드느라 테스트를 수행하지 못하느니, 불완전한 테스트라도 작성해 실행하는 게 낫다.
문제가 생길 가능성이 있는 경계 조건을 생각해보고 그 부분을 집중적으로 테스트하자

 

테스트가 모든 버그를 걸러주지는 못할지라도, 안심하고 리팩터링할 수 있는 보호막은 되어준다.

리팩터링을 하면서 프로그램을 더욱 깊이 이해하게 되어 더 많은 버그를 찾게 된다.

728x90
반응형

'Java' 카테고리의 다른 글

[Java] Enum Singleton Pattern  (0) 2023.12.27
[Java] 기본적인 리팩터링  (0) 2023.12.16
[Java] 리팩터링 원칙  (0) 2023.12.03
[Java] CompletableFuture  (1) 2023.11.27
[Java] 리팩터링  (1) 2023.11.26
반응형
300x250