【软件质量】软件质量分析总结报告

article/2025/9/17 9:11:33

        软件质量-----“软件与明确地和隐含地定义的需求相一致的程度”


一、质量的概念

Ⅰ、传统的质量概念:产品性能是否符合技术规范 

Ⅱ、质量是一组固有特性满足要求的程度

Ⅲ、适用性质量

Ⅳ、质量不仅指产品质量,也指过程和体系的质量

二、软件质量

Ⅰ、产品质量

Ⅱ、使用质量

三、质量的角度

Ⅰ、企业角度

Ⅱ、客户角度

四、软件质量管理的开展

五、质量管理的三套体系 

Ⅰ、建立预防体系

Ⅱ、建立有效检查体系

Ⅲ、建立快速抢救体系

六、从测试角度开展软件质量管理工作

Ⅰ、质量控制

Ⅱ、质量目标

Ⅲ、同行评审

Ⅳ、漏测预防

Ⅴ、发散测试


一、质量的概念

        符合性--------->适用性

Ⅰ、传统的质量概念:产品性能是否符合技术规范 

  • 质量特性处于规范值得容差范围内,合格产品或者质量高得产品。
  • 超出融创范围,不合格产品或次品。

Ⅱ、质量是一组固有特性满足要求的程度

  • 广义的质量概念,不仅要让客户满意,还要让客户愉悦,也就是,想在客户的面前,超出客户的期望。

Ⅲ、适用性质量

  • 让客户满意,不仅满足标准、规范的要去,而且满足客户的其他要求,包含隐含要求。

Ⅳ、质量不仅指产品质量,也指过程和体系的质量

  • 广义质量指产品的质量以及开发这种产品的过程、组织和质量体系的质量。

二、软件质量

        按照"ISO/IEC 25010:2011软件质量模型"的标准,分为产品质量和使用质量两个方面。

        从产品质量和使用质量两个方面,分为八大特性。

Ⅰ、产品质量

        产品质量是指在特定的使用条件下,产品满足明示的和隐含的需求所明确具备能力的全部固有特性(内在特性),体现了产品满足产品要求的程度(外部表现),是产品的质量属性,包含功能适用性、效率、兼容性、易用性、可靠性、安全性、可维护性和可移植性。

  1. 功能适应性(functional suitability):软件所实现的功能达到其设计规范和满足用户需求的程度,强调正确性、完备性、适合性等。
  2. 效率(efficiency):在指定条件下,软件对操作所表现出的时间特性(如响应速度)以及实现某种功能有效利用计算机资源(包括内存大小、CPU占用时间等)的程度,局部资源占用高通常是性能瓶颈存在;系统可承受的并发用户数、连接数量等,需要考虑系统的可伸缩性。
  3. 兼容性(compatibility),涉及共存和互操作性,共存要求软件能给与系统平台、子系统、第三方软件等兼容,同时针对国际化和本地化进行了合适的处理。 互操作性要求系统功能之间的有效对接,涉及API和文件格式等。
  4. 易用性(usability):对于一个软件,用户学习、操作、准备输入和理解输出所作努力的程度,如安装简单方便、容易使用、界面友好,并能适用于不同特点的用户,包括对残疾人、有缺陷的人能提供产品使用的有效途径或手段(即可达性)。
  5. 可靠性(reliability):在规定的时间和条件下,软件所能维持其正常的功能操作、性能水平的程度/概率,如成熟性越高,可靠性就越高;用MTTF (mean time to failure,平均失效前时间) 或MTBF(mean time Between failures,平均故障间隔时间)来衡量可靠性。
  6. 安全性(security),要求其数据传输和存储等方面能确保其安全,包括对用户身份的认证、对数据进行加密和完整性校验,所有关键性的操作都有记录(log),能够审查不同用户角色所做的操作。它涉及保密性、完整性、抗抵赖性、可核查性、真实性。
  7. 可维护性(maintainability):当一个软件投入运行应用后,需求发生变化、环境改变或软件发生错误时,进行相应修改所做努力的程度。它涉及模块化、复用性、易分析性、易修改性、易测试性等
  8. 可移植性(portability)软件从一个计算机系统或环境移植到另一个系统或环境的容易程度,或者是一个系统和外部条件共同工作的容易程度。它涉及适应性、易安装性、易替换性。 

Ⅱ、使用质量

        在使用质量中,不仅包含基本的功能和非功能特性,如功能(有效、有用)、效率(性能)、安全性等,还要求用户在使用软件产品过程中获得愉悦,对产品信任,产品也不应该给用户带来经济、健康和环境等风险,并能处理好业务的上下文关系,覆盖完整的业务领域。

三、质量的角度

Ⅰ、企业角度

  • 质量一方面反映企业组织的过程能力,如:过程/过程规范的符合度
  • 质量另一方面反映企业最终产品/服务的交付质量

Ⅱ、客户角度

  • 质量就是使客户满意
  • 质量就是适应性
  • 质量就是符合客户特定的要求

