软件质量的定义及其六大特性(质量模型)

article/2025/9/18 3:48:16

1、软件质量的定义

软件质量是软件特性的综合,指软件满足规定或潜在用户需求的能力,其主要从内部质量、外部质量、使用质量和过程质量这四个方面来衡量。

2、软件质量模型

测度与度量:在软件质量中用于测量的一种量化的标度和方法即为测度,而名词的度量即用来指测量的结果。

1. McCail质量模型

这是由McCall和他的同事在早期提出的软件质量模型,指出了影响软件质量因素的分类,其主要集中在以下三个方面:

  1. 操作特性(产品运行)
  2. 承受可改变的能力(产品修订)
  3. 新环境适应的能力(产品变迁)

具体的模型图如下(来源<软件评测师教程>):
在这里插入图片描述

2. Boehm质量模型

Boehm及其同事提出了如下的分层的软件质量模型,除了包含用户期望与需求之外,还提出了McCall模型中没有的硬件特性。
在这里插入图片描述
Boehm模型始于软件的整体效用,从从系统交付后涉及不同类型用户的考虑;用户分为三种,分别为初识用户、将软件移植到其他环境下使用的用户、维护系统的程序员。这三种用户都希望整个系统是可靠的。Boehm模型反映了对软件质量的理解,即软件做了用户要它做的,有效地使用系统资源、易于用户学习和使用、易于测试和维护。

3. ISO9126质量模型

ISO9126软件质量模型是一个分层的质量模型,有6个影响质量的特性,模型中说明了质量特性及其子特性的关系。
在这里插入图片描述
标准的软件质量模型分为三个层次,第一层是6个影响软件质量的主要因素(即下面的质量的特性),在标准中称为质量特性,而每个特性又可以通过第二层的若干个子特性来进行测量,而第二层的每个子特性在测量时又要定义并实施若干个度量。
此模型的出发点是使软件满足用户明确或潜在的需求,这六个特性最大可能的涵盖了其他早期质量模型中的所有因素,并且彼此交叉最小。

3、软件质量的特性

软件的质量特性主要有六个大的特性,其中每个特性中又有一些子特性,分别如下所述。

1. 功能性

定义:软件在指定条件下使用时,满足用户明确或隐含需求的能力。
子特性:

  1. 适合性:软件为指定的任务和用户目标提供一组合适功能的能力
  2. 互操作性:软件与一个或更多的规定系统进行交互的能力。
  3. 安全性:软件保护信息和数据的能力,以使未授权的人员或系统不能阅读或修改这些信息和数据,而不拒绝受权
  4. 依从性:软件遵循与各种特性相关的标准、约定或法规以及类似规定的能力。这些标准要考虑国际标准。
  5. 准确性

2. 可靠性

定义:软件在指定条件下使用时,维护规定的性能级别的能力。
子特性:

  1. 成熟性:软件为避免由软件中错误而导致失效的能力。
  2. 容错性:在软件出现故障或者违反指定接口的情况下,软件维持规定的性能级别的能力。
  3. 易恢复性:在失效发生的情况下,软件重建规定的性能级别并恢复受直接影响的数据的能力。

3. 易用性

子特性:

  1. 易理解性:软件使用户能理解软件是否合适,以及如何能将软件用于特定的任务和使用环境的能力。
  2. 易学性:软件使用户能操作和控制它的能力。
  3. 易操作性:软件使用户能操作和控制它的能力。

4. 效率

定义:在规定条件下,相对于所用资源的数量,软件可提供适当性能的能力。
子特性:

  1. 时间特性:在规定条件下,软件执行其功能时,提供适当的响应和处理时间以及吞吐率的能力,即完成用户
  2. 资源利用性:在规定条件下,软件执行其功能时,使用合适的资源数量和类别的能力。

5. 可维护性

  1. 易分析性
  2. 易更改性
  3. 稳定性
  4. 易测试性

6. 可移植性

  1. 适应性
  2. 易安装性
  3. 一致性
  4. 易替换性

参考

《软件评测师教程》


http://chatgpt.dhexx.cn/article/4yy13i6Z.shtml

相关文章

