소프트웨어 개발 실무자는 소프트웨어 제품의 가장 작은 테스트 가능한 구성 요소를 지칭하기 위해 단위라는 용어를 사용하고 단위가 예상대로 작동하는지 확인하는 프로세스를 지칭하기 위해 단위 테스트라는 문구를 사용합니다. 지난 20년 동안 이러한 실무자는 자동화된 단위 테스트에 점점 더 관심을 갖게 되었고 단위 테스트 프레임워크라는 문구는 자동화된 단위 테스트를 용이하게 하는 데 사용되는 메커니즘을 지칭하게 되었습니다.
JSL 개발자를 포함한 소프트웨어 개발자는 자신이 개발한 소프트웨어가 예상대로 작동하는지 확인하는 데 기득권이 있습니다. 이러한 명백한 동기 외에도 두 가지 추가 이유가 있습니다.
1. 소프트웨어 진화: 소프트웨어는 시간이 지남에 따라 진화합니다. 일반적으로 이는 기능이 추가되거나 변경되기 때문이지만 때로는 리팩토링으로 인해 소프트웨어가 진화합니다. 제품을 검증하는 데 정기적으로 사용되는 적절하게 유지 관리된 단위 테스트 사례 모음은 소프트웨어 제품이 진화함에 따라 예상 동작을 유지하도록 보장할 수 있습니다. 제품이 진화함에 따라 후퇴(중단되거나 작동이 중단됨)하는 단위는 빠르게 식별됩니다.
2. 실행 가능한 문서: 단위 테스트 사례는 소프트웨어 제품의 예상 동작을 문서화합니다. 자동화된 단위 테스트의 이점 중 하나는 테스트 사례가 실행 가능한 문서 역할을 한다는 것입니다. 결과적으로 테스트 사례가 제품이 진화함에 따라 제품을 검증하는 데 정기적으로 사용되는 한, 이러한 테스트 사례는 정적인 서면 문서와 달리 소프트웨어 제품의 올바른 예상 동작을 반영할 가능성이 높습니다.
최근 몇 년 동안, 단위 테스트 전반, 특히 자동화된 단위 테스트의 주요 옹호자는 eXtreme Programming(XP) 커뮤니티였습니다. 부분적으로 이 커뮤니티의 열의 덕분에 단위 테스트 프레임워크는 이제 모든 주요 프로그래밍 언어에서 사용할 수 있습니다.

JMP가 소프트웨어 개발에 단위 테스트를 사용하는 방법에 대해 자세히 알아보려면 JMP 개발자 Joseph Morgan과 Xan Gregg가 쓴 전체 기사의 PDF 파일을 다운로드하세요.