软件工程第三次作业——关于软件质量保障初探

(1)对教材与参考资料阅读后关于软件质量保障你的体会是什么?

1、软件工程的质量体现在那些方面?

    从书中了解到的有以下几个方面:

  •    软件开发过程的可见性
  •   软件开发过程的风险控制
  •   软件内部模块,项目中间阶段的交付质量,项目管理工具的因素
  •   软件开发成本的控制
  •   内部质量指标的完成情况

2、QA和Test的区别与联系

  书中了解到内容如下:

二者区别:

软件测试(Test):运用一定的流程和工具,验证软件能实现预先设计的功能和特性,工作的流程和结果通常是可量化的。也正因如此,很多测试工作是可以自动化的。

软件质量保障工作(Quality Assurance):软件团队为了让软件达到事先定义的质量标准而进行的所有活动。

二者联系:软件质量保障工作包括测试工作。

3、如何衡量软件工程的质量

通过邹欣老师的博客我了解到的内容下:

在本书开头我们讲了如何证明自己做好了软件工程:

  • 研发出符合用户需求的软件
  • 通过一定的软件流程,在预计的时间内发布 “足够好” 的软件
  • 并通过数据和其他方式展现所开发的软件是可以维护和继续发展的

常用的量化标准如下:

  1. 软件 CC 后 DCR 的数量
  2. 用户的好评/差评 (例如AppStore 的5星级评价)
  3. 在CC 后发现的bug 的数量
  4. 文档的完备性和准确性 (用百分率表示)
  5. 修复 bug 所需的平均时间
  6. 单位开发量(人*月)出现的重大 bug 的数量
  7. 测试用例的覆盖率
  8. 模块的复杂程度 (用工具检测并有量化结果)
  9. 代码的行数
  10. 文档的数量和复杂程度
  11. 有多少代码被重用了
  12. 平均每天构建失败的次数
  13. 软件实现了多少功能点
  14. 软件能运行多久, 平均初次错误时间 (mean time to failure)  平均无故障时间 (mean time between failure)...

团队可以选取 7 个指标 (包括自己想出的指标),然后在项目中计算这些指标并跟踪。

有一套比较成熟的理论是CMMI(全称Capacity Maturity Model Integrated,能力成熟度模型集成),它有以下几个等级衡量软件工程的质量:

  • 一级,初始级
  • 二级,管理级
  • 三级,明确级
  • 四级,量化管理级
  • 五级,优化级

 

(2)如果你是一个项目的QA,那么你认为你的工作职责范围是什么?

     

       1. 制定和完善项目开发过程中的各项工作流程和规范。
  2. 监督项目过程按照既定的工作流程与规范执行。
  3. 对项目进行中产出的各项文档进行评估。
  4. 保证文档与工作进程的一致性。
  5. 与PM沟通,共同推动项目进行。
  6. 评估需求文档,规则文档,设计文档和测试用例
  7. 评估需求分析过程所产出的各项设计文档。
  8. 监督在开发过程中,各小组按组内规范进行工作,有组间交互的任务需按组间交互规范去完成。检查设计文档是否与程序源码一致,这些期间QA按工作流程规范监督各项工作任务的进行。和PM及时沟通共同推动项目的进行。
  9. 评估视觉设计工作规范
  10. 评估发布文档。
  11. 对新来的人员作流程和规范方面的培训。

(3)如果你是一个项目经理,那么你认为这你的项目中需要专职的QA么?还是只需有Test即可?如果一旦出现问题,你如何界定由谁担责?

1、通过阅读书和参考资料我了解到

 

上一篇:软件工程第三次作业——关于软件质量保障初探


下一篇:软件工程第三次作业——关于软件质量保障初探