软件质量模型ISO/IEC25010

前言

作为一个软件测试工程师,第一个需要深入理解的知识就是软件质量模型。对测试而言,工作不仅仅是提缺陷,还需要评估产品质量。如何评估产品质量呢,评估的结果是否客观,有没有标准或者可以分析的维度。

在为产品做质量评估之前,我们需要先弄清产品质量是什么? 根据IEEE24765-2010的定义,产品质量是只“在特定的使用条件下,产品满足明示的和隐含的需求的固有特性”,简言之,质量就是满足需求。进行软件质量评估,评估的主要内容其实就是产品是否满足用户需求

产品满足用户需求,不仅仅是满足产品需求中明确提及那些的功能,还要满足行业规范、约定俗成的要求或者用户的使用习惯等隐形需求。由于行业背景不一样,个人的知识储备不一样,且用户需求在传递的过程中可能会有变形失真等原因,我们需要借助软件质量模型进行系统分析,识别这些隐藏的需求,预防缺陷,提升产品质量。

ISO/IEC 25010

同9126相比,25010将质量模型从原来的6个属性扩展到8个属性,新增加的内容是安全性兼容性, 另外还对功能性、易用性和可维护性做了修改,具体内容如下所示。
质量模型25010

功能性

是指软件产品在指定条件下使用时,提供满足明示隐含要求的功能的能力。 明示+隐含才构成了用户对产品的真正完整的功能要求。
功能性包含4个子特性,这些子特性可以给我们提供分析功能性要求的思考方向。

适合性

功能促使指定的任务和目标的实现程度

可以分两个个层次来理解功能性中的适合性:

  • 第一层次:有没有,即是系统提供的功能是用户所需要的
  • 第二层次:是否合适,即是只提供用户必要的步骤即可完成任务,不含任何不必要的步骤

例子:

  • 计算器 的适合性就是是否有加减乘除功能
  • 手机发送短信的适合性看手机能否有能进行发送和接受短信的功能
正确性

产品或系统提供具有所需精度的正确结果

也可以分两个层次来理解功能性中的正确性:

  • 第一个层次:对不对,即是提供的功能的结果是对的
  • 第二个层次:即是满足精度要求

例子:

  • 计算器 1+1=2,手机发送短信的内容有无丢失
  • 金额保留2位小数、利率应针对不同的金额范围保证计算结果为两位小数
完备性

功能集对指定任务和用户目标的覆盖程度
也可以分两个层次来理解功能性中的完备性:

  • 第一个层次:全不全,为用户提供的功能是否满足用户的预期(明示)
  • 第一个层次:全不全,为用户提供的功能是否满足用户的预期(隐含)

例子:

  • 计算器要提供加减功能,也要提供乘除这些明示的功能(明示)
  • 如果产品时针对特殊人群使用,如针对程序员,需提供位转换功能;针对盲人,需提供触摸键盘和语音功能等等(明示)
  • 特定场景才能想到用到的功能,查看历史记录、日期计算等不常用功能(隐含)
功能性的依从性

产品或系统遵守与功能性相关的标准、约定或者法规以及类似规定的程度

兼容性

是指软件产品在共享软件或硬件的条件下,产品、系统或者组件能够与其他产品、系统或组件交换信息,实现所需功能的能力。

兼容性包含3个子特性,这些子特性可以给我们提供分析兼容性要求的思考方向。

共存性

在与其他产品共享通用的环境和资源的条件下,产品能够有效执行其所需的功能并且不会对其他产品造成负面影响。

也可以分两个层次来理解兼容性中的共存性:

  • 第一个层次:不同类型的软件可可以共存,且不会产品相互的负面影响
  • 第二个层次:相同类型的软件可以共存,且不会产品相互的负面影响

例子:

  • 计算器可以和系统中的其他应用,如闹铃、天气预报等其他应用共存,彼此不会互相影响
  • 360安全卫士和QQ电脑管家、不同厂家的计算器等等
互操作性

两个或多个系统、产品或组件能够交换信息并使用已交换的信息

