全部博文(465)
分类: 架构设计与优化
2013-05-31 09:05:39
如何把握软件产品的质量
蔡: 蔡为东,热爱测试工作,有超过10年的软件测试和团队管理经验。
郑: 郑文强, 阿尔卡特-朗讯测试架构师
蔡:如何把握软件产品的质量?
郑:不管软件产品规模是大还是小,结构是简单还是复杂,对它们质量的评估都不是一件容易的事情。尽管很难,但是产品质量的评估仍然是必需的,因为它也涉及软件版本是否能够发布。
软件发布之前做评估
根据我和公司内的实践经验,可以从下面两个方面进行评估。
第一,软件产品发布之前的质量评估,具体的度量指标包括:
? 缺陷,包括发现的总的缺陷分布趋势、缺陷在不同功能模块中的分布等。例如,总的缺陷分布趋势图。
? 测试通过率,主要包括计划的测试用例执行进度、通过的测试用例数目、失败的测试用例数目、被阻塞的测试用例数目等。我们项目中定义的测试通过率是95%。
? 测试覆盖率,包括测试对系统需求的覆盖率、对测试类型的覆盖率。例如,我们项目中定义的需求覆盖率必须达到100%,测试类型覆盖率也必须达到100%。
? 信心,负责这个模块的测试人员对质量的主观感受。可能有的人觉得很奇怪,怎么主观感受也可以作为产品质量的评估?因为负责功能模块测试的工程师是最了解他们的测试对象的。
旁观者说:可以设计一个信心指数,例如1~10,然后通过各种数据来支持这个指数。
软件发布之后做评估
第二,软件产品发布之后的质量评估。我们目前采用的度量指标是缺陷检测百分比DDP(Defect Detected Percentage),其计算公式如下:
客户现场发现的缺陷数 /(发布前测试团队发现的缺陷数 +
客户现场发现的缺陷数)*100%
我们一般统计产品发布之后6个月内在客户现场发现的缺陷数。不同的公司与项目,采用的统计时间范围会有所不同。
旁观者说:统计客户发现的bug是有意义的,一是可以据此对客户做一些分析,例如,经常使用的功能、满意度等;二是可以用于反思之前的测试活动,以求改进。
测试团队为软件发布提供质量信息
还有一个问题是测试团队非常关心的:谁来决定软件产品的发布?从我的角度而言,我认为由测试团队决定软件产品是否发布是不合适的。
软件产品是否可以发布,需要有不同角色的成员参与进来,根据公司定义的判定准则进行评估,同时平衡产品质量、市场机会、产品战略以及成本等多个因素。测试团队在这个过程中主要的作用是尽量多地提供软件产品的质量信息、风险信息等,以帮助管理层做出是否发布的决定。任何一个单方面做决定都可能是不全面的。例如,测试人员觉得质量还不够好,发布有风险;但是市场机会要求我们发布,如果再等一段时间就会减弱市场机会,甚至丧失机会,这个时候就需要考虑哪个因素有更高的优先级。
旁观者说:赞同。软件发布与否应当综合各种因素来考虑,而不仅仅是某个角色说了算。
本文节选自《赢在测试2:中国软件测试专家访谈录》
蔡为东 著
电子工业出版社出版