细窥VS 2010中的“测试株连分析”(1) - 以测试人员视角- 卖盐的喝淡汤编 ...

     我在中曾经提到VS 2010提供了一种所谓“测试株连分析”的功能,即"Test Impact Analysis"(我们可以把它简写为TIA),利用TIA,开发人员以及测试人员在进行回归测试时,可以很容易地过滤掉大量未受某次代码改动影响的测试,把有限的时间、精力集中于执行确实涉及代码变动的测试,从而避免时间、人力和硬件资源的浪费。今天,我们将通过一个简单的实例——加减乘除计算器,来深入了解一下TIA的功效。

 

     首先,我把从网上找到的一个用C#写的“加减乘除计算器”程序的源码加进了我在TFS 2010服务器上创建的一个团队项目(Team Project)中,接着我又在这个Team Project中定义了一个新的Team Build,在定义这个Team Build时,我特别把其中的Analyze Test Impact这个选项设成了"True"(参考图1)。

 


图1 在定义Team Build时设置"Analyze Test Impact"

 

     在使用VS 2010中的Team Explorer定义好这个Team Build并成功运行了一次之后,我又通过Microsoft Test Manager 2010创建了一个名为"SimCalc Test Plan"的测试计划。为了突出重点,我把这个测试计划设置为仅使用Test Impact一个诊断数据适配器收集测试数据(参考图2),对“诊断数据适配器”这个概念不熟悉的朋友,可以参考我的。

 


图2 在"Test Settings"中仅留下"Test Impact"诊断数据适配器

 

     在配置好诊断数据适配器之后,我又给"SimCalc Test Plan"指定了一个待测的Build(参考图3),大家从图3中可以发现,我刚才定义并运行过的Team Build已经为“加减乘除计算器”这个项目生成了一个新的Build并显示在Available builds这个下拉列表里了。

 


图3 给测试计划指定一个待测系统的Build

 

     在做好以上必要的准备工作之后,我往"SimCalc Test Plan"这个测试计划中添加了4个测试用例,分别测试计算器的加、减、乘、除四项功能。图4是我添加完4个测试用例后Microsoft Test Manager的界面。

 


图4 "SimCalc Test Plan"测试计划中的4个测试用例

 

     现在,让我们来执行一下这4个测试用例,在执行测试用例时须注意一点:要待Microsoft Test Runnerxx启动之后再打开待测软件(即计算器程序),否则Test Impact诊断数据适配器可能因未完成初始化而无法正常收集数据。

 

     测试的结果是:针对加法、减法、乘法功能的测试成功,而针对除法功能的测试失败,原因是除数为0时程序崩溃(参考图5)。

 


图5 3项测试成功1项测试失败

 

     现在让我们在Visual Studio中打开“计算器”项目,把与除法相关的代码修改一下,强制除数不能为零,之后把代码签入源码库,随即再运行一次Team Build。Build结束后,回到Microsoft Test Manager,当我们把测试对象改为{zx1}生成的Build后,MTM会基于TIA自动找出涉及刚才代码改动的测试,为我们生成一个“建议测试列表”,即Recommended Tests。此处因为我们仅改动了程序中与除法相关的代码,所以MTM也只给我“推荐”了一个测试,也就是那个针对除法的测试(参考图6)。

 


图6 基于TIA自动生成的建议测试列表

 

     看!虽然现在有一个新Build出的计算器程序摆在了我面前,但我已不必象以往那样须要把上面所有4个测试都再跑一遍了,我只须再跑一遍其中那个被“株连”的就齐活了 ;)

 

 

posted on 2010-04-19 23:22 阅读(56)  

郑重声明:资讯 【细窥VS 2010中的“测试株连分析”(1) - 以测试人员视角- 卖盐的喝淡汤编 ...】由 发布,版权归原作者及其所在单位,其原创性以及文中陈述文字和内容未经(企业库qiyeku.com)证实,请读者仅作参考,并请自行核实相关内容。若本文有侵犯到您的版权, 请你提供相关证明及申请并与我们联系(qiyeku # qq.com)或【在线投诉】,我们审核后将会尽快处理。
—— 相关资讯 ——