软件缺陷与软件质量

** 一、 软件缺陷 ** 1、软件缺陷 BUG Bug这 个词在计算机世界表示计算机程序中的错误或者 疏漏&#xff0c;它们会使程序计算出莫名其妙的结果&#xff0c;甚 至引起程序的崩溃。 缺陷的识别 什么是缺陷 不符合设计要求 • 不满足用户确定需求 注意 两个观点 • 有些问题…

软件质量概述篇

软件产品与其他产品一样&#xff0c;都是有质量要求的&#xff0c;软件质量关系着软件使用程度与使用寿命&#xff0c;一款高质量的软件更受用户欢迎&#xff0c;它除了满足客户的显式需求之外&#xff0c;往往还满足了客户隐式需求。下面分别从软件质量的概念、软件质量模型、…

软件测试学习中的一些有用网站

作为小白&#xff0c;在学习软件测试过程中遇到的一些比较有用的公众号、网站&#xff0c;做一总结分享出来&#xff0c;后面也会及时更新里面的内容。 1.公众号&#xff1a;搜狗测试、软件测试资源分享 2.博客/论坛&#xff1a;51testing论坛&#xff0c;CSDN一些博客 3.小…

软件测试该怎么自学?

众所周知&#xff0c;软件测试是IT技术岗位中技术入门门槛最低的&#xff0c;因此许多计算机零基础的小白会选择测试行业。虽然&#xff0c;大家都说测试很简单&#xff0c;但是对于完全没有基础的初学者来讲&#xff0c;想要学好测试也并不简单。下面我们就来看看&#xff0c;…

刚入行的软件测试工程师如何自学软件测试?

从题干上看&#xff0c;你是已经进入了软件测试行业&#xff0c;有了一份软件测试的工作&#xff0c;那表示你看好这个行业&#xff0c;有意愿在这个行业持续发展。 软件测试相对一些开发的专业来说&#xff0c;需要了解的东西特别多&#xff0c;拿一些招聘简章中的要求来看&am…

软件测试自学好还是培训好?软件测试自学与培训的优劣势对比

随着移动互联网行业的火爆&#xff0c;软件测试行业成了香饽饽。一大批想要学习软件测试的新手都经历过这样的迷茫期&#xff0c;软件测试自学好还是报培训班好&#xff1f; 首先&#xff0c;如果你对软件测试行业真的感兴趣&#xff0c;从此工具为乐&#xff0c;代码为生。我…

自学软件测试,该读些什么书籍?

大家好&#xff0c;我是谭叔。 最近&#xff0c;有不少准备转行软件测试的网友询问我应当阅读些什么书籍。这一问让我想起几年前&#xff0c;我准备转行时的场景——那时&#xff0c;迷茫的我真的好期待有一位老师能带带我&#xff0c;告诉我该怎么学习&#xff0c;该阅读哪些…

软件测试技能图谱|自学测试路线图

很多新手&#xff0c;不知道软件测试学习该如何开始&#xff0c;软件测试需要掌握哪些知识。下面是根据本人的理解&#xff0c;粗略整理的一个学习大纲&#xff0c;希望对刚入行或者准备学习测试的朋友提供一点指引。 — 1 — 测试基础理论 软件测试基础理论是软件测试的重要…

自学软件测试怎么样,有前景吗?

做测试有没有前景呢?这是大家最关心的一个问题&#xff0c;但其实测试岗和任何岗位一样&#xff0c;都有其天花板、有其挑战也有其发展前途。 一、天花板和挑战 随着人工智能的发展&#xff0c;测试也越来越实现半自动化操作了。所以&#xff0c;很多大公司将测试岗位外包&a…

自学软件测试需要多久?能掌握吗?

自学软件测试需要多久&#xff1f;如果参加培训班学软件测试需要5-6个月&#xff0c;自学软件测试时间长短因人而异&#xff0c;与学习资料及个人的毅力有关&#xff0c;排除资料问题假设能够弄到靠谱的资料然后开始自学&#xff0c;按照制定好的学习计划走至少需要5个月。 自…

软件测试培训分享:软件测试自学能找到工作吗

