[C# 단위테스트] 단위테스트 목표

참조

  • 단위 테스트 생산성과 품질을 위한 단위 테스트 원칙과 패턴


단위 테스트 현황

  • 실무에서 단위테스트는 필수로 자리를 잡았습니다.
  • 대부분의 프로그래머는 단위 테스트를 실천하고 중요성에 대해 인지합니다.
  • 단위테스트는 더 이상 논쟁거리가 아니고 그냥 써야 하는 것입니다.


단위 테스트의 목표

  • 흔히 단위 테스트 활동이 더 나은 설계로 이어진다고 생각합니다.
  • 이는 사실입니다. 코드 베이스에 대해 단위 테스트 작성이 필요하면 일반적으로 더 나은 설계로 이러집니다.
  • 하지만 단위 테스트의 주 목표는 아닙니다. 더 나은 설계는 단지 좋은 부수 효과일 뿐입니다.
  • 단위 테스트의 목표는, 소프트웨어 프로젝트의 지속 가능한 성장을 가능하게 하는 것입니다.
  • 지속성과 확장성이 핵심이며, 이를 통해 장기적으로 개발 속도를 유지할 수 있습니다.


좋은 테스트와 좋지 않은 테스트를 가르는 요인

  • 지속 가능한 프로젝트 성장을 위해서는 고품질 테스트에만 집중해야 합니다.
  • 고품질 테스트만이 테스트 스위트에 남을 만한 테스트 유형입니다.


단위 테스트에서 커버리지 지표란?

  • 커버리지 지표는 좋은 부정 지표이지만 나쁜 긍정 지표도 뜻합니다.
  • 커버리지 숫자가 낮으면 문제 징후라 할 수 있습니다.
  • 코드베이스에 테스트되지 않은 코드가 많다는 뜻입니다.
  • 그러나 높은 숫자도 별 의미는 없습니다.
  • 그러므로 코드 커버리지를 측정하는 것은 품질 테스트 스위트로 가는 첫 걸음 이라고 생각하면 됩니다.


정리

  • 코드는 점점 나빠지는 경향이 있다. 지속적인 정리와 리팩터링 등과 같은 적절한 관리가 없으면 시스템은 점점 더 복잡해지고 흐트러집니다.
  • 단위 테스트를 작성하는 것이 중요합니다.
  • 단위 테스트의 목표는 소프트웨어 프로젝트가 지속적으로 성장하게 하는 것입니다.
  • 모든 테스트를 똑같이 작성할 필요는 없습니다.
  • 단위 테스트 코드 기능은 좋은 리트머스 시험이지만, 한 방향으로만 작동합니다. 좋은 부정 지표이지만 나쁜 긍정 지표이기도 합니다.
  • 성공적인 테스트 스위트는 다음과 같습니다.
    • 개발 주기에 통합돼 있다.
    • 코드베이스 중 가장 중요한 부분만을 대상으로 합니다.
    • 최소한의 유지비로 최대의 가치를 끌어냅니다.
728x90

이 글을 공유하기

댓글

Designed by JB FACTORY