四、软件质量管理的开展

  1. 软件质量管理需要解决制定规则,执行规则,监督效果的问题;监督检查出来的问题要进行持续改进。
  2. 规则的制定需要考虑组织、流程、技术和最佳实践是个层面。
  3. 需要覆盖软件研发的生命周期。

五、质量管理的三套体系 

Ⅰ、建立预防体系

  • 专家培训,不断提高大家的技术水平、管理水平;
  • 流程化,不断提高规范化水平,把经验和教训固化在流程中。大家如果按照流程来做,软件质量不会差,但是如果不按流程来做,那软件质量不确定,有可能很差,也有可能很好。他依赖于人。流程化的目的就是希望产品质量不要依赖于人,而是要依赖于流程、制度、规范。这样公司的产品质量就比较稳定,即使人员变更也会比较稳定。这就是流程化的目的。
  • 复用化。处理相同的事最好尽量复用现有代码,或者把公共功能做成模块,便于大家复用。这样就可以预防问题的发生。

Ⅱ、建立有效检查体系

  • 技术评审。请专家对技术方案、思路进行评审,在编码之前找出可能的问题。质量管理大师戴明博士说过:质量是设计出来的。可见编码之前的设计方案是非常重要。设计时就埋下的缺陷隐患在后期是很难解决的。设计不好的软件就像体质不好的人,后期再多的调理也收效甚微。
  • 测试。测试是查漏补缺的重要手段。这里有各种测试方法,例如静态测试、动态测试、白盒测试、黑盒测试、单元测试、模块测试、系统测试、回归测试、功能测试、性能测试、易用性测试手工测试、自动测试。但是我觉得最重要的是要使所有的测试方法形成一套有效的测试系统。
  • 过程检查。软件开发过程中有一些大家公认的过程或规范能够避免产生一些问题,那这些过程和规范就应该被检查,保证软件开发过程与规范被大家遵守。这主要是QA的工作。
  • 代码评审。评审工作主要看代码是否与当初的设计方案一致。这样我们就能最大限制减少问题的产生。

Ⅲ、建立快速抢救体系

在软件产品发布之后,客户可能会发现问题。因此一定要尽早回应、解决,尽量减少对客户的影响,也有利于维护自己产品的声誉。

六、从测试角度开展软件质量管理工作

Ⅰ、质量控制

  软件质量控制对开发过程中的软件产品的质量特性进行连续的收集和反馈,通过质量管理和配置管理等机制,使软件开发过程向着既定的质量目标发展。质量控制是质量管理的的路标和动力,质量管理是质量控制的执行机制。

Ⅱ、质量目标

  为了达到质量控制,测试团队不但需要明确软件的功能,还要明确软件应达到什么样的质量标准,即制定软件的质量目标。为了达到这些目标,在开发过程的各个阶段进行检查和评价。在质量评价时,需要有对质量进行度量的准则和方法,但更重要的是,需要在软件生存期中如何使用这些准则和方法的质量保证步骤及提高该项作业生产率的工具。

Ⅲ、同行评审

  在软件开发过程中邀请同行对工作产品进行审查,以图尽早查找出工作产品缺陷,进行质量控制的一种质量活动。需要前期准备、计划,安排好时间进度表,而且越早开展对项目越有价值。

Ⅳ、漏测预防

  漏测是指软件产品的缺陷在某一阶段未被发现而遗漏到了后续阶段、经效果评估后,将有效的预防措施纳入到流程或相关预防平台中,制定改进措施和跟进实施。

Ⅴ、发散测试

  发散测试,顾名思义就是不以某个标准或者框框作为约束的一种测试,发散测试准确来说应该叫具备发散思维的探索性测试。为了提高测试执行覆盖率,在严格按照用例测试执行后,通常需要进行发散测试,这里包括自由测试和交叉测试。


        保证软件质量,是一个贯穿整个软件生存周期的重要问题。重视软件质量管理,规范软件质量管理体系,对整个软件项目管理起到非常重用的促进作用。


http://chatgpt.dhexx.cn/article/XmsAbYC0.shtml

相关文章

软件质量有什么特性?

软件质量有什么特性? 《软件工程—产品质量》(GB/T 16260-2006)中规定对软件的每个质量特性与子特性都有定义: 一、功能性:是指当软件在指定条件下使用,软件产品满足明确和隐含要求功能的能力。 适合性&a…

1.软件质量

一、软件质量 什么是质量 定义:影响产品或服务满足给定需求的能力的特性和特性的总和。 质量来自: 客户的观点是否适合使用或其他客户需求生产者观点满足要求 软件质量 定义:软件符合质量标准的程度。 Prevention is better than cure…

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

1、软件质量的定义 软件质量是软件特性的综合,指软件满足规定或潜在用户需求的能力,其主要从内部质量、外部质量、使用质量和过程质量这四个方面来衡量。 2、软件质量模型 测度与度量:在软件质量中用于测量的一种量化的标度和方法即为测度…

软件缺陷与软件质量

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

软件质量概述篇

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

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

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

软件测试该怎么自学?

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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