例子:

  • 第三方登录,使用第三方账号登录到系统
  • Word文档打印,兼容各种主流型号的打印机进行互操作性测试
  • 手机入网,兼容网络运行商特殊需求、兼容个基站控制器品牌不同的兼容性
  • ATM取款,兼容各个不同银行的卡、兼容不同不类型的卡
兼容性的依从性

产品或系统遵守与兼容性相关的标准、约定或者法规以及类似规定的程度

安全性

是指软件产品或系统保护信息和数据的程度,其可使用户、产品或系统具有与其授权类型、授权级别一致的数据访问程度

安全性有被细分为6个子特性,这些子特性可以给我们提供分析安全性要求的思考方向。

保密性

产品或系统确保数据只有在被授权是才能被访问

安全性的保密性可以理解为:认证 + 授权
例子:

  • 有认证和授权功能,产品、系统、组件需要通过认证才能访问。通过授权来确认访问者的访问权限,不能非法越权、提权
  • 通过认证,如果不具备权限也不能访问系统数据
  • 有加密功能,数据在存储和传输过程中均需要加密
完整性

系统、产品或组件防止未授权访问、篡改计算机程序或数据的程度

例子:

  • 授权访问
  • 作为应用程序的使用者,操作系统账号都不应具有篡改应用程序的权限,不能植入其他非本应用程序相关的内容
  • 产品、系统抵抗其他攻击的能力、也算是安全性的完整性范畴
真实性

对象或资源的身份识别能够被证实符合其声明的程度
例子:

  • 加密功能,防止用户认证数据被拦截篡改
  • 安全认证方式,人脸识别、身份证信息识别等
抗抵赖性

活动或事件发生后可以被证实且不可被否认的程度

可以理解为系统需要有记录用户行为日志并保留足够长的时间
例子:

  • 系统详细记录什么时间谁使用了xx应用做了什么事情
  • 审计信息存储足够长的时间(如6个月)
可核查性

活体的活动可以被唯一追溯到该实体的程度

例子:

  • 认证 + 记录使用行为
安全性的依从性

产品或系统遵循与安全性相关的标准、约定或法规以及类似规定的程度

可靠性

是指在特定条件下使用时,软件产品维持规定的性能级别的能力
可靠性三要素:规定的环境、规定的时间、规定的性能
可靠性包含5个子特性,我们可以从如下3个层层递进的句子来理解可靠性的要求:

  • 第一层:产品或系统最好不要出故障,即是成熟性
  • 第二层:产品、系统对故障和异常有一定的容忍度,出现故障了不要影响主要的功能和业务,即是容错性
  • 第三层:如果影响了主要功能和业务,系统可以尽快定位问题并恢复的能力,即是易恢复性。
成熟性

产品为避免因软件故障而导致失效的能力
可以从两个层次来理解成熟性:

  • 第一个层次: 产品长时间运行功能出现失效的概率
  • 第二个层次:软件自身错误导致导致整个软件失效,对错误预先进行防范

例子:

  • 软件长时间持续运行一段时间后,会偶尔出现功能失效的问题,一般情况下这些问题都可以通过“重启”的方式恢复
可用性

系统、产品或组件在需要使用时能够进行操作和访问的程度

可以理解为成熟性(不要出故障,控制故障失效的评率)、容错性(对故障的容忍度)和易恢复性(控制每次失效后系统无法工作的时间)的组合,是一个整体评估可靠性的指标。

“几个9”是衡量系统可用性的一种标准方式,其表示产品、系统在1年的使用过程中最多可能出现的业务中断的时间,计算方法和使用领域如下所示:
在这里插入图片描述
在实际使用时,可以使用如下公式来计算产品、系统实际的可用性A:
A = MTBF/(MTBF + MTTR)
说明:

  • 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、可移植性的依从性:

