프로그래밍
[레거시 코드 활용 전략] ch13. 변경해야 하는데, 어떤 테스트를 작성해야 할지 모르겠다
Victory_HA
2024. 1. 9. 23:46
Ch13 변경해야 하는데, 어떤 테스트를 작성해야할까?
- 기존 레거시 코드에 대해서 테스트 코드가 전혀 없을 수 있다.
- 레거시 코드에 변경사항이 일어나면 테스트 루틴을 작성해야한다.
문서화 테스트 (Characterization Test)
- 문서화 테스트란,
기존 동작 유지에 필요한 테스트
- 레거시 시스템에서는 시스템이 무엇을 하는지 중요하고(결과), 어떻게 동작하는지는 중요하지 않다(과정).
- 어떻게 동작하는지에 대한 테스트 작성은 버그를 찾는데에 불과하다.
- 무엇을 하는지에 대한 테스트를
문서화 테스트
라한다.
문서화 테스트 작성 순서
- 테스트 하네스 내에서 대상 코드를 호출
- 실패하는 assetion 코드 작성
- 실패 된 결과로부터 실제 동작을 확인
- 예상되는 결과를 위해(테스트 통과) 테스트 코드를 수정
- 반복
클래스 문서화 (Characterizing Classes)
- 어떻게 테스트를 할 지 결정하기에 앞서, 상위 수준의 클래스 동작 파악이 우선이다.
- 분기문에 대한 테스트 시 모든 분기문이 실행되는지 확인해야한다.
리팩토링을 할 때는 일반적으로 2가지를 확인
- 리팩토링 후 기존 동작이 유지되는지 확인
- 다른 코드와의 관계가 올바른지 확인