软件质量

  软件质量是指软件本身实体满足用户要求的能力。但并不是软件功能越多质量就越好


一、质量铁三角
  1、组织:组织完备,各司其职,工作全面
  2、技术:开发技术面向对象、云技术;测试技术:敏捷测试、测试用例管理工具、bug管理工具等使用
  3、流程:业务流程和测试、开发流程


二、质量管理体系
  评估团队生成高质量软件的能力,通过评估团队进行软件开发过程中的活动是否符合规范
  1、ISO9000体系:全行业的质量管理体系,定义了原则,评估时以公司、团队是否采取措施满足这些原则
  2、6sigma:以百万产品中,不合格率为评估标准
  3、CMMI:capability maturity model integrated
    a、初始级:没有任何管理、流程的团队
    b、可重复级:在以前的成功经验上、总结出基本的流程
          有流程:需求分析——设计——编码——测试
          但流程的具体实现没有定义
    c、已定义级:流程经过细化,定义了其执行的方式和活动
          将流程扩展到不同类型的软件产品上
    d、已管理级:通过数据的搜集、整理,对流程进行定量描述
    e、优化级:通过对流程进行跟踪,对反馈进行分析,优化流程
        不合理的流程删除、增加新的流程
    


三、质量模型
  1、功能性
    软件的正常功能满足用户的能力
    a、适合性:软件的功能符合用户需求
    b、准确性:软件的功能实现的是否正确、精度符合要求
    c、互操作性:软件之间信息传递和操作的能力
    d、保密安全性:对私密数据保护的能力
    e、依从性:软件符合规则、标准的能力

  2、易用性
    软件的方便操作、美观等
    a、易理解性:软件的功能按钮等描述容易理解
    b、易学性:软件的功能和操作是否方便学习
    c、易操作性:软件功能查找的方便性、实现流程是否复制
    d、吸引性:对于用户的感官、心理的满足程度

  3、效率
    软件功能的执行的速度、占用的资源
    a、相应时间
    b、资源使用,内存、硬盘、cpu等

  4、可靠性
    软件遇到故障或错误自行解决或恢复的能力
    a、成熟性:软件的自身缺陷,对软件的活动造成的影响
    b、容错性:软件对外部错误的输入的容忍程度
    c、易恢复性:从错误的状态恢复到正常状态的能力

  5、可移植性
    软件和环境的搭配
    a、适应性:对不同环境的兼容能力
    b、易安装性:软件对支撑软件的依赖程度
    c、共存性:和其他同类软件的共存能力
    d、易替换性:软件的卸载和升级能力

  6、可维护性
    对软件后期的维护
    a、易分析性:代码的容易解读
    b、易改变性:当放生改变时,需要改变的代码量很小
    c、稳定性:当需求发生变化时,软件是否需要一定的变化
    d、易测试性:软件特性是否容易验证 
posted @ 2018-05-07 16:17  Tynam.Yang  阅读(330)  评论(0编辑  收藏  举报