软件测试技术虽然不是很难&#xff0c;但对于零基础的同学来说&#xff0c;想要自学软件测试难度还是很大的&#xff0c;而且会在后面找工作的时候比较困难&#xff0c;下面小编就为大家具体的介绍一下软件测试自学能找到工作吗? 软件测试自学能找到工作吗?软件测试的工作本质…

软件测试自学网站推荐_四大适合年轻人自学的网站!知乎超100万人推荐,自学改变人生...

在这个互联网时代&#xff0c;想要学点什么东西&#xff0c;上网搜一搜就有&#xff0c;但网上的资源五花八门&#xff0c;看得人眼花缭乱&#xff0c;想要找到高质量又免费的自学资源还真不是见容易的事&#xff01;不过别着急&#xff0c;今天就来跟大家分享几个质量杠杠的自…

零基础怎么自学软件测试?分享五个宝藏网站,自学简直不要太轻松了

虽说入行门槛低&#xff0c;但软件测试涉及的技术知识可不少&#xff0c;求学之路不是容易的事&#xff0c;因此很多朋友纷纷吐槽——​​​​​​​ .没有导师&#xff0c;不知道从哪里开始学起&#xff1b;.学习过程中遇到困难&#xff0c;自己无法解决&#xff0c;最终放弃…

自学软件测试最常用的七个网站!建议收藏

前言 不知道大家有没有发现一个现象&#xff0c;技术行业更新换代的速度&#xff0c;远远快于我们追赶的脚步&#xff0c;两三年前&#xff0c;只需要掌握基础的软件测试技术&#xff0c;会一些功能测试&#xff0c;就可以找到一份不错的工作&#xff0c;但是从2021年来看&…

机器学习模型——回归模型

目录 线性回归特点最小二乘法代码实现 多项式回归特点 岭回归特点&#xff1a;共线性collinearity优化函数代码实现 套索回归Lasso岭回归和套索回归对比代码实现 弹性回归网络特点&#xff1a; 线性回归 线性回归指的是全部由线性变量组成的回归模型特点 建模速度快、对每个变…

机器学习基础:模型评估(上)

目录 1. 什么是一个优秀的分类器 2. 选择测试数据集 2.1 切分训练测试集 2.1.1 简单随机划分&#xff08;random handout&#xff09; 2.1.2 留一法&#xff08;leave-one-out&#xff09; 2.1.3 留一法交叉验证&#xff08;leave-one-out cross validation&#xff09; …

【零基础强化学习】强化学习中的有模型和无模型

递归与动态规划&#x1f914; 写在前面关于Planning 与 Learning关于有模型和无模型写在最后谢谢点赞交流&#xff01;(❁◡❁) 更多代码: gitee主页&#xff1a;https://gitee.com/GZHzzz 博客主页&#xff1a; CSDN&#xff1a;https://blog.csdn.net/gzhzzaa 写在前面 作…

【机器学习】哪些模型可以解释?

模型解释是有监督机器学习中的一项重要任务。解释模型对于理解支配数据的动态至关重要。让我们看看一些易于解释的模型。 为什么我们需要解释我们的模型&#xff1f; 数据科学家的角色是从原始数据中提取信息。他们不是工程师&#xff0c;也不是软件开发人员。他们挖掘内部数据…

机器学习建模

文章目录 1.机器学习模型概述1.1 模型与算法1.2 机器学习中的三要素1.3 机器学习模型 2.传统机器学习模型&#xff08;单模型&#xff09;2.1 按任务类型划分2.1.1 分类2.1.2 回归 2.2 按性质划分2.2.1 非概率模型&#xff08;决策函数&#xff09;2.2.2 概率模型 2.3 按知识体…

机器学习(三):线性模型

&#x1f4e2;&#x1f4e2;&#x1f4e2;&#x1f4e3;&#x1f4e3;&#x1f4e3; &#x1f33b;&#x1f33b;&#x1f33b;Hello&#xff0c;大家好我叫是Dream呀&#xff0c;一个有趣的Python博主&#xff0c;多多关照&#x1f61c;&#x1f61c;&#x1f61c; &#x1f3…