SW Testing

1장 테스팅의 기본 개념 (2)_테스팅의 원리

이찰리 2022. 2. 5. 23:56
반응형

|7가지 원리

1. 테스팅은 버그가 있음을 증명하는 활동이지 버그가 없음을 증명하는 활동이 아닙니다.
테스트는 결함이 있음을 보여줄 수 있지만 결함이 없다는 것을 증명할 수는 없습니다. 테스트는 소프트웨어에서 발견되지 않은 버그의 가능성을 줄일 수 있지만 버그가 전혀 발견되지 않은 경우에도 마찬가지입니다. 이것은 소프트웨어가 완벽하다는 것을 의미하지 않습니다.

 

2. 철저한 검사가 불가능합니다.
매우 간단한 소프트웨어를 제외하고 모든 것(입력과 가정의 모든 조합)을 테스트하는 것은 매우 어렵습니다.
불가능한. 따라서 완전한 테스트를 하기 보다는 리스크 분석과 우선순위를 기반으로 테스트에 집중합니다. 집중하는 것이 좋습니다.

 

3. 조기 테스트를 통해 시간과 비용을 절약할 수 있습니다.
버그를 조기에 발견하려면 정적 및 동적 테스트 활동을 소프트웨어 개발 수명 주기에서 최대한 빨리 수행해야 합니다.
테스트를 처음부터 시작해야 함은 왼쪽으로 이동이라고도 합니다. 소프트웨어 수명 주기 초기 테스트는 비용이 많이 드는 수정을 줄이거나 나중에 제거할 수 있습니다.

 

4. 오류가 집중됩니다.
시험판 테스트 중에 발견된 대부분의 버그는 일반적으로 몇 개의 모듈에 집중되어 있으며, 대부분은 소수의 모듈에도 나타납니다. 테스트 및 작동 중에 실제로 관찰된 예상 오차 농도 및 오차 농도 범위 도메인은 위험 분석을 위한 주요 입력으로 사용됩니다. 테스트 노력에 집중하려면 위험 분석이 필요합니다.

 

5. 살충제 패러독스에 유의해야 합니다.

동일한 테스트를 반복해서 실행하면 결국 테스트에서 더 이상 오류를 찾지 못할 것입니다.
새로운 버그를 발견하기 위해서는 기존 테스트와 테스트 데이터를 수정하고 새로운 테스트를 작성해야 합니다.
(살충제를 계속 사용한다고 해충을 잡지 못하는 것처럼, 테스트를 반복해도 벌레를 찾을 수 없습니다.
하지만 살충제의 역설이 좋을 때도 있다. 자동 회귀 테스트용 회귀 결함이 적다는 것을 의미할 수도 있습니다.

 

6. 테스트는 상황에 따라 다릅니다.
시험은 상황에 따라 다릅니다. 예를 들어, 안전 지향 산업에서 사용되는 제어 소프트웨어
모바일 전자상거래 앱과 다르게 테스트합니다. 또한 애자일 프로젝트의 테스트는 순차적입니다.
이것은 소프트웨어 개발 수명 주기 프로젝트에서 테스트하는 것과 다릅니다.

 

7. 오류가 없는 것은 궤변 입니다.
일부 조직에서는 테스터가 가능한 모든 테스트를 수행하고 존재하는 모든 버그를 발견할 것으로 기대합니다.
그러나 원칙 1과 2에서 알 수 있듯이 이는 불가능합니다. 뿐만 아니라 많은 오류를 쉽게 찾아 수정할 수 있습니다.
시스템의 성공이 보장된다고 믿는 것은 궤변입니다(즉, 잘못된 믿음). 예를 들어 모든 정의된 요구 사항이 충분한 테스트와 발견된 모든 결함을 수정한 후에도 여전히 사용자의 요구와 기대를 사용하거나 충족하기 어렵습니다.
요구 사항을 충족하지 않거나 경쟁 시스템에 비해 불충분한 시스템이 나타날 수 있습니다.

 

|조직의 테스트 프로세스에 영향을 줄 수 있는 정황

소프트웨어 개발 수명 주기 모델 및 프로젝트 방법론, 적용할 테스트 수준 및 테스트 유형, 제품 및 프로젝트 위험, 비즈니스 영역, 예산 및 리소스, 일정, 복잡성, 계약 및 규정 요구 사항, 운영 정책 및 관행, 내부 및 외부 표준.

 

출처 : KSTQB 사이트 CTFL 참고문서

728x90
반응형