2.2 测试级别和测试类型
测试级别与软件开发生存周期内的其他活动相关。在顺序 SDLC 模型中,测试级别通常定义为:一个级别的出口准则是下一个级别的入口准则的一部分。
测试类型,是与某种质量特性相关的测试活动的集合,这些测试活动中的大部分可以在每个测试级别进行。
2.2.1 测试级别
• 组件测试(也称为单元测试),侧重于对单独组件的测试。组件测试通常需要使用测试工具或者单元测试框架。组件测试通常由开发人员在开发环境中进行。
• 组件集成测试(也称为单元集成测试),侧重于对组件之间的接口及交互进行测试。组件集成测试重度依赖于集成策略方法,例如,自底向上集成,自顶向下集成或者大爆炸集成。
- 系统测试,关注于对整个系统或产品的总体行为和能力。
• 系统集成测试,侧重于对被测系统与其他系统以及外部服务的接口的测试。系统集成测试需要合适的测试环境,最好是与运行环境类似的测试环境。
• 验收测试,侧重于确认和展示部署准备情况,这意味着系统满足了用户的业务要求。在理想情况下,验收测试应该由潜在用户执行。验收测试的主要形式有:用户验收测试(UAT)、运行验收测试、合同验收测试以及法规验收测试、Alpha 测试和 Beta 测试。
测试级别可以通过以下(非详尽)属性列表来区分,以避免测试活动的重叠:
• 测试对象
• 测试目的
• 测试依据
• 缺陷和失效
• 方法和职责
2.2.2 测试类型
在项目中可能会应用多种测试类型。本大纲主要涉及下列四种测试类型:
功能测试是用于评估组件或系统应该执行的功能的测试。功能是测试对象应该做的事情。功能测试的主要目的是检查功能完整性、功能正确性和功能适合性。
非功能测试是用于评估组件或系统除功能特性之外的其他属性。非功能质量特性:
• 性能效率
• 兼容性
• 易用性
• 可靠性
• 信息安全性
• 维护性
• 可移植性
黑盒测试,是基于规格说明并根据测试对象外部的文档生成测试的测试技术。黑盒测试的主要目的是检查系统行为是否与规格说明描述一致。
白盒测试,是基于结构并根据系统的实施或系统的内部结构(如代码、结构、工作流和数据流)生成测试的测试技术。白盒测试的主要目标是通过测试将底层结构覆盖到可接受的水平。
2.2.3 确认测试和回归测试
变更,通常指对组件和系统做出的改进,这种改进可以是增加新特征,或通过修改代码以移除缺陷进行修复。测试还应该包括确认测试和回归测试。
确认测试用于确认原有缺陷是否已经被成功修复的测试。根据风险的不同,测试人员可以对软件的缺陷修复版本进行不同的测试,包括:
• 执行先前由于存在缺陷而失败了的所有测试用例
• 增加新的测试,以覆盖由于修复缺陷引发的任何变更
当进行缺陷修复工作的时间和预算有限时,确认测试的范围可能被严格限定,即仅执行重现原有(由缺陷引起的)失效的步骤,以检查失效是否已经消失。
回归测试确认变更未造成任何不良后果,包括已经经过确认测试的修复。这些不良后果可能会影响进行更改的同一组件、同一系统中的其他组件,甚至其他关联的系统。回归测试可能不局限于测试对象本身,还可以与环境相关。建议首先执行影响分析以优化回归测试的范围。影响分析显示软件的哪些部分可能受到影响。
回归测试套件会被多次运行,通常回归测试用例的数量会随着每次迭代或发布而有所增加,因此可以优先考虑自动化回归测试。这些测试的自动化应该在项目的早期开始。在使用持续集成(CI)时,比如 DevOps,最好也包括自动化回归测试。根据情况,可能包括不同级别的回归测试。
如果缺陷修复和/或变更发生在某些测试级别上,对测试对象进行的确认测试和/或回归测试就需要在所有涉及的测试级别上进行。
原创文章,作者:iTestCat,保留所有权利,禁止转载,如若转载,请联系作者!