详解利用Visual Studio 2010提高测试效率
Visual Studio 2010在测试方面的改进有目共睹,本文将结合作者所做实例,来为大家介绍自动测试的问题。
上文书说到测试人员小张给开发人员小李发来了一份淋漓尽致的Bug报告,果不其然,小李根据小张的这张“画影图形”没费什么周折就将那个潜伏很深的Bug捉了出来。可此Bug究竟是不是彼Bug呢?小张恐怕还得再跑一遍她发现彼Bug的测试以确认问题确实已经得到解决。其实,即使不是为了确认Bug是否已被剪灭,小张也得经常把她做过的很多测试重新跑跑,以确保代码在被程序员们改来改去的情况下,以前跑得通的测试现在也还仍然跑得通,这也就是所谓的回归测试。
不断单调重复地做同样的事情总是会让人感到很郁闷,而VS 2010可以帮助小张解除做回归测试的烦恼,这也是VS 2010另一个可能让所有手工测试人员眼前一亮的地方。
我们还是拿测试人员小张和开发人员小李来说吧,譬如,当小张使用VS 2010中的MTR (Microsoft Test Runner)把自己编写的某个手工测试(权且叫它TC 329吧)跑了一遍之后,MTR内置的一个被称作“录制/回放引擎”的装置就会象录音机那样把她所做的每一步操作都录制下来,随后小李基于小张的这段“操作录音”(也就是前文提到的操作日志 - Action Log)就可以在Visual Stuido中创建出一个被称作"Coded UI Test"的测试(参考下面三幅图),本质上,他其实是把小张跑过的手工测试转化成了一种基于.NET代码的自动化测试。
(使用操作“录音”将手工测试转换成自动化测试)
(计算器加法测试的操作“录音”)
(加法测试的操作“录音”被转换成代码后的样子)
当TC 329被转换成自动测试之后,只要在小张测试路径上的界面元素不出现大的调整,小张从此之后就可以让机器替她来做TC 329的回归测试了。哇!想想吧,这能让小张同志少做多少重复劳动呐 ;)
此外,小李还可以在这种"Coded UI Test"测试中加入一些验证逻辑代替“肉眼”验证界面元素的各种属性,譬如文本内容、控件尺寸、字体大小、背景颜色之类的东东(参考下面两幅图)。
(使用Coded UI Test Builder定位界面元素)
(随即通过可视化方式加入验证逻辑)
值得一提的是,这些被自动化了的手工测试可以象单元测试那样在程序员签入代码前或在源代码被Build时被自动运行,显然这将及时捕捉到无法通过已有测试的代码,有效地防止当前系统因不良代码的“侵入”而出现“退化”,同时,这也将大大减轻小张小李们Debug的负担。
最后,我想再补充一点,那就是在手工测试的基础上转换而成的自动测试,即Coded UI Test,其后台代码,如前面的图片所示,是标准的.NET代码,可以是用C#写的,也可以是用VB.NET写的,总之不是用任何其它为广大.NET开人员所不熟悉的脚本语言,如VBScript之类的东东写的。
原文标题:使用VS 2010提高软件测试自动化的水平(2) - 将手工测试转换成自动测试