Principles of Test
- Testing은 defects의 존재를 알려준다. (버그가 없음을 증명하지는 않는다.
▶ Exhaustive Testing
: Defects가 없음을 증명하는 testing.
- Exhaustive testing is impossible.
- Absence-of-errors fallay: Bug를 찾아내서 고치는 것이 곧 유저/고객의 만족을 의미하는 것은 아니다.
- Context dependent: 테스팅은 서로 다른 context에서는 서로 다르게 이루어져야 한다.
- Defect clustering: 모듈의 작은 부분이 대부분의 defects를 포함한다.
- Early testing: 테스팅은 SW/system development life cycle 내에서 최대한 빠르게 시작되어야 한다.
Testing Capability Level
- 각 단계별 테스트 전략!!!
레벨 1
: 디버깅을 테스트로 인식하는 단계
- '소프트웨어가 작동하는 것'을 보여줄 뿐, 소프트웨어의 품질 보증과는 무관하다.
레벨 2
: 디버깅과 테스트가 구분되는 단계
- 테스트는 프로젝트 수준에서 관리된다.
- 테스트 계획이 소프트웨어 개발 생명주기에서 늦게 세워진다.
- 테스트 케이스는 테스트 레벨 별 테스트 수행 직전에 설계되고, 기능성 중심의 테스트를 수행한다.
- 독립적인 테스트 조직은 없지만, 테스트를 연구하는 기술 그룹의 도움으로 간단한 테스트 기법와 도구 등이 활용되기 시작한다.
레벨 3
: 소프트웨어 개발 생명 주기와 통합된 표준 테스트 프로세스가 정의되는 단계
- 테스트 계획은 요구사항 단계에서부터 시작되며, V-model의 체계를 갖춘다.
- 소프트웨어 개발 생명 주기의 단계별 검증(verification)과 확인(validation)을 수행한다.
- 테스트 레벨 별 테스트 케이스가 관련된 생명 주기 단계에서 계획되고 설계된다.
- 독립적인 테스트 전문가 그룹이 구성된다.
레벨 4
: 단계별로 진행되는 V&V 작업을 통한 측정 데이터 수집으로 품질이 측정되는 단계
- 품질 보증 위원회를 구성하여 테스트 측정 프로그램을 개발하고, 수집된 측정 데이터를 정량적으로 분석하여, 소프트웨어 품질을 평가한다.
레벨 5
: Optimizing
- 지속적으로 개선 활동을 계획하고 추진한다.
- 결함 예방, 품질 제어가 수행된다.
- 독립적인 테스트 프로세스 개선 그룹의 지원으로, 개선 활동을 계획하고 추진한다.
출처: 이화여자대학교 박지현교수님 소프트웨어공학
'소프트웨어공학' 카테고리의 다른 글
[소프트웨어공학] L9 - Verification, Validation, and Test: White-box Test (0) | 2023.11.20 |
---|---|
[소프트웨어공학] L9 - Verification, Validation, and Test: SW Test Techniques (0) | 2023.11.17 |
[소프트웨어공학] L9 - Verification, Validation, and Test: Fundamentals of SW Test (0) | 2023.11.13 |
[소프트웨어공학] L8 - Model-driven Engineering (0) | 2023.11.13 |
[소프트웨어공학] L7 - 수강시스템 OOP 실습 (0) | 2023.11.12 |