如何把握软件产品的质量
蔡: 蔡为东,热爱测试工作,有超过10年的软件测试和团队管理经验。
郑: 郑文强, 阿尔卡特-朗讯测试架构师
蔡:如何把握软件产品的质量?
郑:不管软件产品规模是大还是小,结构是简单还是复杂,对它们质量的评估都不是一件容易的事情。尽管很难,但是产品质量的评估仍然是必需的,因为它也涉及软件版本是否能够发布。
软件发布之前做评估
根据我和公司内的实践经验,可以从下面两个方面进行评估。
第一,软件产品发布之前的质量评估,具体的度量指标包括:
- 缺陷,包括发现的总的缺陷分布趋势、缺陷在不同功能模块中的分布等。例如,总的缺陷分布趋势图。
- 测试通过率,主要包括计划的测试用例执行进度、通过的测试用例数目、失败的测试用例数目、被阻塞的测试用例数目等。我们项目中定义的测试通过率是95%。
- 测试覆盖率,包括测试对系统需求的覆盖率、对测试类型的覆盖率。例如,我们项目中定义的需求覆盖率必须达到100%,测试类型覆盖率也必须达到100%。
- 信心,负责这个模块的测试人员对质量的主观感受。可能有的人觉得很奇怪,怎么主观感受也可以作为产品质量的评估?因为负责功能模块测试的工程师是最了解他们的测试对象的。
旁观者说:可以设计一个信心指数,例如1~10,然后通过各种数据来支持这个指数。
软件发布之后做评估
第二,软件产品发布之后的质量评估。我们目前采用的度量指标是缺陷检测百分比DDP(Defect Detected Percentage),其计算公式如下:
客户现场发现的缺陷数 /(发布前测试团队发现的缺陷数 +
客户现场发现的缺陷数)*100%
我们一般统计产品发布之后6个月内在客户现场发现的缺陷数。不同的公司与项目,采用的统计时间范围会有所不同。
旁观者说:统计客户发现的bug是有意义的,一是可以据此对客户做一些分析,例如,经常使用的功能、满意度等;二是可以用于反思之前的测试活动,以求改进。
测试团队为软件发布提供质量信息
还有一个问题是测试团队非常关心的:谁来决定软件产品的发布?从我的角度而言,我认为由测试团队决定软件产品是否发布是不合适的。
软 件产品是否可以发布,需要有不同角色的成员参与进来,根据公司定义的判定准则进行评估,同时平衡产品质量、市场机会、产品战略以及成本等多个因素。测试团 队在这个过程中主要的作用是尽量多地提供软件产品的质量信息、风险信息等,以帮助管理层做出是否发布的决定。任何一个单方面做决定都可能是不全面的。例 如,测试人员觉得质量还不够好,发布有风险;但是市场机会要求我们发布,如果再等一段时间就会减弱市场机会,甚至丧失机会,这个时候就需要考虑哪个因素有 更高的优先级。
旁观者说:赞同。软件发布与否应当综合各种因素来考虑,而不仅仅是某个角色说了算。
本文节选自《赢在测试2:中国软件测试专家访谈录》
蔡为东 著
电子工业出版社出版
相关推荐
全面质量管理(Total Quality Management, TQM)是一种系统性的质量管理方法,强调全员参与、全生命周期覆盖以及全面考虑各种因素来确保产品质量。具体包括: 1. **全员参与**:确保每个人都了解自己的角色在质量管理...
这样开发出的软件产品,缺乏系统性和科学性,其质量自然无法保障。 软件项目质量管理是一个非常重要的活动,对项目的质量和成本都有着重要的影响。只有通过严格的质量管理,才能确保软件项目的质量和可靠性。
软件质量度量是软件开发过程中的关键组成部分,它通过对软件项目、过程和产品的持续性定量分析,以理解和...尽管软件度量的理论和实践仍在不断发展和完善,但其在提高软件产品质量和效率方面的作用已经得到了广泛认可。
综上所述,紧跟企业发展步伐,把握产品质量一致性,需要企业从多方面着手,包括建立标准、严格控制、培训员工、采用先进技术以及积极获取反馈。只有这样,企业才能在激烈的市场竞争中立于不败之地,赢得消费者的信赖...
理解这些定义有助于我们把握软件质量的实质,即软件能否有效地满足其设计目标和用户期望。 接着,讲述了质量管理与控制的三个层次。预防措施包括制定软件开发规范和质量标准,对相关人员进行培训;事中的跟踪监控则...
- 跟踪监控:运用CMM或ISO9000的过程管理,监控软件开发过程和产品质量,确保可视性管理。 - 纠错措施:通过评审和检测工作产品,及时发现并修复错误,评审有助于宏观把握,检测则专注于找出并解决Bug。 3. **...
这份讲义旨在帮助读者深入理解软件质量的各个方面,以及如何通过有效的保证措施确保软件产品的高质量。 首先,软件质量的概念是确保产品和服务能够充分满足消费者的需求和期望。它涵盖了从规划、组织到实施的一系列...
软件研发部门职责概述 ...软件研发部门需要具备强大的技术能力和项目管理能力,以确保软件产品的质量和交付期限,同时也需要具备良好的沟通能力和市场营销能力,以确保软件产品的市场占有率和销售额。
【管理软件产品实施经验汇编】 管理软件产品的实施是一个复杂且关键的过程,它涉及到软件的部署、用户培训、数据初始化以及后期的试运行与支持。实施的最终目标是确保软件能够在用户环境中顺利运行,帮助用户提升...
总的来说,软件质量保证是一个综合性的管理过程,涵盖了从项目规划到产品交付的所有环节,它强调预防、控制和持续改进,以确保软件产品的质量和可靠性,满足用户的需求和期望。在实际操作中,有效的质量保证体系能够...
本文将详细探讨这三个方面,旨在阐述它们如何相互作用,共同提升软件产品的整体质量。 首先,软件质量保证计划(Software Quality Assurance Plan,简称SQA)是确保软件开发过程符合预定标准和要求的蓝图。如文中的...
《软件质量评估——确保项目成功的关键》 软件质量评估是IT行业中至关重要的环节,它不仅关乎项目的...只有全方位、多角度地把握质量,我们才能确保软件项目的成功,避免重蹈历史的覆辙,实现技术服务于社会的初衷。
通过上述章节的介绍可以看出,在软件工程中,软件度量与质量评估不仅是确保软件产品质量的关键环节,也是促进软件开发过程持续改进的重要手段。通过对软件度量和质量评估方法的深入理解和应用,开发团队可以更好地...
首先,软件开发管理不规范,许多公司尚未建立起符合自身特色的开发管理体系,导致产品质量参差不齐,影响用户体验和长期发展。其次,高素质的研发管理人员和研发人员的匮乏,使得软件产品的质量和创新能力受到限制。...
《软件质量管理与测试》的学习教案主要探讨了软件质量保证(SQA)的各个方面,这是确保软件产品达到预定标准的关键环节。SQA旨在建立一个系统化的流程,通过评审和审计来验证软件开发是否遵循既定的标准和流程,从而...
【软件产品市场推广】文档主要讨论的是在网络经济时代如何有效地推广软件产品,特别是针对企业上网服务的市场策略。以下是对该文档中关键知识点的详细解释: 1. **网络经济时代的机遇与挑战**:随着网络技术的发展...