软件质量特性

今天来聊一下软件质量吧。

百度上是这么说的,“质量:一个实体的所有特性,基于这些特性可以满足明显的或隐含的需求。“”而质量就是实体基于这些特性满足需求的程度。针对软件,可将质量理解为“软件产品满足用户或规定显性需求或隐性需求的程度”。从质量定义可以看出,软件质量的关键点是满足要求,可使用差、好及优秀等修饰词进行表述。这里我觉得比较重要的可能是软件质量的特性吧,一般用来考察一个人的测试思维。笔试面试可能比较常见,比如给你一个水杯你该怎么测试等。所以下面重点聊一下这个问题。

特性的话一般分为功能性、可靠性、易用性、效率、可维护性、可移植性。

一、功能性是指软件在指定条件下使用时,满足用户明确和隐含需求的功能的能力。其实我个人理解的话就是这个产品具有一些什么样的功能,功能性包含以下5个子特性。

1、适合性:软件为指定的任务和用户目标提供一组合适功能的能力。

2、准确性:软件提供具有所需精确度的正确或相符的结果或效果的能力。

3、互操作性:软件与一个或更多的规定系统进行交互的能力。

4、保密安全性:软件保护信息和数据的能力,以使未授权的人员或系统不能阅读或修改这些信息和数据,而不拒绝授权人员或系统对它们的访问。

5、功能性依从性:软件遵循与功能性相关的标准、约定或法规以及类似规定的能力。这些标准要考虑国际标准、国家标准、行业标准、企业内部规范等。

二、可靠性是指软件在指定条件下使用时,维持规定的性能级别的能力。可靠性包含以下4个子特性。

1、成熟性:软件为避免由软件中错误而导致失效的能力。

2、容错性:在软件出现故障或者违反指定接口的情况下,软件维持规定的性能级别的能力。

3、易恢复性:在失效发生的情况下,软件重建规定的性能级别并恢复受直接影响的数据的能力。

4、可靠性依从性:软件遵循与可靠性相关的标准、约定或法规的能力。

三、易用性是指在指定条件下使用时,软件被理解、学习、使用和吸引用户的能力。易用性包含以下5个子特性。

1、易理解性:软件使用户能理解软件是否合适,以及如何能将软件用于特定的任务和使用环境的能力。

2、易学性:软件使用户能学习其应用的能力。

3、易操作性:软件使用户能操作和控制它的能力。

4、吸引性:软件吸引用户的能力。

5、易用性依从性:软件遵循与易用性相关的标准、约定、风格指南或法规的能力。这些标准要考虑国际标准、国家标准、行业标准、企业内部规范等,如企业内部的界面规范。

四、效率是指在规定条件下,相对于所用资源的数量,软件可提供适当性能的能力。效率包含以下3个子特性。

1、时间特性:在规定条件下,软件执行其功能时,提供适当的响应和处理时间以及吞吐率的能力,即完成用户的某个功能需要的响应时间。

2、资源利用性:在规定条件下,软件执行其功能时,使用合适的资源数量和类别的能力。

3、效率依从性:软件遵循与效率相关的标准或约定的能力。

五、可维护性是指软件可被修改的能力。修改可能包括修正、改进或软件对环境、需求和功能规格说明变化的适应。可维护性包含以下5个子特性。

1、易分析性:软件诊断软件中的缺陷、失效原因或识别待修改部分的能力。

2、易改变性:软件使指定的修改可以被实现的能力。

3、稳定性:软件避免由于软件修改而造成意外结果的能力。

4、易测试性:软件使已修改软件能被确认的能力。

5、维护性依从性:软件遵循与维护性相关的标准或约定的能力。

六、可移植性是指软件从一种环境迁移到另外一种环境的能力。可移植性包含以下5个子特性。

1、适应性:软件无须采用有别于为考虑该软件的目的而准备的活动或手段,就可能适应不同指定环境的能力。

2、易安装性:软件在指定环境中被安装的能力。

3、共存性:软件在公共环境中同与其分享公共资源的其他独立软件共存的能力。

4、易替换性:软件在同样环境下,替代另一个相同用途的指定软件产品的能力。

5、可移植性依从性:软件遵循与可移植性相关的标准或约定的能力。

第一次分享这类文章,难免会有很多不足,还请见谅。最后插入一个测试水杯的一个测试用例,一般还会考虑到性能测试、安全测试等。

你可能感兴趣的:(软件质量特性)