主流自动化测试工具–QTP
- QTP是一个侧重于功能的回归自动化测试工具;提供了很多插件。
- QTP支持的脚本语言是VBScript,这对于测试人员来说,感觉要“舒服”得多。VBScript毕竟是一种松散的、非严格的、普及面很广的语言。
- QTP的高可用性:
1.支持录制与回放 2.支持lower level模式 3.QTP的编辑器支持两种视图: Keyword模式和Expert模式
与Selenium(WebDriver)比较优劣
- 价格:
selenium是开源的自动化测试工具,但是QTP是商业版的,而且价格不菲。 - 应用领域:
Selenium仅支持web页面的测试,而QTP不光支持web界面的测试,而且还支持Client方面的测试。 - 功能方面:
录制功能QTP支持的好。QTP的录制回放成功率很高,selenium的录制回放成功率非常的低。 脚本的编辑功能。熟悉java、python等的人喜欢selenium,熟悉的是VBScript可能就会喜欢QTP。 - 框架处理的能力:
在数据驱动方面,QTP支持很灵活。可以通过简单的设置就可以完成数据驱动的自动化脚本selenium要用编程来实现才可以。
常见自动化测试工具–UFT(Unified Functional Testing)
- UFT是QTP的新名字,叫统一功能测试框架。新的功能如下:
1.lnsight智能图像识别 图像识别一直是我们做自动化测试的阻碍之一。包含游戏自动化、flash动态的一些自动化。 2.多脚本调试 3.PDF文本验证点 现在UFT可以识别PDF文件并对他们直接进行比较,甚至可以插入文本验证点。 4.支持开源CI 5.支持移动设备(很少使用)
常见自动化测试工具–RFT
- RFT (IBM Rational Functional Tester)
IBM的一款适合于功能测试、回归测试的自动化测试工具。 针对于Java、.NET的对象技术和基于Web应用程序的录制与回放。 - 因为录制与回放功能对于程序运行的环境依赖性太大。
- 因此更多使用该工具的测试团队采用了自己手动写脚本的方式来提高脚本的易读性以及可维护性
- 框架结构:
1.RFT的脚本可以分别被归类为AppObjects、Tasks和 Testcases 2.AppObjects:定义页面上的元素。 3.Tasks:定义可以单元化,可重用的任务,调用在 AppObjects中定义的元素。 4.Testcases:一个case 写成一个脚本,每个测试场景,可以 写成一个或多个脚本,每个脚本只调用在Tasks 中定义的可重用的任务。 - RFT结构运行图:
- 缺点:
1.帮助文档和教程很少,很不系统。而提供的API接口只有说明文档,未提供如何使用该文档;提供的例子很少。 2.环境要求比较高,至少得1G内存才能比较顺畅使用,512M内存时比较卡,速度慢 3.参数化只支持使用Xml格式文件来存储测试数据。 4.回放速度极其慢。
常见自动化测试工具–WINRUNNER
老━代的自动化测试框架,是较早可以录制—回放—修改的自动化测试模式。与QTP类似,也会使用资源库方式存储控件,在06年以前,是测试行业使用最广的自动化测试工具。因为它只支持C语言的模式既成就了它在当时的盛行,也阻碍了它自身的扩展性。
新型思路的自动化测试工具:Sikuli
- 创新的图形化编程技术
Sikuli是由MIT的研究团队发布的新型图形化编程技术。之以图像检索技术为基础,提供了一套基于Jython (python语言在java中的完整实现)的脚本语言以及集成开发环境。 使用者可利用屏幕截图直接引用GUI元素进行编程,完成交互操作。 - 创新的图形化编程技术
Sikuli是由MIT的研究团队发布的新型图形化编程技术。它以图像检索技术为基础,提供了一套基于Jython (python语言在java中的完整实现)的脚本语言以及集成开发环境。 使用者可利用屏幕截图直接引用GUI元素进行编程,完成交互操作。 - 示例脚本:
自动化测试工具的的选择:
- 开源免费
- 使用灵活、简单后期用例易于维护支持多种语言
- 容易与单元测试框架结合
- 可支持多浏览器同时,支持远程启动其他服务器高度复用性
- 代码可自主掌控,对于搭建框架、平台等有不可替代的优势
|