시험설계

Test design

소프트웨어 공학에서 시험 설계는 시험 조건부터 시험 소프트웨어까지 시험 사례를 도출하고 구체화하는 활동이다.

정의

테스트 조건은 테스트 물체에 대한 문장이다.시험 조건은 기능, 거래, 특징, 품질 속성 또는 구조 요소 등 검증될 수 있는 구성요소 또는 시스템의 어떤 부분에 대해서도 명시될 수 있다.

테스트 설계의 근본적인 어려움은 실행할 수 있는 다양한 테스트가 무한히 많지만, 모든 테스트를 실행할 수 있는 시간이 충분하지 않다는 것이다.테스트의 하위 집합을 선택해야 한다. 실행할 수 있을 만큼 작지만 테스트가 버그를 찾고 다른 품질 관련 정보를 노출할 수 있을 만큼 충분히 우수하다.[1]

테스트 디자인은 소프트웨어 품질의 가장 중요한 전제 조건 중 하나이다.우수한 테스트 설계 지원:

  1. 품질 관련 프로세스 및 절차 정의 및 개선(품질 보증)
  2. 고객의 기대와 요구에 대한 제품의 품질 평가(품질 관리)
  3. 제품에서 결점 찾기(상호 테스트).

시험 설계의 필수 전제조건은 다음과 같다.[2]

  1. 적절한 사양(시험 기준)
  2. 위험 및 복잡성 분석.
  3. 이전 개발의 과거 데이터(있는 경우)

요구사항이나 사용자 이야기와 같은 시험 기준은 무엇을 시험해야 하는지(시험 대상 및 시험 조건)를 결정한다.시험 베이스에는 사용되거나 사용하지 않는 일부 시험 설계 기법이 포함된다.

시험의 철저성을 판단하기 위해서는 리스크 분석이 불가피하다.기능/객체 사용의 위험성이 클수록 더 철저한 검사가 필요하다.복잡성도 마찬가지라고 할 수 있다.위험 및 복잡도 분석은 주어진 규격에 적용할 시험 설계 기법을 결정한다.

이전 개발의 과거 데이터는 최적의 시험 설계 기법을 설정하여 비용 최적화와 고품질에 함께 도달하는 데 도움이 된다.과거 데이터가 부족하면 몇 가지 가정을 할 수 있으며, 이는 후속 프로젝트에 대해 개선되어야 한다.

이러한 전제조건에 기초하여 최적의 시험 설계 전략을 구현할 수 있다.

시험 설계의 결과는 규격에 기초한 시험 사례의 집합이다.이러한 테스트 사례는 구현이 시작되기 전에 설계할 수 있으며 구현에 독립적이어야 한다.시험 설계의 첫 번째 방법은 결점 예방을 효율적으로 지원하기 때문에 매우 중요하다.응용 프로그램과 현재 시험 범위에 기초하여 추가 시험 케이스를 만들 수 있다(그러나 시험 설계는 아니다).

실제로 복잡한 규격에는 더 많은 시험 설계 기법을 함께 적용해야 한다.

전체적으로, 시험 설계는 시험을 만드는 사람의 비범한 (마법에 가까운) 기술에 의존하지 않고 잘 이해된 원칙에 기초한다.[3]

ISO/IEC/IEEE 29119-4:2015, Part 4는 시험 설계 기법의 표준 정의를 자세히 설명한다.테스트 설계자 사이트는 효과적인 학습, 운동 및 기법 적용을 지원하기 위한 LEA(Learn-Excise-Apply) 방법론을 제공한다.[4]

자동시험설계

실제 버그를 노출하는 전체 테스트 스위트 또는 테스트 케이스는 모델 확인이나 상징적 실행을 통해 소프트웨어에 의해 자동으로 생성될 수 있다.모델 점검은 간단한 프로그램의 모든 경로를 연습할 수 있는 반면, 상징적인 실행은 버그를 감지하고 이 테스트 케이스를 사용하여 소프트웨어를 실행할 때 버그를 노출시키는 테스트 케이스를 생성할 수 있다.

그러나, 자동 시험 설계가 좋을 수 있는 만큼, 모든 상황에 적합한 것은 아니다.복잡성이 너무 높아지면 인간 시험 설계는 훨씬 유연하고 더 높은 수준의 시험 세트를 생성하는 데 집중할 수 있기 때문에 반드시 실행되어야 한다.

참조

  1. ^ 테스트 디자인: 2016년 7월 Cem Caner와 Rebecca L Fiedler가 작성한 BBST 워크북
  2. ^ 실제 테스트 설계: Istvan Fordacs와 Attila Kovacs의 전통적이고 자동화된 시험 설계 기법 선정, 2019년 8월
  3. ^ Lee Copeland, 2004년 1월 소프트웨어 테스트 설계 실무자 가이드
  4. ^ István Forgács, Attila Kovács (2021). Paradigm Shift in Software Testing. MeasureIT. ISBN 978-615-01-2781-1.