文章目录
-
- 前言
- ISO/IEC 25010
-
- 功能性
-
- 适合性
- 正确性
- 完备性
- 功能性的依从性
- 兼容性
-
- 共存性
- 互操作性
- 兼容性的依从性
- 安全性
-
- 保密性
- 完整性
- 真实性
- 抗抵赖性
- 可核查性
- 安全性的依从性
- 可靠性
-
- 成熟性
- 可用性
- 容错性
- 易恢复性
- 可靠性的依从性
- 易用性
-
- 易学性
- 可辨识性
- 易操作性
- 易访问性
- 用户差错防御性
- 用户界面舒适性
- 易用性的依从性
- 效率(性能)
-
- 时间特性
- 资源利用率
- 容量
- 效率的依从性
- 可维护性
-
- 模块化
- 可复用性
- 易分析性
- 易修改性
- 可测试性
- 可维护性的依从性
- 可移植性
-
- 适应性
- 易安装性
- 易替换性
- 可移植性的依从性
- ISO/IEC 9126
- 参考文档
前言
作为一个软件测试工程师,第一个需要深入理解的知识就是软件质量模型。对测试而言,工作不仅仅是提缺陷,还需要评估产品质量。如何评估产品质量呢,评估的结果是否客观,有没有标准或者可以分析的维度。
在为产品做质量评估之前,我们需要先弄清产品质量是什么根据IEEE24765-2010的定义,产品质量是只“在特定的使用条件下,产品满足明示的和隐含的需求的固有特性”,简言之,质量就是满足需求。进行软件质量评估,评估的主要内容其实就是产品是否满足用户需求。
产品满足用户需求,不仅仅是满足产品需求中明确提及那些的功能,还要满足行业规范、约定俗成的要求或者用户的使用习惯等隐形需求。由于行业背景不一样,个人的知识储备不一样,且用户需求在传递的过程中可能会有变形失真等原因,我们需要借助软件质量模型进行系统分析,识别这些隐藏的需求,预防缺陷,提升产品质量。
ISO/IEC 25010
同9126相比,25010将质量模型从原来的6个属性扩展到8个属性,新增加的内容是安全性 和 兼容性, 另外还对功能性、易用性和可维护性做了修改,具体内容如下所示。
- MTBF(Mean Time Between Failure): 平均故障间隔时间
- MTTR(Mean Time To Repair): 平均故障修复时间
容错性
产品在发生故障或者违反指定接口规范的情况下,维持规定的性能级别的能力
例子:
- 对依赖的子系统、模块可能传递过来的错误进行兜底操作(提前预防),避免这些错误传递到自身引起自身失效
- 模块间对接,对其他模块传递的指针进行非空检查
- 针对用户的任何错误输入,不会引发系统出现无响应、软件重启等异常
易恢复性
产品在失效的情况下,重建规定的性能级别并恢复受直接影响的数据的能力
可以从如下两个层面来理解:
- 第一个层面:异常重启后,软件能自动启动,最好能恢复到重启前的页面
- 第二个层面:长时间无响应,手工杀死进程,重启软件,产品能够恢复正常工作
例子: - 系统在遭遇攻击后,产品、系统应该能快速恢复
可靠性的依从性
产品或系统遵循与可靠性相关的标准、约定或法规以及类似规定的程度
易用性
是指用户在指定条件下使用软件产品是,其被用户理解、学习、使用以及吸引用户的能力
易用性的能力,简单的可以用如下8个字来理解:易懂、易学、易用、漂亮
针对企业级产品来说,用户对其易用性的要求日益提高,即便系统有很强的专业性,用户一般也是要求可以直接上手完成所需的功能配置。
易用性包含有7个子特性,这些子特性可以为我们提供思考易用性的方向。
易学性
帮助用户学习、使用该产品或系统的能力
- 软件提供“帮助”功能,并为产品功能编制了索引,还提供了Q&A、 区等,为用户学习产品提供了充分、完成的材料
- 软件运行在不同的载体(云上、云下)上,用户界面应一模一样,易于用户快速上手,降低学习成本。
可辨识性
帮助用户辨识产品或系统是否符合他们的要求,是否适合以及如何将产品用于特定的任务和环境的能力
易用性的可辨识性有如下内容
- 要求产品可以自动辨别当前的使用环境是否符合基本要求,如操作系统的要求、浏览器类型或版本的要求、系统资源(CPU、内存、硬盘)的最小要求等,软件是mac版本,若在windows系统上安装,应给出不可安装的提示;
- 用户要能够方便地知道产品能够提供那些功能,例如很多产品提供了升级对新功能进行自动介绍或演示的功能,除此之外,产品提供的配套教程、 页等也算可变性;
- 产品要直观、易于理解(能理解页面每个元素的意思,不易理解的应给出解释文案)
易操作性
帮助用户很方便地操作和控制产品的能力
- GUI界面,菜单层次不要太深,快捷键、tab顺序、默认操作、工具条(相似功能分组、用户自定义常用功能)
- 软件安装,提供大量的安装步骤,每个步骤又有大量的分支选项,对普通用户来说不太容易操作
易访问性
产品或系统提供广泛功能供用户使用的能力
易访问性中要求产品在设计时可以考虑使用者的使用障碍,如年龄障碍、能力障碍等。一个典型的例子就是在进行UI设计配色时,需要考虑色弱因素,保证色彩之间不仅色相有差异,明度也要拉开层次,增加特殊人群的辨识度。
金融产品查看金额、利率有数据有放大镜的功能,帮助视觉障碍或老年群体使用
用户差错防御性
预防用户犯错的能力
可以理解为系统有引导用户进行正常操作,避免出错的能力。
例如配置向导功能, 功能针对不对取值要求限制用户的错误输入(灰色不能被选择、错误输入给出提示信息)
用户界面舒适性
提供令人愉悦的交互性的能力
可以从如下角度来理解用户界面的舒适性:
- 产品的吸引力,包括风格、设计感、配色等;
- 页面交互能力,配置页面跳转、提高增删改查操作的方便性等
易用性的依从性
产品或系统遵循与易用性相关的标准、约定或法规以及类似规定的程度
效率(性能)
是指在规定的条件下,相对于所用资源的数量,软件产品可提供适当性能的能力。
效率就是我们常说的产品性能, 效率包含4个自特性,如下所示:
时间特性
产品或系统执行其功能时,其响应时间、处理时间以及吞吐量满足需求的程度
资源利用率
产品或系统执行其功能时,所使用资源数据量和类型满足需求的程度
容量
产品或系统参数最大限度满足需求的能力
效率的依从性
产品或系统遵循与效率相关的标准、约定或法规以及类似规定的程度
可维护性
是指产品可被修改的能力。
这里修改是指软件产品被纠正、改进,以及为适应环境、功能、规格变化被更新。可维护性最典型的一个体现就是产品的升级操作。
可维护性包含6个自特性,具体如下:
模块化
由多个独立组件组成的系统或程序,其中一个组件的变更对其他组件的影响最小的程度
体现了研发模式的变化对质量的影响, 在DevOps下,虚拟化和容器成为很多系统的基础环境,服务/微服务成为流行架构的趋势更加明显,解耦 和 模块化已成为最基本的架构设计要求,与此同时,模块化进一步催生了可复用性的要求,避免重复造轮子。
可复用性
资产能够被多个系统或其他资产建设的能力
易分析性
诊断软件中的缺陷、失效原因或识别待修改部分的能力
可以理解为在系统出现问题后,技术支持或者开发可以快速定位问题所在的能力。很多产品中的日志、告警等功能,都属于易分析性。
易修改性
产品能够被有效修改,且不会引入缺陷或降低现有产品质量的能力
该特定最重要的体现就是产品的升级能力。 企业级产品往往对升级都有比较严格的要求,比如升级不能影响业务、能够及时判断升级是否成功(如果升级失败还要有回退机制)。所以很多时候升级功能并非像看起来那么简单,往往需要结合用户的行业、使用场景和使用习惯来指定策略、设计专门的升级方案。
可测试性
能够为系统、产品或组件建立测试准则,并通过测试执行来确定测试准则是否被满足的有效性和效率的程度
易测试性可以帮助开发、测试快速确认结果,提高处理调试、测试和反馈问题的效率,对于测试来说,易测试性非常重要。
可维护性的依从性
产品或系统遵循与可维护性相关的标准、约定或法规以及类似规定的程度
可移植性
是指软件产品从一种环境迁移到另外一种环境能力
这里的环境可以理解为硬件、软件或者系统等不同的环境
可移植性包含4个自特性,如下所示:
适应性
产品能够有效适应不同的或者演变的硬件、软件或者其他运行环境(如系统)的能力
适应性,可以理解为产品能够正常运行在应当支持的不同的硬件、操作系统、平台、浏览器、终端(手机、Pad、浏览器)上
例如软件在不同的终端上,均能正常显示,具体包括布局、大小、清晰度、按键的排列等;
易安装性
反映产品成功安装/卸载的有效性和效率的属性
易安装性也会影响到易操作性、已修改性和功能性
易替换性
在同样的环境下,产品能够替换另一个具有相同用途的指定软件产品的能力
已替换性通常和升级功能有关,也会影响到易修改性。 已替换性还有另外一层深意,就是如果产品是按照标准来设计的,那么不同品牌的产品就是可以互联和胡替换的,换句话说,已替换性将降低用户被锁定的风险。
可移植性的依从性
产品或系统遵循与可移植性相关的标准、约定或法规以及类似规定的程度
ISO/IEC 9126
ISO9126软件质量模型是评价软件质量的国际标准,由6个特性和27个子特性组成。建议大家深入理解各特性、子特性的含义和区别,在测试工作中可以从从这6个特性和27个子特性去测试、评价一个软件。这个模型是软件质量标准的核心,对于大部分的软件,都可以适用。

