针对不同研发阶段的测试目的,测试活动分为需求测试、组件/单元测试、集成测试、系统测试、验收测试、Alpha测试、Beta测试、UAT测试等级别。
5.9.1 需求测试
软件测试双V模型要求测试工程师在需求阶段就开始制定系统测试计划,考虑系统测试方法,但这还不够。全面的质量管理要求在每个阶段都要进行验证和确认的活动。因此在需求阶段,测试工程师还需对需求本身进行测试。
这个测试是必要的,因为在许多失败的项目中,70%~85%的返工是由于需求方面的错误所导致。因需求错误导致大量返工,造成进度延迟,缺陷发散甚至项目失败,这是一件极其痛苦的事情。因此测试工程师需在软件生产源头-需求就开始测试。
需求测试(Requirement Test)的重点是检查需求规格说明书中是否存在描述不准确、定义模糊、需求用例不正确、语言存在二义性等问题。主要从以下几个方面考虑。
1. 完整性
每一项需求都必须将所要实现的功能描述清楚,为开发人员设计和实现这些功能提供所有必要的需求依据。
2. 正确性
每一项需求都必须准确地陈述其要开发的功能。
3. 一致性
一致性是指与其他软件需求或高层(系统、业务)需求不相矛盾,或者与项目宣传资料一致。
4. 可行性