오늘 뭐했냐/개발에 대한 주저리
23.09.02 테스트 코드 (Test Code)
스스로에게
2023. 9. 9. 11:20
테스트 코드는 소프트웨어의 특정 부분이 예상대로 동작하는지 확인하기 위해 작성되는 코드입니다. 이를 통해 버그와 예외 상황을 사전에 찾아내고 코드 변경 사항이 기존 기능에 영향을 미치지 않는지 확인할 수 있습니다.
단위 테스트 (Unit Test)
가장 작은 코드 단위를 테스트하여 개발 초기 단계에서 버그를 빨리 발견하고 수정할 수 있습니다.
- 목적: 코드의 가장 작은 단위(함수, 메서드 등)가 예상대로 동작하는지 확인
- 특징: 빠르고, 작은 범위의 코드만을 테스트
통합 테스트 (Integration Test)
개별적으로 테스트된 컴포넌트들이 서로 잘 작동하는지 확인합니다. 이는 시스템의 다양한 부분이 올바르게 상호 작용하는지를 보장합니다.
- 목적: 서로 다른 단위의 코드가 올바르게 연동되는지 확인
- 특징: 단위 테스트보다는 더 넓은 범위의 코드를 대상으로 함
시스템 테스트 (System Test)
전체 시스템이 사용자의 요구 사항과 명세를 충족하는지 최종적으로 검증합니다. 이 단계에서는 애플리케이션과 그 외 시스템(하드웨어, 네트워크 등)의 상호 작용도 검토됩니다.
- 목적: 전체 시스템이 예상대로 동작하는지 확인
- 특징: 통합 테스트 이후에 수행, 애플리케이션과 관련된 하드웨어, 네트워크, 데이터베이스 등을 포함할 수 있음
테스트 코드의 장점
- 버그 발견: 초기 단계에서 버그를 쉽게 발견할 수 있습니다.
- 리팩토링 용이: 코드 구조를 변경하거나 개선할 때, 테스트 코드가 있으면 기존 기능이 깨지지 않았는지 쉽게 확인할 수 있습니다.
- 문서의 역할: 테스트 코드는 해당 코드의 사용법과 기대되는 동작을 명시적으로 보여주므로 문서의 역할을 할 수 있습니다.
테스트 코드의 작성 가이드라인
- 단순하게 작성: 테스트 코드는 간결하고 명확해야 합니다.
- 독립성 유지: 각 테스트 케이스는 다른 테스트 케이스와 독립적으로 동작해야 합니다.
- 명확한 목적: 각 테스트 코드에는 명확한 목적과 기대 결과가 있어야 합니다.