동적 테스트
Dynamic testing동적 테스트(또는 동적 분석)는 코드의 동적 동작 테스트를 설명하기 위해 소프트웨어 엔지니어링에서 사용되는 용어입니다.
즉, 동적 분석은 일정하지 않고 시간에 따라 변화하는 변수에 대한 시스템의 물리적 반응을 검사하는 것입니다.동적 테스트에서는 실제로 소프트웨어를 컴파일하여 실행해야 합니다.소프트웨어 조작, 입력값 제공, 수동 또는 자동화된 프로세스를 사용하여 수행할 수 있는 특정 테스트 케이스를 실행하여 출력이 예상대로인지 확인하는 작업이 포함됩니다.이는 정적 테스트와는 대조적입니다.유닛 테스트, 통합 테스트, 시스템 테스트 및 인수 테스트에서는 동적 테스트를 사용합니다.종이 또는 골판지로 만든 모의 버전을 포함하는 가용성 테스트는 프로그램이 실행되지 않은 것을 고려할 때 정적 테스트로 분류할 수 있으며, 사용자와 이러한 모의 버전 간의 상호작용을 고려할 때 동적 테스트로 분류할 수 있는 것은 프로토타입의 가장 기본적인 형태이다.
주요 절차
소프트웨어 개발에서의 동적 테스트 프로세스와 기능은 유닛 테스트, 통합 테스트, 시스템 테스트, 수용 테스트 및 마지막으로 회귀 테스트로 나눌 수 있습니다.
유닛 테스트는 소프트웨어의 기본 컴포넌트의 정확성에 초점을 맞춘 테스트입니다.유닛 테스트는 화이트 박스 테스트의 범주에 속합니다.전체 품질검사 시스템에서는 제품군이 단위시험을 완료하고 시험부서에 소프트웨어를 인계해야 합니다.
통합 테스트는 소프트웨어 전체의 통합 프로세스에서 다양한 장치 간의 인터페이스가 올바르게 연결되어 있는지 여부를 검출하기 위해 사용됩니다.
통합을 완료한 소프트웨어 시스템을 테스트하는 것을 시스템 테스트라고 합니다.테스트의 목적은 소프트웨어 시스템의 정확성과 성능이 사양에 지정된 요건을 충족하는지 확인하는 것입니다.시험실무자는 정해진 시험계획을 따라야 한다.소프트웨어의 견고성과 사용 편의성을 테스트할 때 소프트웨어의 입력, 출력 및 기타 동적 동작과 소프트웨어 사양을 비교해야 합니다.소프트웨어 사양이 불완전할 경우, 시스템 테스트는 시험자의 작업 경험과 판단에 따라 달라지기 때문에, 그러한 테스트는 충분하지 않습니다.시스템 테스트는 블랙박스 테스트.
이 테스트는 소프트웨어를 사용하기 전 마지막 테스트입니다.구매자의 소프트웨어 시용 과정입니다.회사의 실제 업무에서는 일반적으로 고객에게 소프트웨어의 베타 버전을 시험 또는 출시하도록 요청함으로써 구현됩니다.승인 테스트는 Black-box 테스트입니다.
회귀 테스트의 목적은 소프트웨어 유지보수 단계에서 승인 테스트 결과를 확인하고 수정하는 것입니다.실제 적용에서 고객 불만 처리는 회귀 테스트의 한 형태이다.
평가하기
![]() |
이점
- 동적 테스트를 통해 런타임 환경의 취약한 영역을 식별할 수 있습니다.
- 동적 테스트는 테스터에 실제 코드가 없는 경우에도 애플리케이션 분석을 지원합니다.
- 동적 테스트에서는 정적 테스트에서는 찾기 어려운 취약성을 식별할 수 있습니다.
- 또한 동적 테스트를 통해 정적 테스트 결과의 정확성을 확인할 수 있습니다.
- 동적 테스트는 모든 애플리케이션에 적용할 수 있습니다.
단점들
- 자동화된 툴은 모든 것을 확인하는 등 잘못된 보안을 제공할 수 있습니다.
- 자동화된 도구를 사용하면 잘못된 긍정 및 잘못된 부정 결과가 생성될 수 있습니다.
- 숙련된 동적 테스트 전문가를 찾는 것은 쉽지 않습니다.
- 동적 테스트는 코드의 취약성을 추적하는 것이 어렵고 문제를 해결하는 데 더 오랜 시간이 걸립니다.따라서 버그를 고치는 데 비용이 많이 듭니다.
「 」를 참조해 주세요.
- 동적 부하 테스트
- 동적 프로그램 분석
- 동적 시스템 또는 제어 시스템의 반응성 테스트를 위한 모델 기반 테스트 방법론인 시간 분할 테스트.
- 다이콘, 동적 불변 생성기.
레퍼런스
- G.J. 마이어스, The Art of Software Testing, John Wiley and Sons, 뉴욕, 뉴욕, 1979.