- ISO 关于质量的定义如下:一个实体的所有特性,基于这些特性可以满足明显的或隐含的需求。质量就是实体基于这些特性满足需求的程度
- 不同层次的软件质量:
- 符合需求规格,内部质量,即从软件启动到交付用户之间产生的所有中间产品的质量
- 符合用户显性需求,验收质量,即用户在验收时评价产品的质量
- 符合用户实际需求,使用质量,即用户在实际使用过程中对产品的质量评价
- 质量铁三角
- 流程、技术、组织共同决定软件质量
- 流程
- 流程是一个或一系列有规律的行动,这些行动以确定的方式发生或执行,导致特定结果的出现
- 流程的要素:角色、职责、入口准则、输入、输出、出口准则、工具、方法、培训、模板、质量、检查表
- 流程的好处
- 使不可见的软件开发过程变得可见并可控
- 流程驱动每一个研发人员的活动,减少了内耗,提高了效率
- 技术
- 技术的承载者是人包含:
- 现有员工所承载的技术能力
- 公司发展过程中积累下来的技术能力
- 技术从类型上分:
- 开发技术
- 测试技术
- 结构工艺技术(手机的外观设计、软件 GUI 界面)
- 技术的承载者是人包含:
- 组织
- 组织对产品质量不会产生直接的影响,组织通过影响技术和流程间接影响产品质量
- 软件质量管理体系
- ISO:不具体针对某个行业的质量标准,是普遍适用的质量管理体系
- CMM:特定针对软件行业的质量管理体系
- 6Sigma:不具体针对某个行业,不只关注质量,还关注成本、进度等。
- 软件质量模型
- 功能性:当软件在指定条件下使用时,软件产品提供满足明确和隐含需求的功能的能力
- 适合性:软件产品为指定的任务和用户目标提供一组合适的功能的能力
- 准确性:软件产品提供具有所需精确度的正确或相符的结果或效果的能力
- 互操作性:软件产品与一个或更多的规定系统进行交互的能力
- 保密安全性:软件产品保护信息和数据的能力。1、防止未得到授权的人或系统访问相关的信息和数据。2、保证得到授权的人或系统能正确访问相关的信息或数据
- 功能性的依从性:软件产品遵循与功能性相关的标准、约定或法规以及类似规定的能力
- 可靠性:在指定条件下使用时,软件产品维持规定的性能级别的能力。可靠性指标:1、平均无故障时间。2、平均恢复时间。3、平均失效间隔时间。
- 成熟性:为避免由软件中错误而导致失效的能力
- 容错性:在软件出现故障或违反指定接口的情况下,软件产品维持规定的性能级别的能力
- 易恢复性:在失效发生的情况下,软件产品重建规定的性能级别并恢复受直接影响的数据的能力。1、原有能力恢复的程度。2、原有能力恢复的速度。
- 可靠性的依从性:软件产品遵循与可靠性相关的标准、约定或法规的能力。
- 易用性:在制定条件下使用时,软件产品被理解、学习、使用和吸引用户的能力。
- 易理解性:软件产品使用户能理解软件是否适合以及如何能将软件用于特定的任务和使用环境的能力。
- 易学性:软件产品使用户能学习其应用的能力。
- 易操作性:软件产品使用户能操作和控制它的能力
- 吸引性:软件产品吸引用户的能力
- 易用性的依从性:遵循与易用性相关的标准、约定、风格指南和法规的能力。
- 效率:在规定条件下,相对于所用资源的数量,软件产品可提供适当性能的能力
- 时间特性:在规定条件下,软件产品执行其功能时,提供适当的响应和处理时间以及吞吐率的能力
- 资源利用性:在规定条件下,软件产品执行其功能时,使用合适的资源数量和类别的能力。
- 效率的依从性:遵循与效率相关的标准或约定的能力。
- 维护性:软件产品可被修改的能力
- 易分析性:软件产品诊断软件中的缺陷或失效原因或识别待修改部分的能力。
- 易改变性:使制定的修改可以被实现的能力。
- 稳定性:避免犹豫软件修改而造成意外结果的能力。
- 易测试性:使已修改软件能被确认的能力。
- 维护性的依从性:遵循与维护性相关的标准或约定的能力。
- 可移植性:从一种环境迁移到另一种环境的能力。
- 适应性:无需考虑有别于为考虑该软件的目的而准备的活动或手段就可能适应不同的指定环境的能力。
- 易安装性:指定环境中被安装的能力。
- 共存性:在公共环境中同其分享公共资源的其他独立软件共存的能力。
- 易替换性:在同样环境下,替换另一个相同用途的指定软件产品的能力。
- 可移植性的依从性:遵循与可移植性相关的标准或约定的能力。
- 功能性:当软件在指定条件下使用时,软件产品提供满足明确和隐含需求的功能的能力
- 软件质量活动
- 包括软件质量保证(SQA)和测试。
- SQA 从流程方面保证产品的质量。
- 测试从技术方面保证产品的质量。
欢迎扫码关注微信公众号「一朵儿的软件测试之旅」一起学习交流