如何衡量软件质量
- 软件 CC 后 DCR 的数量
- 用户的好评/差评 (例如AppStore 的5星级评价)
- 在CC 后发现的bug 的数量
- 文档的完备性和准确性 (用百分率表示)
- 修复 bug 所需的平均时间
- 单位开发量(人*月)出现的重大 bug 的数量
- 测试用例的覆盖率
- 模块的复杂程度 (用工具检测并有量化结果)
- 代码的行数
- 文档的数量和复杂程度
- 有多少代码被重用了
- 平均每天构建失败的次数
- 软件实现了多少功能点
- 软件能运行多久, 平均初次错误时间 (mean time to failure) 平均无故障时间 (mean time between failure)...
团队可以选取 7 个指标 (包括自己想出的指标),然后在项目中计算这些指标并跟踪。
1)对教材与参考资料阅读后关于软件质量保障你的体会是什么?
软件质量保证是一个复杂的系统,它采用一定的技术、方法和工具,来处理和调整软件产品满足需求时的相互关系,以确保软件产品满足或超过在该产品的开发过程中所规定的标准。其工作原则如下:
(1) 尽可能做到质量特征的具体化及量化。
(2) 要找出每个阶段的具体质量特征。
(3) 针对具体产品和相应项目制定质量计划。
(4) 检查质量测试结果。
(5) 进行各种质量评审。
(6) 优化的建设性的质量保证。
(7) 尽早发现并改正错误和缺陷。
(8) 集中进行质量保证。
(9) 独立的质量测试。
(10) 对所应用的软件质量保证措施的评价。
所以软件质量的的保障对于一个软件产品来说是很重要的,但是软件质量的保障有并不等于只是软件测试,他依靠一些其他部门的合作来实现软件质量的保障,而有的时候软件质量的保障也存在一些未知的风险和bug ,关于软件质量的保障最首先的还是做好事先的评估,一些未知风险的预估和一些工作额合理化分配,软件测试相对于软件质量的保障也是很重要的一部分,要不断的提高测试的方式方法也是软件质量保障的一部分,最终能达到衡量软件质量的标准很重要。
(2)如果你是一个项目的QA,那么你认为你的工作职责范围是什么?
如果我是一个项目的QA,我认为最重要是过程评审和产品审计过程指导、过程度量和过程改进等,执行同行评审过程中,QA可以协助评审和组织会议;在存在外包的情况下,可能需要QA在监控外包方方面发挥作用。软件质量的保障依赖于很多部分的保障,来确保软件得到客户的认可,同时也要 保障一些未知风险的防范
(3)如果你是一个项目经理,那么你认为这你的项目中需要专职的QA么?还是只需有Test即可?如果一旦出现问题,你如何界定由谁担责?
如果我是项目经理,我认为并不需要专职的QA,不懂开发的人必然做不好测试,我认为软件质量的保障不只是单纯的依赖于QA,软件测试也同样的重要,我们的最终目的就是保障客户的满意度,和利益的共同实现,所以我认为两者同样重要,如果出现问题,那么要归咎于出问题的负责人。