전통문화대전망 - 전통 미덕 - 개발 과정에서 단위 및 기능 테스트를 사용하는 방법

개발 과정에서 단위 및 기능 테스트를 사용하는 방법

이 방법을 사용하려면 새로 추가된 각 기능에 대한 단위 테스트를 작성하고 유지 관리해야 합니다. 단위 테스트를 통과하지 않으면 모듈에 코드를 추가할 수 없습니다. 코드 라이브러리가 커짐에 따라 이러한 테스트를 통해 개발자는 변경 사항을 증거와 통합할 수 있습니다. 처음에는 이러한 단위 테스트가 전체 상황에 대처하기에 충분하다고 생각했고 기능 테스트를 언급할 필요가 없었습니다. 오, 또 틀렸어요. 기능 테스트와 단위 테스트는 완전히 다릅니다. 그 차이점과 개발 과정을 개선하기 위해 그것들을 결합하는 방법을 이해하는 데 오랜 시간이 걸렸습니다. 이 문서에서는 단위 테스트와 기능 테스트의 차이점에 대해 설명하고 일상적인 개발 과정에서 이를 사용하는 방법에 대해 설명합니다. 개발자로서 테스트는 매우 중요하므로 거의 모든 시간을 들여 완성해야 합니다. 개발 과정의 특정 단계로 나눌 필요가 있을 뿐만 아니라 분명히 이것은 고객에게 시스템을 제공하기 전에 완료해야 하는 마지막 임무가 아니어야 합니다. 하지만 언제 끝날지 어떻게 알 수 있습니까? 아니면 작은 버그를 수정하는 것이 시스템의 주요 기능을 손상시켰는지 어떻게 알 수 있습니까? 아니면 이 시스템의 발전이 현재의 상상을 초월할 수 있을까? 테스트, 단위 및 기능은 모두 개발 프로세스의 일부여야 합니다. 단위 테스트는 코드 작성의 핵심 부분이어야 합니다. 특히 프로젝트를 할 때, 긴장된 시간이 개발 진도를 제한하고, 통제되고 질서 있게 진행되기를 바랍니다. 코드를 쓰기 전에 테스트도 테스트 작성의 중요한 부분이기를 바랍니다. 적절한 단위 테스트 세트에는 가능한 최상의 설계를 설명하고, 클래스 문서에 가장 적합한 형식을 제공하고, 클래스가 완료되는 시기를 결정하는 기능이 있어야 합니다. 코드에 대한 개발자의 신뢰를 높이는 것은 빠른 재구성의 기초이다. 당연히 시스템에는 단위 테스트에 필요한 설계 문서가 포함되어야 합니다. 다시 한 번 읽어 보면, 이것이 소프트웨어 개발 과정의 성배라는 것을 알게 될 것이며, 문서는 시스템 변화에 따라 점진적으로 진화한다. 각 클래스에 완전한 문서를 제공하는 것이 일련의 사용 프레임워크 또는 일련의 제어 가능한 입력을 제공하는 것보다 훨씬 낫습니다. 이렇게 하면 단위 테스트의 점진적 통과로 인해 설계 문서가 언제든지 업데이트됩니다. 코드를 작성하기 전에 테스트 작성 프로세스를 완료해야 합니다. 이렇게 하면 테스트에 포함된 클래스에 대한 설계 솔루션이 제공되고 코드에서 더 작은 프로그램 모듈을 확인하라는 메시지가 표시됩니다. 이런 연습도 설계안을 더 쉽게 만들 수 있다. 미래의 상황을 이해하고 불필요한 기능을 실현하려고 해서는 안 된다. 테스트를 작성하면 코스가 언제 끝나는지 알 수 있습니다. 모든 테스트가 통과되면 임무가 완료되었다고 할 수 있다. 마지막으로, 단위 테스트는 개발자를 만족시킬 수 있는 더 높은 수준의 기반을 제공합니다. 코드를 변경하는 동안 단위 테스트를 수행하면 코드를 제거할 때 즉시 이를 알 수 있습니다. 기능 테스트는 시스템이 출시 준비가 되었음을 나타내므로 단위 테스트보다 더 중요합니다. 기능 테스트를 통해 운영 체제를 사용할 수 있습니다. 적용 가능한 기능 테스트 세트에는 사용자의 요구 사항을 효과적으로 파악하고 이러한 요구 사항에 대한 시스템 근거를 프로젝트 팀 구성원 (사용자 및 개발자 포함) 에게 전달하는 기능이 있어야 합니다. 기능 테스트는 사용자의 요구를 효과적으로 파악해야 합니다. 기존 개발자는 사용 과정에서 요구 사항을 발견했습니다. 일반적으로 사람들은 프로젝트 엔지니어링을 사용하는 데 동의하며 이를 사용자 정의하는 데 상당한 시간을 할애합니다. 그들이 완성했을 때, 그들은 단지 폐지 한 무더기를 얻었다. 기능 테스트는 자체 효율적인 프로젝트 사용과 유사합니다. ExtremeProgramming 은 이 개념을 설명할 수 있습니다. XP 는 향후 사용자와 개발자 간의 의사 소통 기술에 대한 설명입니다. 기능 테스트도 이런 교류의 결과이다. 기능 테스트를 거치지 않으면 이 주장은 성립되지 않는다. 기능 테스트는 단위 테스트와 프로젝트 팀에 제출된 코드 기반 사이의 공백을 메웁니다. 단위 테스트에서는 많은 오류가 누락될 수 있습니다. 그것은 당신이 필요로 하는 모든 코드의 유효 부분을 줄 수 있고, 또한 당신이 필요로 하는 전체 시스템을 줄 수 있다. 기능 테스트는 단위 테스트에서 누락된 문제를 노출시킬 수 있습니다. 일련의 서비스 가능한 자동화 기능 테스트도 네트워크 누출을 방지하지만, 적어도 가장 포괄적인 독립 단위 테스트보다 훨씬 유용합니다. 단위 테스트 대 기능 테스트 단위 테스트는 개발자에게 코드가 제대로 실행되도록 지시하고 기능 테스트는 코드가 제대로 작동한다고 말합니다. 단위 테스트 단위 테스트는 개발자의 관점에서 작성되었습니다. 클래스의 각 특정 메서드가 일련의 특정 작업을 성공적으로 수행하도록 합니다. 각 테스트는 주어진 알려진 입력에 대해 원하는 출력을 얻을 수 있도록 해야 합니다. 테스트 프레임워크가 없으면 일련의 유지 관리 가능한 자동화 단위 테스트를 작성하는 것은 거의 불가능합니다. 시작하기 전에 프로젝트 팀이 승인한 프레임워크를 선택합니다. 계속 쓰고 천천히 좋아해요. 극한 프로그래밍의 소개 페이지 (참고 자료 섹션 참조) 에는 여러 가지 적용 가능한 단위 테스트 프레임워크가 있습니다. 나는 Juint 로 Java 코드를 테스트하는 것을 좋아한다. & lt/P & gt;; 기능 테스트 기능 테스트는 사용자의 관점에서 작성되었습니다. 이러한 테스트를 통해 시스템은 사용자가 예상한 대로 작동할 수 있습니다. 많은 경우, 완전한 시스템을 개발하는 것은 건물을 짓는 것과 더 비슷하다. 물론 이 비유는 완전히 적절한 것은 아니지만 단위 테스트와 기능 테스트의 차이점을 이해하기 위해 확장할 수 있습니다. 단위 테스트는 건물 검사원이 집의 건설 현장을 검사하는 것과 비슷하다. 그는 다른 시스템, 기초, 건축 설계, 전기, 수직선 등에 관심을 가지고 있다. 그는 집의 한 부분을 검사하여 그것이 안전한 상태에서 제대로 작동하는지, 즉 집의 코드를 직접 위반하는지 확인했다. 이 스크립트의 기능 테스트는 집의 주인이 같은 건설 현장을 검사하는 것과 비슷하다. 그가 기대하는 것은 집의 내부 시스템이 정상적으로 작동하고 있고, 주택 검사원이 이미 그의 임무를 수행했다는 것이다. 집 주인은 이런 집에 살면 어떤 모습일지 중요하게 생각한다. 그는 이 집의 외관을 중시하는데, 서로 다른 방에는 적당한 공간이 있고, 집은 가정의 요구에 적합하고, 창문은 마침 가장 좋은 조명 위치에 있다. 집의 주인은 집의 기능 테스트를 실행하고, 그는 사용자의 관점에 서 있다. 주택 검사원은 단위 테스트를 실행하는데, 그는 건설자의 관점에 서 있다. 단위 테스트와 마찬가지로, 서비스 가능하고 자동화된 테스트 프레임워크가 없는 일련의 기능 테스트를 작성하는 것은 거의 불가능합니다. Junit 은 단위 테스트에서 잘 수행했습니다. 그러나 기능 테스트를 작성하려고 할 때 느슨해 보입니다. Junit 은 기능 테스트와 동일하지 않습니다. 지금도 이 기능을 만족하는 제품이 있지만, 아직 제품 개발 과정에 적용되는 것을 보지 못했습니다. 테스트 프레임워크를 찾을 수 없다면 직접 만들어야 합니다. 우리가 프로젝트를 만들 때 얼마나 똑똑했든, 시스템이 얼마나 유연하든 간에, 우리 제품을 사용할 수 없다면 우리는 시간을 낭비하고 있는 것이다. 결론은 기능 테스트가 개발 과정에서 가장 중요한 부분이라는 것이다. 두 가지 유형의 테스트가 모두 필요하기 때문에 가이드를 작성해야 합니다. 단위 테스트를 작성하는 방법