闲逸笔记

keep it simple & stupid

关于 Web UI 自动化测试的一些思考

自动化测试,说白了,就是计算机代替人工做测试。所以,开发自动化测试程序,本质上与开发一套软件系统类似。

当然,也有一些公司开发了如 QTP 这样的自动化测试工具,目标是只需要进行录制、整理、回放即可实现自动化测试。然而目前并不算成熟,比如 QTP 要实现大量的复杂的测试用例,就需要使用集成的 VBScript 脚本做分层的框架设计,否则会有很大的维护、扩展风险。

1. 录制、回放?

  • 不论 QTP 还是 Selenium,都集成了“录制、整理、回放”的功能。“录制、整理、回放”可以较快地实现一些简单功能的自动化。但对于较复杂的情况,如:几百甚至几千个测试用例,大量不同的测试数据及测试页面,每次运行时间为八、九个小时甚至更久,则尚不成熟。

  • 如何处理诸如“页面元素的变动对测试的影响”、“异常错误情况的处理(如浏览器崩溃、发现新BUG等)”、“新旧用例的重用、扩展性”等问题?即使是现成的商业工具,也经常要面对“元素的定位分析”、“大量测试元素的维护、扩展”等问题。

  • 一个自动化测试工程师,需要时刻考虑自动化工具的稳定性、可维护性、可扩展性等众多问题,需要严谨的软件开发能力,至少要有严谨的开发者心态。

2. 手工测试工程师运行自动化测试?

  • 这是经常遇到的问题。要求自动化测试工程师开发自动化测试程序,手工测试工程师运行此程序。更有甚者,自动化测试程序被要求开发成"ONE BUTTON",点一下按钮,一切都自动做好。

  • 这是一种美好的景象,但真实的情况很难如此简单。测试环境的变化,异常情况的出现,往往会给手工测试工程师制造很多困扰。脱离一线测试工作的自动化测试工程师,也容易因为想当然而造成测试设计的偏差。真正的效率没有提高,反而制造了不少麻烦。最后的测试程序,很可能被束之高搁,成为摆设。

  • 手工测试工程师应尽量掌握自动化测试技能。否则,自动化测试则应该由专业的自动化测试工程师执行(除非是少数测试环境很简单的情形)。自动化测试工程师最好也参与部分一线测试任务,了解真正的自动化测试需求。

3. 自动化测试成本高吗?

  • 取决于自动化测试工程师的技术水平。有的测试脚本惨不忍睹,几乎从不考虑维护、扩展及异常处理。于是,自动化的成本就看起来很高了。

  • 成熟的测试框架可以明显提高实现效率。

  • 对于 Web 界面自动化测试,目前技术上已经比较成熟。风险基本可控。对于一些逻辑较复杂、数据量较大的测试用例,自动化测试反而比手工测试效率更高,覆盖面更广。


Permalink [http://sleepycat.org/blog/31]


评论区

test_路人甲   2015-06-11 00:14  在此条评论下回复 ▼ 

不错, 最近在研究博主的自动化测试框架

 

发表评论

top bottom