Terms
Commercial off-the-shelf (COTS), iterative-incremental develop model, validation, verification, V-model
Background
Testing does not exist in isolation; test activities are related to software development activities.
Different development life cycle models need different approaches to testing.
2.1.1 V-model (sequential development model)
although variants of the V-model exist, a common type of V-model uses four test level,
corresponding to the four development levels.
The four levels used in this syllabus are:
- Component(unit) testing;
- Integration testing;
- System testing;
- Acceptance testing;
in practice, a V-model may have more, fewer or different levels of development and testing,
depending on the project and the software product. For example, there may be component integration testing after component testing,
and system integration testing.
Software work products (such as business scenarios or use cases, requirements specifications, desgin documents and code) produced during development are ofter the basis of testing in one or more test levels. References for generic work products include Capability Maturity Model Integration (CMMI) or 'Software life cycle processes' (IEEE/IEC 12207). Verification and validation (and early test design) can be carried out during the development of the software work products.
2.1.2 Iterative-incremental development models
Iterative-incremental development is the process of establishing requirements , designing, building and testing a system, done as a series of shorter development cycles. Examples are: prototyping, rapid application development (RAD), Rational Unified Process (RUP) and agile development models. The resulting system produced by an iteration may be tested at several levels as part of its development. An increment, added to others developed previously, foms a growing partial system, which should also be tested. Regression testing is increasingly important on all iterations after the first one. Verification and validation can be carried out on each increment.
2.1.3 Testing within a life cycle model
In any life cycle model, there are several characteristics of good testing:
- For every development activity is a corresponding testing activity.
- Each test level has test objectives specific to that level.
- The analysis and design of tests for a given test level should begin during the correcsponding development activity.
- Tester should be involved in reviewing documents as soon as drafts are available in the development life cycle.
용어
상용소프트웨어(COTS), 순차-점증적 개발 모델, 벨리데이션, 베리피케이션, V-모델
테스팅은 소프트웨어 개발 활동과 독립적으로 존재하지 않고 밀접하게 연계 되어 있으므로, 서로 다른 개발 수명주기 모델(Lifecycle model)에 따라 적용할 수 있는
테스트 방법은 서로 다른 접근법을 필요로 한다.
2.1.1 V-Model (순차적 개발 모델)
여러 가지 변형된 혀앹의 V-모델이 존재하지만 일반적인 유형의 V-모델은 4단계의 테스트 레벨로 구성되어 있고, 4단계의 개발 레벨과 대응된다.
실라버스에서 다루는 4단계 테스트 레벨은 다음과 같다.
- 컴포넌트 (단위) 테스팅
- 통합 테스팅
- 시스템 테스팅
- 인수 테스팅
현업엥서 V-모델은 프로젝트나 소프트웨어 제품에 따라 더 많거나 적은 서로 다른 개발 및 테스팅 레벨을 가지고 있다. 예를 들어, 컴포넌트 테스팅 이후에 통합 테스팅이 있을 수 있고,
시스템 테스팅 이후에 시스템 통합 테스팅이 존재할 수 있다.
2.1.2 반복적-점진적 개발 모델
반복적 -점진적 개발은 요구사항 분석, 시스템 설계, 구현 및 테스팅하는 짧은 주기의 개발 사이클이 연속적으로 반복(Iteration)하는 활동으로 이루어진다. 반복적 개발의 예에는 프로토타이핑, RAD(Rapid Applicaiton Development), RUP(Rational Unified Process), 민첩(Agile) 개발 모델이 있다. 반복 과정에 의해 생성된 결과 시스템은 여러 테스트 레벨 (컴포넌트, 통합, 시스템, 인수 테스팅)에서 개발 과정의 일부로 테스트 될 수 있다. 이전에 개발된 다른 시스템에 추가된 (증분)은 규모가 커져 부분 시스템(Partial system)을 형성하게 된다. 리그레션 테스팅은 첫 번째 테스팅 이후로 모든 반복 과정에서 점차적으로 중요하게 된다. Verificaiton과 Validation은 반복 과정 각각 증분 산출물을 대상으로 수행될 수 있다.
2.1.3 수명주기 모델에서의 테스팅
어떤 수명주기 모델에 적용되더라도, 성공적으로 진행되어 좋은 테스트 결과로 이어지는 테스팅은 몇 가지 특징을 지니고 있다.
- 모든 개발 활동은 테스팅 활동과 대응된다.
- 각 테스트 레벨은 그 레벨에 맞는 특정한 목적을 갖고 있다.
- 주어진 테스트 레벨에 맞는 테스트의 분석과 설계는 대응되는 개발 활동 안에 시작되어야 한다.
- 테스터는 개발 생명주기 동안에 본격적인 테스팅 활동에 필요한 초안을 준비함과 동시에 개발 중간 산출 문서를 리뷰하는 활동에 참가해야 한다.
테스트 레벨은 프로젝트나 시스템 아키텍처의 성격에 따라 재조정도거나 합쳐질 수 있다. 예를 들어 상용(Commercial off the shelf, COTS) 소프트웨어 제품을 시스템에 통합하는 경우, 구입자는 시스템 레벨의 통합 테스팅 (Ex. 인프라나 다른 시스템에 통합 또는 배포된 시스템에 통합) 과 인수 테스팅 (기능적 테스팅, 비기능적 테스팅, 사용자 테스팅, 운영 테스팅 등)을 수행해야 한다.
'QA > ISTQB' 카테고리의 다른 글
2.3 - Test Types (테스트 유형) (0) | 2021.05.11 |
---|---|
2.2 - Test Levels (테스트 레벨) (0) | 2019.02.16 |
1.4 - Fundamental test proccess (테스트 프로세스 기초) (0) | 2019.02.16 |
1.3 - General testing principles (테스팅 일반 원칙) (0) | 2019.02.16 |
1.2 - What is testing? (테스팅이란 무엇인가?) (0) | 2019.02.16 |