Ch13 변경해야 하는데, 어떤 테스트를 작성해야할까?
- 기존 레거시 코드에 대해서 테스트 코드가 전혀 없을 수 있다.
- 레거시 코드에 변경사항이 일어나면 테스트 루틴을 작성해야한다.
문서화 테스트 (Characterization Test)
- 문서화 테스트란,
기존 동작 유지에 필요한 테스트
- 레거시 시스템에서는 시스템이 무엇을 하는지 중요하고(결과), 어떻게 동작하는지는 중요하지 않다(과정).
- 어떻게 동작하는지에 대한 테스트 작성은 버그를 찾는데에 불과하다.
- 무엇을 하는지에 대한 테스트를
문서화 테스트
라한다.
문서화 테스트 작성 순서
- 테스트 하네스 내에서 대상 코드를 호출
- 실패하는 assetion 코드 작성
- 실패 된 결과로부터 실제 동작을 확인
- 예상되는 결과를 위해(테스트 통과) 테스트 코드를 수정
- 반복
클래스 문서화 (Characterizing Classes)
- 어떻게 테스트를 할 지 결정하기에 앞서, 상위 수준의 클래스 동작 파악이 우선이다.
- 분기문에 대한 테스트 시 모든 분기문이 실행되는지 확인해야한다.
리팩토링을 할 때는 일반적으로 2가지를 확인
- 리팩토링 후 기존 동작이 유지되는지 확인
- 다른 코드와의 관계가 올바른지 확인
'프로그래밍' 카테고리의 다른 글
[VisualStudioCode] SSH 원격접속 오류 (1) | 2024.04.26 |
---|---|
[Tensorflow] TF.Function (0) | 2024.02.20 |
[VisualStudio] 고정 탭 옵션 (2) | 2024.01.04 |
[디자인패턴] 전략패턴 (Strategy Pattern) (0) | 2024.01.03 |
[레거시 코드 활용 전략] ch12. 클래스 의존 관계, 반드시 없애야할까? (1) | 2024.01.02 |