四:VSTS 测试工具简介
微软首次在开发工具中集成测试功能是在VSTS2005中实现的。随着VSTS2008,VSTS2010的发布,VSTS测试工具也不断进行着功能的升级和改善。伴随着新版VSTS2010的发布,VSTS测试工具也推出了第三个版本。这个版本的最大变化是新增了TestManager,这意味着测试人员只需使用VSTS测试工具,就可以完成以前需要使用不同测试工具才能完成的功能。
VSTS测试工具的优点
1、大而全:一套VSTS测试工具就包括原本需要使用不同测试工具才能完成的所有功能。包括单元测试,负载测试,功能测试,测试管理等。
2、与开发工具无缝集成。
3、与.Net开发平台完全兼容。
4、无需学习新的脚本语言,可以直接用VB,C#编写测试脚本。
VSTS测试工具的不足(目前已发现的)
1、对JavaScript编写的程序支持不佳,这意味着在ExtJS框架下编写的某些程序将无法进行完整的测试。
2、将VSTS作为测试工具的用户不多(尤其是国内)。这意味着相关技术资料会比较少。
3、Test Manger需要安装TFS后才能使用。但Test Manager非必用件,可以不装。
接下来,我们一起看一下VSTS测试工具的各种应用。
A、Unit Test:
在开发工具中选中要测试的函数,过程或功能,单击鼠标右键选择“Create Unit Test”。系统将自动生成一个单元测试框架。手工修改参数的初始值,修改Expected(期望结果),设置Assert(断言,用于比较期望结果与实际结果)。这样就完成了一个单元测试的脚本。
执行测试脚本,测试工具将自动运行被测试的函数,过程或功能,并自动给相关参数赋值,并根据预先设置的断言,判断程序是否通过测试。 (请参考视频Unit Test.wmv)
VSTS的单元测试功能是目前dot Net平台上最好的单元测试工具。在这种直接面向源代码的白盒测试工具中,其他产品很难达到原厂商所能达到的高度。
这里顺带提一下Nunit,在VSTS2005推出之前,这是dot Net平台上最好的单元测试工具。而当微软开始在开发工具中集成单元测试功能后,Nunit实际上已经没有太多的使用价值了。
B、Database Unit Test:
此功能仅VSTS2010版本支持。可用于对任何类型的数据库对象进行测试。不同的数据库对象适用于不同的测试条件。
C、Web Test:
Web Test属于功能测试,采用录制回放的方式来模拟用户的实际操作。当用户点击浏览器中的对象时,测试工具会用VB或C#生成一个测试脚本,这个脚本记录了用户的操作过程。然后测试工具就可以回放刚才的操作过程。用户也可以手工生成或编辑这个脚本。用户还可以在测试脚本中对输入参数或输出结果增加校验条件,以检验程序是否实现预期功能。(请参考视频Web Test.wmv)
附带说明:目前最流行的Web测试软件是Mercury出品的QTP。
D、Coded UI Test
此功能仅VSTS2010版本支持。
Coded UI Test属于功能测试,同样采用录制回放的方式来模拟用户的实际操作。与Web Test的差别在于:1)Coded UI Test支持C/S和B/S两种模式的应用程序,而Web Test仅支持B/S模式;2)Coded UI Test是通过记录鼠标,键盘在屏幕上的运动轨迹来录制用户的操作过程,而Web Test不记录运动轨迹。
附带说明:QTP也可以支持C/S模式的应用程序,但需要额外购买插件。