软件质量

1、质量:实体基于这些实体特性满足需求的程度

2、软件质量的三个层次:符合需求规格(目标是开发者定义的,而且可以验证的)

            符合用户的显示需求

               符合用户的实际需求(显示需求+隐示需求)

3、戴明:戴明环>PDCA>plan→do→check→action

  朱兰>质量管理三部曲:质量策划,质量控制,质量改进

  影响质量的因素(质量铁三角):技术(工具)、流程(过程)、组织(人)

4、质量管理发展阶段:检验质量管理:事后检验为主

           统计质量控制:指导将来项目

           将质量控制扩展到产品生命全过程,强调全体员工参与

5、质量管理体系:

  ISO9000管理族群:

        • ISO9000:制定管理理念和原则,确定了新版本标准的指导思想和理论基础。

        • ISO9001:必须履行的要求做了明确规定(最低要求和基本标准)

        • ISO9004:是组织进行持续改进的指南                                                                                                                                                                         

      八项质量管理原则:1.以顾客为中心               2.领导作用

                               3.全员参与                     4.过程方法

                               5.管理的体系方法          6.持续改进

                            7.基于事实的决策方法   8.互利的供方关系

  CMM体系(专门针对软件行业)评价软件承包商的能力:

      目的:内部评估、第三方评估、流程改进

      分级:• 初始级:不可预测,并且缺乏控制(个人英雄主义)

         • 可重复级:可重复以前的工作经验(有纪律)

         • 已定义级:过程被描述,并得到良好理解(标准和一致)

         • 已管理级:过程被测量并受控(可预测)

         • 优化级:关注过程改进(不断改进)

  CMMI体系:

      表示方式:阶段式和连续式

        阶段式:初始级、管理级、已定义级、定量管理级、优化级

        连续式:过程管理、项目管理、工程管理、支持管理

  6Sigma(六西格玛:一百万个样品中3.4个缺陷

      实施方式:定义→测量→分析→改进→控制

6、质量模型

  过程质量:测量活动:SQA

  内部质量:测量活动:• 静态测试:SRS、HLD、LLD、代码评审

            • 动态测试:UT、IT

  外部质量:测量活动:动态测试:ST

  使用质量:测量活动:验收测试、а、β测试

7、软件质量模型的特性

  1、 功能性:在指定条件下使用时,软件产品满足需求的功能的能力

      适合性:软件产品为指定的任务和用户目标提供一组合适的功能的能力,所提供的功能是用户所需要的,用户所需要的功能软件系统已提供

     准确性:软件产品提供具有所需精确度的正确或相符的结果或效果的能力,软件除了实现所需要的功能外,还要求能正确实现索要求的功能

     互操作性:软件产品与一个或更多的规定系统进行交互的能力

     保密安全性:软件产品保护信息和数据的能力

                Ⅰ:防止未得到授权的人或系统访问相关的信息或数据

      Ⅱ:保证得到授权的人或系统能正常访问相关的信息或数据

     功能性的依从性

  2、 可靠性:在指定条件下使用时,软件产品维持规定性能级别的能力

       三要素:规定的环境、规定的时间、规定的性能

      成熟性:软件产品避免由软件中的错误而导致失效的能力,软件自身的错误、自身模块间的错误

        容错性:在软件出现故障或者违反指定接口的情况下,软件产品维持规定的性能级别的能力,防止外部传入的错误波及自身而失效

         易恢复性:在失效发生的情况下,软件产品重建规定的性能级别并恢复受直接影响的数据的能力

                  Ⅰ:原有能力恢复的程度

        Ⅱ:原有能力恢复的速度

         可靠性的依从性

  3、 易用性:在指定条件下使用,产品被理解、学习、使用和吸引用户的能力

        易理解性:软件产品使用户能理解软件是否合适以及能将软件用于特定的任务和使用环境的能力

        易学习性:软件产品使用户能学习其应用的能力

        易操作性:软件产品使用户能操作和控制他的能力

                  Ⅰ:完成某一个功能时,需要大量的操作和切换

     Ⅱ:GUI 界面,菜单层次不要太深

     Ⅲ:安装软件的过程有大量的安装步骤和大量的分支选项

        吸引性:软件产品吸引用户的能力,美观和新颖

       易用性的依从性

  4、 效率:在规定条件下,相对于所用资源的数量,软件产品可提供适当性能的能力

        时间特性:在规定条件下,软件产品执行其功能时,提供适当的响应和处理时间以及吞吐率的能力。即完成用户的某个功能需要的响应时间

        资源利用率:在规定条件下,软件产品执行其功能时,使用合适的资源数量和类别的能力

        效率的依从性

  5、 维护性:产品可以被修改的能力。修改可能包括修正、改进或对环境、需求和功能规格说明变化的适应

        易分析性:软件产品诊断软件中的缺陷或失效的原因或识别待修改部分的能力

        易改变性:软件产品使指定的修改可以被实现的能力

        稳定性:软件产品避免由于软件修改而造成意外结果的能力

        易测试性:软件产品使已修改软件能被确认的能力

        维护性的依从性:

  6、 可移植性:软件产品从一种环境迁移到另一种环境的能力

        适应性:软件产品无需采用有别于为考虑该软件的目的而准备的活动或手段就可以适应不同的指定环境的能力,软件系统无需做任何相应变动就能适应不同运行环境

        易安装性:软件产品在指定环境中被安装的能力

        共存性:软件产品在公共环境中与其分享资源的它独立软件共存的能力

        易替换性:软件产品在同样环境下,替代另一个相同用途的指定软件产品的能力

        可移植性的依从性

功能性  可靠性 易用性 效率 可维护性 可移植性
适合性 成熟性 易理解性 时间特性 易分析性 适应性
准确性 容错性 易学性 资源利用性 易改变性 易安装性
互操作性 易恢复性 易操作性   稳定性 共存性
保密安全性   吸引性   易测试性 易替换性
功能性的依从性 可靠性的依从性 易用性的依从性 效率的依从性 可维护性的依从性 可移植性的依从性

QA:质量保证>>通过流程监控保证质量

QC:质量控制>>通过结果检查保证质量(测试属于QC)

 

    

  

原文地址:https://www.cnblogs.com/qiuqiu21/p/8377520.html