测试策划
在成熟度较低的组织中,可以在没有正式测试策略和组织测试策略的情况下执行测试,但这种做法会降低组织内部测试的连贯性,并且通常会使项目中执行的测试效果和效率降低。
软件测试作为上下文管理的过程执行。这意味着应该对其进行规划、监测和控制。环境可以是开发项目(从多人、多年的正式开发项目到少量工时的非正式开发)或操作系统的持续维护。了解测试背景的一些考虑因素是:总体预算;安排需求;风险;组织文化;客户/用户期望;用于测试的基础设施环境的可用性;项目范围;项目的关键性;等。该行业的经验是,没有单一的测试策略、计划、方法或流程适用于所有情况。因此,组织和项目应该参考此类标准来定制和完善测试的细节。
总体项目计划应包括对作为项目一部分要执行的测试活动的考虑。项目测试计划应反映组织测试策略和组织测试策略,以及与这些组织指南的偏差。它还应考虑整体项目计划中给出的约束条件。项目测试计划包括项目测试策略和用于派生此策略的项目特定决策(包括假设)。在IEEE的这项标准中,风险是测试需求的来源与方法。
需要注意的是,IEEE 29119-1中,将测试级别划分成组件测试(component Testing),集成测试(Intergration Testing),系统测试(System Testing),验收测试(Acceptance Testing)。
测试目标
该标准涵盖的测试目标包括
- 为风险管理活动提供信息;
- 提供有关产品质量的信息;
- 评估产品是否满足利益相关者的期望;
- 评估缺陷是否被正确移除,没有不良的副作用;
- 评估无不良副作用的正确变更实施;
- 评估需求满足的情况(这里的需求包括监管、设计、合同等)
测试项(test item)
测试项是活动(如管理、开发、维护、测试本身或其他支持流程)的结果。
测试项的实例包括:
- 代码相关测试:如可执行软件组件、子系统、系统等;
文件相关测试项目:
- 计划
- 需求规范;
- 架构设计
- 详细设计
- 源代码
- 用户手册
- 测试规范和测试程序
(最后的一项表示,尽管测试程序是由测试人员制定的,但他们也并不是没有缺陷)
质量特性测试
ISO/IEC 25010 体系和软件质量模型概述了软件质量模型。此模型描述了 8 个质量特征,这些特征定义了测试项目的质量属性。测试是衡量给定测试项目的重要质量特征的活动。八大质量特征是:
- 功能适用性:产品提供满足需求和隐含需求功能的程度
- 性能效率:在规定条件下相对于使用的资源量的性能;
- 兼容性:两个或多个系统或组件在共享同一硬件或软件环境时可以交换信息和执行其所需功能的程度;
- 可用性:特定用户在特定使用环境中有效、高效和满意的使用产品以实现特定目标的程度;
- 可靠性:系统或组件在指定时间内在指定条件下执行指定功能的程度;
- 安全性(security):信息和数据受到保护的程度,以便未经授权的人员或系统无法读取或修改它们,并且不会拒绝授权人员或系统访问它们;
- 可维护性:产品可以修改的有效性和效率程度
- 可移植性:系统或组件可以有效且高效地从一个硬件、软件或其他操作或使用环境传输到另一个硬件、软件或其他操作或使用环境的程度
附录中关于测试项的一些实例
觉得IEEE和498标准由较大的出入,498中关于test item的表述,我理解是一个一个需求,而IEEE中更多的是大的活动。
比如系统测试的子流程的例子:
- 测试目标: 提供有关整个系统质量的信息;
- 已计划测试流程内容: 系统动态测试
系统动态测试:
- 测试目标:评估集成后系统的质量
- 测试项:系统整体
- 测试依据: 系统需求
- 详细的测试流程: 测试设计和实施;测试环境设置和维护;测试执行;和测试事件报告。
- 测试设计技术: 等价划分、边界值分析、状态转换测试和分类树方法(视情况而定)
测试计划的目的
测试计划的目的是制定、商定、记录测试将采用的范围和方法,并于利益相关者沟通,以便及早识别资源、环境和测试的其他要求。