今天来聊一下软件质量吧。
百度上是这么说的,“质量:一个实体的所有特性,基于这些特性可以满足明显的或隐含的需求。“”而质量就是实体基于这些特性满足需求的程度。针对软件,可将质量理解为“软件产品满足用户或规定显性需求或隐性需求的程度”。从质量定义可以看出,软件质量的关键点是满足要求,可使用差、好及优秀等修饰词进行表述。这里我觉得比较重要的可能是软件质量的特性吧,一般用来考察一个人的测试思维。笔试面试可能比较常见,比如给你一个水杯你该怎么测试等。所以下面重点聊一下这个问题。
特性的话一般分为功能性、可靠性、易用性、效率、可维护性、可移植性。
一、功能性是指软件在指定条件下使用时,满足用户明确和隐含需求的功能的能力。其实我个人理解的话就是这个产品具有一些什么样的功能,功能性包含以下5个子特性。
1、适合性:软件为指定的任务和用户目标提供一组合适功能的能力。
2、准确性:软件提供具有所需精确度的正确或相符的结果或效果的能力。
3、互操作性:软件与一个或更多的规定系统进行交互的能力。
4、保密安全性:软件保护信息和数据的能力,以使未授权的人员或系统不能阅读或修改这些信息和数据,而不拒绝授权人员或系统对它们的访问。
5、功能性依从性:软件遵循与功能性相关的标准、约定或法规以及类似规定的能力。这些标准要考虑国际标准、国家标准、行业标准、企业内部规范等。
二、可靠性是指软件在指定条件下使用时,维持规定的性能级别的能力。可靠性包含以下4个子特性。
1、成熟性:软件为避免由软件中错误而导致失效的能力。
2、容错性:在软件出现故障或者违反指定接口的情况下,软件维持规定的性能级别的能力。
3、易恢复性:在失效发生的情况下,软件重建规定的性能级别并恢复受直接影响的数据的能力。