软件项目质量计划

软件质量基本概念

软件质量是软件满足明确的说明或者隐含的需求的程度

  • 质量模型:人们通常把影响软件质量的特征用软件质量模型来描述
  • 质量的形成: 质量是在开发的过程当中形成的。软件项目的质量在需求阶段 设计阶段 编码阶段已经确定了。后期的检测 修复不能直接提高质量,只是一种打补丁行为或者是一种评估行为
  • 质量成本:
    1. 预防成本:前期质量成本
    2. 缺陷成本:后期质量成本

软件项目质量活动

  • 软件质量管理

    1. 软件质量保证
    2. 软件质量控制
  • 管理的对象

    1. 过程的质量
    2. 产品的质量
  • 质量保证(QA)后期 管理行为
    将审核的主体与为该主体以前建立的一组规程和标准进行比较

    1. 通过评价项目整体绩效,建立对质量要求的信任
    2. 提供项目和产品可视化管理报告
    3. QA不能直接提高本次产品的质量
    • 软件项目质量保证的具体活动
      1. 项目执行过程的审计
      2. 项目产品审计
  • 质量控制(QC)前期 检查职能

    1. 确定项目结果与质量标准是否相符,同时,确定不符合的原因和消除方法
    2. 控制产品的质量,及时纠正缺陷
    3. 例如代码评审,单元测试
    4. is it right done?
    5. 直接提高这个产品的质量
    6. 一般由开发人员实施
    • 质量控制活动
      1. 测试
      2. 技术评审
      3. 代码检查
      4. 数据分析

敏捷质量活动

  • 敏捷项目的质量管理特征
    1. 全程质量审查
    2. 早发现问题,多版本提交
    3. 不断进行质量方法评估和改进
  • 具体的敏捷活动
    1. 结对编程 提高代码质量和项目效率 代码检查行为
    2. 测试驱动开发 开发功能前,先编写测试代码,然后编写测试用例
    3. 持续集成与测试 频繁的集成到整体中,对整体进行测试,强调自动化测试
    4. 不同层面测试
      1. 单元测试
      2. 集成测试
      3. 系统级测试
      4. 冒烟测试
      5. 回归测试
    5. 验收测试驱动开发 和客户讨论产品的验收标准,创建测试让团队能够编写足够的代码,进行自动化测试,满足标准要求
    6. 迭代评审 迭代完成后,向相关人员展示迭代版本运行情况,得到用户反馈
    7. 迭代回顾会议 评审迭代过程 确定是否进行过程改进
    8. 重构 每个过程之后再逐步完善和设计代码

软件质量计划

确定项目应达到的质量标准或者目标,同时决定如何满足质量标准的计划安排和方法。为了达到质量目标,需要安排活动和方法,即将质量保证和质量控制活动规划出来

  • 制定质量计划参照方法
    1. 试验设计
    2. 基准对照
    3. 质量成本分析
    4. 数据图形分析
      1. 流程图方法
      2. 因果分析图
      3. 思维导图