단위 테스트의 목적
지속 가능한 소프트웨어 개발을 위한 방법.
테스트가 없는 소프트웨어 개발을 하다보면 오류에 취약하고 확장성이 없는 코드를 만들어 내기 시작하고 이것이 어느 순간 부터 버그를 눈덩이처럼 만들기 시작하면 버그를 수정하기 위한 시간을 더 많이 소비해 결국 실질 작업 속도를 잡아먹는 다는 이야기
좋은 테스트란?
-> 기반 코드를 리팩토링하면서 테스트 코드도 신경쓰며 리팩토링하는 것
-> 각 코드 변경시 테스트를 실행
-> 테스트가 잘못된 경고를 발생시킬 경우 해결
-> 기본 코드가 어떻게 동작하고 이해하려고 할 때는 테스트를 읽는 데 투자
코드 커버리지
- 테스트가 커버하는 비지니스 로직의 비율은 얼마나 되는 가?
- 비지니스 로직의 일부분중 테스트가 커버하는 부분이 없지는 않는 가?
테스트를 하는 이유?
-> 테스트는 최우선 목적은 지속가능한 소프트웨어 개발에 있음.
-> 테스트를 하는 것은 나쁜 코드를 판별할 수 있지만 그렇다고 테스트가 가능하다고 품질을 보증하지는 않음.
성공적인 테스트 스위트 (테스트 케이스 만들기)
- 개발 주기에 통합돼 있다.
- 코드 베이스에서 가장 중요한 부분만을 대상으로 한다.
- 최소한의 유지비로 최대의 가치를 끌어낸다.
항상 최고의 효율을 목표로 테스트 케이스를 작성하라.
- 아주 중요한 비지니스 로직
- 테스트에서 중요하지 않은 부분을 분리한다.
테스트를 작성하면서 염두해 둘 것
- 좋은 테스트와 좋지 않은 테스트 (안티 패턴)을 유의하면서 작성할 것
- 테스트를 리팩토링해서 더 가치있게 만든다.
참고
Unit Testing 단위 테스트, 블라디미르 코리코프 지음
https://github.com/jinsnowy/UnitTest_Study
'TDD > 단위 테스트' 카테고리의 다른 글
[단위 테스트] 단위 테스트 스타일 (0) | 2022.12.20 |
---|---|
[단위 테스트] 목과 테스트 취약성 (0) | 2022.12.19 |
[단위 테스트] 좋은 단위 테스트의 4대 요소 (0) | 2022.12.18 |
[단위 테스트] 단위 테스트 구조 (0) | 2022.12.18 |
[단위 테스트] 단위 테스트 정의와 활용 (0) | 2022.12.18 |