一、功能性:当软件在指定条件下使用时,软件产品提供满足明确和隐含需求的功能的能力。其子特性如下,
1、适合性:(有没有)软件产品为指定的任务和用户目标提供一组合适的功能的能力。即所提供的功能是用户所需要的,用户所需要的功能软件系统已提供。
例如:佣金计算任务需要月末资产净值的数据,而软件产品的功能是给出资产交易信息,无月末资产净值(无)。
用户目标是计算费用,软件产品提供了佣金计算功能、费用计算功能(有)。
2、准确性:(对不对)软件产品提供具有所需精确度的正确或者相符的结果或者效果的能力。即软件除了能实现所要求的(适合性)功能外,还要求能正确实现(准确性)所要求的功能。
例如:手机发送、接收短信。适合性是看手机是否能进行发送接受,准确性是看发送接收的内容是否正确(发送后和接收到的内容是否一致,内容有无丢失)
3、互操作性:软件产品与一个或更多的规定系统进行进行交互的能力。
例如:不同型 的打印机与word之间的协议不一致
QQ账 登陆微信
4、保密安全性:软件产品保护信息和数据的能力。主要有以下两个方面:
防止未得到授权的用户或者系统访问相关的信息和数据;
保证得到授权的用户和系统能够正常的访问相关的信息和数据。
不同系统对于安全性的需求差别很大。常见的安全性测试如下:
·用户验证:登陆密码验证、IP地址访问限制等
·用户权限管理:验证低级别用户是否具有高级别用户权限,各级别用户权限都得到了实现
·系统数据的保护:对例如系统文件、用户密码文件等进行隐藏、密码验证、内容加密、备份等
·防DOS攻击:拒绝服务攻击 (针对消耗大量资源或相应时间非常长的业务,限制请求次数)
·防溢出攻击:缺少长度验证
·加密、解密:防止信息在传递过程中被截取解析
·防病毒:
5、功能性的依从性:产品软件遵循与国内性相关的的标准、约定或法规以及类似规定的能力。可以参考国际/国家/行业/企业 标准规范。
例如:充值功能要有越的退款途径
二、可靠性:产品在规定的条件下,在规定的时间内完成规定功能的能力
1、成熟性:防止内部错误导致软件失效的能力
2、容错性:软件出现故障,自我处理能力
3、易恢复性:失效情况下的恢复能力
4、可靠性的依从性
三、易用性:在指定使用条件下,产品被理解、 学习、使用和吸引用户的能力
1、易理解性:
2、易学性:
3、易操作性:
4、吸引性:
5、易用性的依从性:
四、效率性:在规定台条件下,相对于所用资源的数量,软件产品可提供适当性能的能力
1、时间特性:平均事务响应时间,吞吐率,TPS(每秒事务数)
2、资源利用性:CPU 内存 磁盘 IO 络带宽 队列 共享内存
3、效率依从性:
五、软件维护性:“四规”, 在规定条件下,规定的时间内,使用规定的工具或方法修复规定功能的能力
1、易分析性:分析定位问题的难易程度
2、易改变性:软件产品使指定的修改可以被实现的能力
3、稳定性:防止意外修改导致程序失效
4、易 测试性:使已修改软件能被确认的能力
5、维护性的依从性
六、软件可移植性:从一种环境迁移到另一种环境的能力
1、适应性:适应不同平台
2、易安装性:被安装的能力
3、共存性:
4、易替换性
5、可移植性的依从性:
参考文档
- 国标25000.10-2016 https://www.doc88.com/p-1975040704794.html
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!