728x90
1. 테스팅은 결함이 있다는 것을 증명하는 것이다. (Testing shows the presence of bugs)
- 행동A에 대한 결과는 행동A에 대한 결과만을 보장한다.
엄지로 진행한 지문 인식 테스트는 엄지에 대한 결과만 보장한다. 다른 손가락에 대한 결과는 알 수 없다.
2. 완벽한 테스팅은 불가능하다. (Exhaustive testing is impossible)
- 제한된 일정 내에서 복잡한 구조를 모두 커버하는 것은 불가능하다.
3. 테스팅은 가능한 개발 초기에 시작해야 한다. (Early testing)
- 전체적인 비용으로 보면 초반부터 테스트가 진행되는게 저렴하다.
다만 현실적인 문제로 QA 인원이 배정되는건 최소 정식 프로젝트로 승인된 이후부터다.
4. 결함 집중 (Defect clustering)
- 변경점이 발생한 곳에서 결함이 다수 발생한다.
개발 실력이 부족한 사람이 담당한 곳에서도 결함이 많이 발견된다는 의미도 포함한다.
5. 살충제 패러독스 (Pesticide paradox)
- 테스트 문서를 꾸준히 갱신하고 업데이트 한다.
6. 테스트는 정황에 의존적이다. (Testing is context dependent)
- 테스트 대상에 따라 요구 목표치, 중점 관리 대상이 다르다.
가장 흔한 예시는 게임 vs 의료 기기용 프로그램
7. 오류-부재의 궤변 (Absence-of-errors fallacy)
- 목적에 맞는 테스팅을 해야 한다. 기능 테스트 해야하는 상황에 호환성 테스트하면 의미가 없다.
그 외 원칙
A. Testing must be done by an independent party. (테스트는 독립적인 조직에 의해 수행되어야 한다.)
- 개발자는 개발자의 시선을 테스트 하기 때문에 명백한 결함도 정상으로 판단할 수 있다.
개발과 동떨어진 이들이 테스트를 설계하고 수행해야 한다.
B. Assign best personnel to the task. (최고의 인력을 할당하라.)
C. Test for invalid and unexpected input conditions as well as valid conditions.
- 유효 상태만큼이나 비유효 값 / 상태로도 테스팅을 수행한다.
D. Keep software static during test.
- 테스트가 진행되는 동안에는 빌드가 변경되지 않게 한다.
테스트 도중에 빌드가 변경되면 테스트 결과를 신뢰할 수가 없다.
E. Provide expected test results if possible.
- 가능한 기대 결과를 제공한다.
기대 결과 미제공 시 정상/결함 여부를 판단할 수 없다.
참고 페이지: https://www.testingexcellence.com/seven-principles-of-software-testing/
728x90
'IT > 기타' 카테고리의 다른 글
| 윈도우 10 IIS 설정하기 (Internet Information Service) (0) | 2019.12.15 |
|---|---|
| 티스토리에서 syntaxhighlighter 3.0.83 설치하기 (2) | 2019.10.01 |