软件质量
什么是质量好的软件?
对于不同的人可能有不同的答案,但是大致离不开几点:贴切用户的需求,用着舒服、顺手,满足所有的业务需求的软件。
下面我们来总结下专业的软件质量衡量标准
质量定义
软件产品满足用户或规定显性需求或隐性需求的程度
衡量软件产品的标准:
内部质量
过程质量
外部质量
使用质量
质量特性
质量特性一共包含六个大特性二十七个小特性,用来指导大家的测试流程,拓宽测试思路
(1)功能性
定义:软件在指定条件下使用时,满足用户明确和隐含需求的功能的能力
适合性:软件为指定的任务和用户目标提供合适功能的能力
准确性:软件提供具有所需精确度的正确或相符的结果或效果的能力
互操作性:软件与一个或更多的规定系统进行交互的能力
保密安全性:软件保护信息和数据的能力,以使未授权的人员或系统不能阅读或修改这些信息和数据,
而不拒绝授权人员或系统对它们的访问
功能性依从性:软件遵循与功能相关的标准、约定或法规以及类似规定的能力;
这些标准要考虑国际标准、国家标准、行业标准、企业内部规范等
(2)可靠性
定义:软件在指定条件下使用时,维持规定的性能级别的能力
成熟性:软件为避免由软件中的错误而导致失效的能力
容错性:在软件出现故障或者违反指定接口的情况下,软件维持规定的性能级别的能力
易恢复性:在失效的情况下,软件重建规定的性能级别并恢复受直接影响的数据的能力
可靠性依从性:软件遵循与可靠性相关的标准、约定或法规的能力
(3)易用性
定义:软件在指定条件下使用时,软件被理解、学习、使用和吸引用户的能力
易理解性:软件使用户能理解软件是否合适,以及如何能将软件用于特定的任务和使用环境的能力
易学性:软件使用户能学习其应用的能力
易操作性:软件使用户能操作和控制它的能力
吸引性:软件吸引用户的能力
易用性依从性:软件遵循与易用性相关的标准、约定、风格指南或法规的能力,
这些标准要考虑国际标准、国家标准、行业标准、企业内部规范等
(4)效率
定义:在规定条件下,相对于所用资源的数量,软件可提供适当性能的能力
时间特性:在规定条件下,软件执行其功能时,提供适当的响应和处理时间以及吞吐率的能力
资源利用性:在规定条件下,软件执行其功能时,使用合适的资源数量和类别的能力
效率依从性:软件遵循与效率相关的标准或约定的能力
(5)可移植性
定义:软件可被修改的能力。修改可能包括修正、改进或软件对环境、需求和功能规格说明变化一种适应性
易分析性:软件诊断软件中的缺陷、失效原因或识别待修改部分的能力。
易改变性:软件使指定的修改可以被实现的能力
稳定性:软件避免由于软件修改而造成意外结果的能力
易测试性:软件使已修改软件能被确认的能力
维护性依从性:软件遵循与维护性相关的标准或约定的能力
(6)可维护性
定义:软件从一种环境迁移到另一种环境的能力
适应性:软件无须采用有别于为考虑该软件的目的而准备的活动或手段,就可能适应不同指定环境
易安装性:软件在指定环境中被安装的能力
共存性:软件在公共环境中同与其分享公共资源的其他独立软件共存的能力
易替换性:软件在同样的环境下,替代另一个相同用途的指定软件产品的能力
可移植性依从性:软件遵循与可移植性相关的标准或约定的能力