参考文档

  1. 国标25000.10-2016 https://www.doc88.com/p-1975040704794.html
  • 18
    点赞
  • 102
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
### 回答1: ISO/IEC 25010是国际标准化组织(ISO)和国际电工委员会(IEC)共同制定的一个系统和软件质量模型。该模型定义了一系列与系统和软件质量有关的属性和度量指标,用于评估和改进软件产品的质量。 要下载ISO/IEC 25010的相关文件,可以按照以下步骤进行: 1. 打开国际标准化组织(ISO)的官方网站,网址为:www.iso.org。 2. 在网站的搜索栏中输入“ISO/IEC 25010”。 3. 点击搜索按钮进行搜索,结果页面将显示与ISO/IEC 25010相关的文件和信息。 4. 在结果页面中找到与ISO/IEC 25010-系统和软件质量模型相关的文件链接。可以通过文件名、标准编号等方式进行筛选。 5. 点击文件链接,系统将会提示您进行登录或注册。如果已经有账户,可以直接登录;如果没有账户,需要注册一个新账户。 6. 登录或注册成功后,您将获得下载文件的权限。 7. 点击下载链接,选择文件格式(PDF、DOC、PPT等),然后保存文件到您的电脑或其他设备中即可。 需要注意的是,ISO文件通常是收费的,您可能需要支付一定的费用才能够下载文件。另外,ISO/IEC 25010的最新版本可能比旧版本更为详细和完善,建议选择最新版本的文件进行下载。 总之,您可以通过国际标准化组织的官方网站获取ISO/IEC 25010-系统和软件质量模型的相关文件,并按照上述步骤进行下载。 ### 回答2: ISO/IEC 25010是国际标准化组织(ISO)和国际电工技术委员会(IEC)联合发布的关于系统和软件质量的标准文件。 ISO/IEC 25010为开发者和组织提供了一种评估和测量系统和软件质量的方法。这个标准提供了一套清晰的质量模型和相关的定义,帮助开发者和组织确保他们的系统和软件满足用户需求和期望。 对于想要下载ISO/IEC 25010的人来说,可以通过国际标准化组织的官方网站进行获取。通常来说,这样的标准文件是需要购买的,并且价格会因具体的国家和用途而有所不同。你可以在ISO的官方网站上找到相关的购买链接和详细信息。此外,还可以考虑联系当地的标准化组织或图书馆,了解是否提供免费或有偿的标准文件获取服务。 值得注意的是,ISO/IEC 25010是一份具有权威性的标准文件,所以建议经过适当的培训或具备相关背景知识的人员使用。使用这个标准,你可以对系统和软件进行全面的质量评估,并与标准中定义的模型进行对比,以确保其质量达到预期。 总之,获取ISO/IEC 25010的方法是通过购买或联系相关机构进行咨询。这个标准对于开发者和组织来说是非常有用的,可以帮助他们评估和改进系统和软件的质量。 ### 回答3: iso/iec 25010是一个系统和软件质量模型的国际标准,用于评估系统和软件的质量特性。该标准定义了一系列质量特性和子特性,并提供了评估这些特性的方法。ISO/IEC 25010包含了对软件和系统质量的细致描述,以帮助开发团队和质量评估团队了解和评估产品的整体质量水平。 ISO/IEC 25010标准文件可以通过国际标准化组织(ISO)和国际电工委员会(IEC)的官方网站获取。这些网站提供了最新版本的标准文档,以及一些免费的公开访问文档。 要下载ISO/IEC 25010标准文件,可以按照以下步骤进行: 1. 打开国际标准化组织(ISO)和国际电工委员会(IEC)的官方网站,网址分别是www.iso.org和www.iec.ch。 2. 在网站的搜索框中输入“ISO/IEC 25010”并点击搜索按钮。 3. 在搜索结果中找到与“ISO/IEC 25010”相关的文档,点击文档链接。 4. 查看文档详情页面,了解该文档的描述和其他信息。 5. 如果该文档是免费公开访问的,你可以直接在页面上找到下载链接并点击下载。 6. 如果需要购买文档或者获取其他详细信息,可以按照网站提供的指引进行操作。 通过以上步骤,你可以获取到ISO/IEC 25010标准文件的下载链接或者相关信息。请注意,某些ISOIEC的标准可能需要付费购买或者会员订阅才能获取。建议根据具体需求在官方网站上查找更详细的信息。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值