背景
之前试着搞过公司云报道产品的自动化测试,基本设计思路以及相关问题,见文章内容。
进行前需要了解的
测试框架
使用哪种测试框架要根据所测产品的类型来进行选择。
桌面程序的工具有:QTP、 AutoRunner等
web应用的工具有:QTP、AutoRunner、selenium、Robot Framework、watir等
如果待测产品是C/S架构,可选QTP(也叫UFT)
主流的工具
易用性好
学习资料丰富
如果待测产品是B/S架构,推荐selenium
对B/S应用支持很好
支持多语言开发(java、python、ruby、php、C#、JavaScript等)
学习内容丰富,增加测试工程师的技术竞争力
开发语言
如果使用QTP,必须掌握VBS
如果使用Selenium,可选语言丰富
从语言易学性来讲,首选python和ruby
从语言应用广度来讲,首选java、C#和php等
从语言相关测试技术成度来讲:ruby、python和java
考虑整个技术团队主流用什么语言,然后选择相应的语言。
思路
1、自动化测试环境准备,本次采用Selenium+Eclipse+Java,详细安装配置过程略。
2、在自动化测试框架基础上,编写通用方法,如:
1)登录、配置浏览器系列操作
2)页面元素准确性判断(可自己简单编写,亦可采用其他一些监控对比工具,如:基于diff的页面差异监控、基于DOM树的页面差异监控)
3)case测试结果输出等
3、利用自动化测试框架,编写测试case,模拟用户输入、点击等操作;
4、使用正则表达式对准备好的测试数据进行操作;
5、测试执行过程自动输出测试结果至测试结果文档
需要注意的问题:
1、自动化测试的覆盖率,主要通过对需求点详细拆分,丰富测试数据来解决
2、UI自动化测试执行过程易受执行环境影响
3、记得还有,暂时想不起来了
总结
目前的很多Web自动化测试框架都是通过操作Web中的控件,来模拟用户输入点击等操作,实现Web自动化测试。其实这些工具的原理大同小异,都是通过调用浏览器COM接口和HTML DOM对浏览器和Web测试对象进行操作。
工具是死的,人是活的,怎么用,怎么丰富,都是需要自己亲自去尝试着做,才能真正了解。