(4)使用VS 2010提高软件测试自动化的水平 - 自动筛除不相干的回归测试

发表于:2010-4-12 14:44

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:君子不器乎    来源:taokey.cnblogs.com

  为了实现某个新的功能,或为了修复一个Bug,开发人员通常需要在现有的代码上进行修改,当一个开发人员改动了部分代码之后,他往往需要把所有的单元测试统统再运行一遍,以确保他所做的改动不会带来“蝴蝶效应”,也就是导致意想不到的地方出现问题。如果是到了项目后期,即便是一个中等规模的系统可能也会有上千个单元测试,把上千个单元测试都跑一遍,再快可能也得要个把小时。实际上,每次代码改动的影响面是有限的,一次代码改动可能也就会影响到几个、十几个、至多几十个单元测试。每改动一次代码,就把上千个单元测试重跑一遍,虽然都是机器自动去跑,但也很浪费时间。那么有什么办法能把这部分白白浪费的时间节省下来吗?

  VS 2010提供了一个叫作"Test Impact Analysis"的功能,有人把它译成“测试影响分析”,我觉叫它“测试株连分析”似乎更贴切些。利用这一功能,开发人员在修改完代码、要进行单元回归测试时,可以很容易地把确实受到此次代码改动影响的测试挑出来,而把绝大多数不相干的测试全都过滤掉。假设某开发人员只修改了某个类中的一个方法,那么他只须通过"Test Impact Analysis"把涉及到这个发法的可能也就是三、五个单元测试挑出来再运行一遍就行了(参考图1),而无须象以往那样把所有相关或不相关的单元测试全都再跑一遍了。

图1 改动的方法(1个)及其“殃及”的测试(1个)

  这个功能对手工测试人员也很有帮助,特别是手工测试人员在进行回归测试时(参考图2),也存在是把所有测试用例都再跑一遍,还是仅挑出受代码改动(这里的改动是指从上次测试的build到这次要测的build之间所做的全部代码改动)影响的测试用例再跑一遍的问题。答案是肯定的,既然现在有了“测试株连分析”,我们干吗还要舍近求远呢?

图2 在执行回归测试时只挑出受代码变动“牵连”的测试运行


相关链接:

(3)使用VS 2010提高软件测试自动化的水平 - 自动布置/还原测试环境

(2)使用VS 2010提高软件测试自动化的水平 - 将手工测试转换成自动测试

(1)使用VS 2010提高软件测试自动化的水平 - 自动收集Bug信息

《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号