基于变更的测试 - 提高测试效率和软件质量的最佳方法

来源:互联网 发布:淘宝购物车是什么意思 编辑:程序博客网 时间:2024/05/16 12:39
剑桥大学最近所做的研究发现,全球每年花费在解决软件问题上的成本已增加到3120亿美元。这个数字表明软件行业存在严峻的质量问题,各公司都花了很多钱来解决这个问题,但是基本都是治标不治本。而软件存在bug的一个主要原因就是:测试的效率低且测试不够全面。本白皮书将重点介绍提高测试效率的方法。

大多数软件开发测试小组都有成百上千项测试要做,所以我们有理由要求开发测试小组在建立其它测试前,必须得确保已经充分利用了现有的测试。最明显的一点就是要保证开发人员可以在代码进行集成之前对每次软件修改进行全面测试。

这个想法看上去好像很简单,但实际上很少有开发组织能够做到这一点,因为:
1.    将所有的测试都执行一遍需要花很长时间
2.    很多测试太复杂了,不好执行
3.    测试结果很难理解

上述三个问题中,最难解决的就是执行所有的测试所需花费的时间问题。这个问题是缩短软件发布周期和提高软件质量所面临的主要障碍。

基于变更的测试可减少测试时间
基于变更的测试(CBT)有助于企业更加快速、智能地进行测试,因为这种方法可以对照现有的测试用例对每次所做的代码修改进行分析,并筛选出该修改所影响到的测试子集。如果只执行这个测试子集,就会大大缩短测试的执行时间,而且开发人员也可以迅速了解到他们所做的修改产生的影响。这样,开发人员就可以在bug刚引进的时候,便立即将其修复,而不是在几周之后执行“全面”测试时才来修复。

图1:基于变更的测试(CBT)能够发现每次代码变更产生的直接和间接影响

基于变更的测试有助于提高QA的效率
以前,通常都是在对源代码做了上百次修改之后才开始定期执行“全面测试”,这样就会浪费很多QA的时间来追踪造成重复测试的根本原因。执行基于变更的测试可以保证主要的源代码基准没有问题,因为每次对代码做了修改之后,都必须保证这些代码通过了所有现有的测试,才会进行集成。因而集成和QA团队可以集中精力构建测试去验证新功能,而不是对现有功能进行重复诊断。企业如果使用基于变更的测试,更容易赶在截止日期之前发布产品并生产出更高质量的产品。

基于变更的测试有助于提高测试资源的利用率
使用基于变更的测试不仅能加快测试速度,还能提高测试资源的利用率,包括目标硬件的利用率。因为每次软件修改之后要做的测试减少了,所以每天能够执行更多次循环测试,还能够发现是哪次修改使软件质量倒退了。在测试设备和目标硬件紧缺的情况下,这种测试方法会显得尤为有效。

图2:使用基于变更的测试,每天就可以执行更多测试

基于变更的测试有助于加快产品的市场投放速度
如今的软件开发组织都面临着巨大的压力,他们要完成复杂的开发项目,还要达到短时间内上市的要求。

基于变更的测试有助于提高软件质量
上面分别说了CBT的几点作用,但是如果把这几点结合在一起,就是一个很有说服力的例子,证明基于变更的测试可以提高软件质量。

提高质量方面的商业案例
在过去的30多年里,技术革命席卷了整个制造业,我们有很多这方面的记载。奇怪的是,一些相同且行之有效的理念却并没有用于软件开发中。实际上,交付的软件产品存在问题是一个非常普遍的情况,以至于客户都已经知道只要简单地重启一下就可以解决软件出现的“异常”行为。

软件不仅仅是产品中的一个隐藏组件,在很多情况下,它还是让产品在竞争激烈的市场上脱颖而出的关键。而且,现在的客户比以往任何时候都更具影响力,他们可以通过网页和社交媒体工具及时反馈产品的使用情况。这就意味着,如果交付的产品存在很多软件问题,那将严重影响品牌效益,损害公司精心打造的名声。

VectorCAST与基于变更的测试
VectorCAST可以提供一个协同测试平台,帮助提高整个企业的测试效率。VectorCAST的主要功能有:
  • 让团队成员和各小组之间可以更好地共享测试资源
  • 提供行之有效的发布就绪报告和测试趋势分析
  • 团队所有的成员都可以进行完整的基于变更的测试


图3:基于变更的测试可以在保证测试完整性的同时大大减少测试时间

结论
公司要解决软件质量问题就需要在测试资源上进行投资,以保证开发测试团队能够高效利用可重复使用的流程,生产出高质量的产品。利用VectorCAST基于变更的测试这一功能可以有效实现该目标。该功能可以提高测试效率,从而帮助提高软件质量,加快产品投放市场的速度,并提高客户的满意度。

1 0
原创粉丝点击