테스트 디자인은 요구사항, 사양 및 제품 분석을 기반으로 테스트 시나리오와 데이터를 개발하는 과정입니다. 최대의 커버리지를 보장하고 중복 노력을 최소화하기 위해 테스트를 구조화해야 할 필요성에서 발생했습니다.
문제의 역사:
예전에는 테스트가 직관적으로 작성되어 검사에서 누락이 발생하고 자원의 비효율적인 사용이 초래되었습니다. 테스트 디자인 방법론은 품질과 커버리지의 완전성을 높일 수 있게 해주었습니다.
문제:
형식화된 기술이 없으면 유사한 테스트의 과도한 발생이나 반대로 중요한 경우를 놓칠 위험이 존재합니다. 또한 릴리스 전에 테스트의 충분성을 입증하기 어려워집니다.
해결책:
테스트 디자인 기법을 도입함으로써 자원을 합리적으로 분배하고 가장 우선적인 검사를 식별하며 커버리지 관리를 진행할 수 있습니다. 주요 기법:
주요 특징:
완전한 커버리지에 대해 경계 값만으로 테스트하는 것이 충분한가요?
아니요, 긍정적/부정적 시나리오, 비즈니스 로직 검증 및 비동등 사례를 고려해야 합니다.
어떤 경우에 쌍 테스트가 동등 분할보다 나은가요?
여러 매개변수가 서로 다른 값의 범위를 가질 때, 쌍 테스트가 매개변수 간의 상호 작용 오류를 더 효과적으로 증명합니다.
구식 사양에서의 테스트가 충분한가요?
아니요, 사양은 최신 상태로 유지되어야 하며, 그렇지 않으면 테스트 커버리지가 현재 제품에 맞지 않게 됩니다.
"나이" 필드를 18, 25, 40세만 테스트했지만 경계에서의 치명적인 오류(0, 100)를 릴리스 전까지 발견하지 못했습니다.
장점:
단점:
동등 클래스 및 경계 값 방법을 사용하여 테스트는 0, 1, 17, 18, 99, 100, 101과 범위 내 전형적인 값을 커버했습니다.
장점:
단점: