51Testing软件测试论坛

标题: 开源自动化测试工具学习思路个人总结 [打印本页]

作者: 黑五类    时间: 2009-12-9 16:12
标题: 开源自动化测试工具学习思路个人总结
看到坛子里面很多人都在讨论  seleniums和waitr 很高兴终于可以找到一个组织来学习开源的自动化工具了。

现在就我以前的学习思路总结一下,希望能得到高手的指教,也希望能帮助入门的兄弟姐妹,理清思路少走弯路。

首先,不管是seleniums还是waitr,基础都是在单元测试工具上。所以,都必须学习一下单元测试工具,和单元测试工具的思路。

以java语言来举例说明。  java的单元测试工具,最知名的有两个Junit和testng.  Junit是所有语言测试工具的老大,思想一直延续到很多的语言的单元测试工具。随之演变而来的是Xunit。随着Junit的广泛使用,有了很多的Junit的扩展,具体的扩展可以google一下并且学习(详细的资料应该都是英文的,需要仔细的学习),比较知名的有dbUnit和htmlunit
这两个工具可以和Junit结合起来使用,Junit和htmlunit结合起来就可以进行简单的web页面测试了。htmlunit提供了web页面下的控件识别和操作模拟触发,Junit提供判断方法和负责保存测试结果。这样一个简单的web页面测试工具就可以使用了,当然这个过程中需要查找资料来实现。 dbunit是提供了一整套的数据库操作的API,再把dbunit加入进来就可以做数据库方面的校验和处理了。  还有很多的插件,不光局限与web的页面测试,还可以利用相应的工具做Java客户端的页面测试。但是核心都是Junit。测试结果保存和出报告都是Junit来做的。有一个共同点就是他们都是Xunit的一部分。

seleliunms就是把Junit和htmlunit的结合做的更好了一些。包括浏览器的兼容方面,还有就是多语言方面(不只是java语言)。
waitr的核心是ruby语言的单元测试工具,同类产品有 waitN和waitJ这两个工具。工具和工具之间的不同需要细节来体现,这里就不再介绍。
但是他们都是Xunit测试工具的一部分或者是几个部分的组合。

通过以上的介绍,希望大家能对开源测试工具(Xunit系列)有一个大体的了解。(编辑器有点问题,下发这么多。)

[ 本帖最后由 黑五类 于 2009-12-9 16:30 编辑 ]
作者: 黑五类    时间: 2009-12-9 16:18
继续讨论:
上面说了一下,XUnit开源测试工具的整体的介绍。

下面再来说一下,要使用XUnit测试工具的技术储备。以web测试为例:

首先就是要有一门语言比较熟悉。(Java,ruby,.net等);

其次要掌握html语言,控件识别和处理方法的时候,这个是必须的;

还有就是要 掌握XPath(不会的可以google,W3c学校里面有大量的教材。),负载的页面寻找控件方式这个是必需的。

有了以上的技术储备,就可以开始学习XUnit测试工具了。
作者: 黑五类    时间: 2009-12-9 16:25
题外话:
   搭建好测试环境,安照找来的例子学习几个,应该就可以慢慢的用起来了。

但是会用和能在工作中发挥作用,是两个不同的阶段。在工作中应用需要考虑这么几个问题:

(1)测试用例有一部分了,但是具体的测试框架应该是一个什么样子的。数据驱动怎么实现??所有的自动化测试用例怎么有序的执行控制。

(2)自动化测试能做什么不能做什么??怎么样和手动测试结合起来,不要遗漏掉功能测试,也不要重复。

(3)自动化脚本维护??被测试的系统页面变化了以后怎么办,会不会导致工作量直线上升。这个是一个大问题,必须从管理的脚本和技术角度都想想。不变化是不可能的。

以上只是抛砖引玉,希望能和大家讨论学习。
作者: mentgmery    时间: 2009-12-10 14:51
讲的不错,实战性强
作者: shanxi    时间: 2009-12-10 14:59
个人感觉ui自动化 技术上没什么太多的价值

更多的集中于 测试设计 执行 组织等上  这块技术价值不咋的,只需要经验、时间和总结,自然能达到。

说的跟楼主的话题无关,见谅!

[ 本帖最后由 shanxi 于 2009-12-10 15:03 编辑 ]
作者: 黑五类    时间: 2009-12-10 16:11
原帖由 shanxi 于 2009-12-10 14:59 发表
个人感觉ui自动化 技术上没什么太多的价值

更多的集中于 测试设计 执行 组织等上  这块技术价值不咋的,只需要经验、时间和总结,自然能达到。

说的跟楼主的话题无关,见谅!



我觉得说的有一定的道理。ui方面大体方向都差不多,但是细节实现很烦人。每个问题都不太一样,确实要靠经验。
作者: 黑五类    时间: 2009-12-10 16:11
原帖由 shanxi 于 2009-12-10 14:59 发表
个人感觉ui自动化 技术上没什么太多的价值

更多的集中于 测试设计 执行 组织等上  这块技术价值不咋的,只需要经验、时间和总结,自然能达到。

说的跟楼主的话题无关,见谅!



我觉得说的有一定的道理。ui方面大体方向都差不多,但是细节实现很烦人。每个问题都不太一样,确实要靠经验。

但是不做的话,永远没有经验。这要是企业有一定能投入能做的话,还是研究一下吧。呵呵

[ 本帖最后由 黑五类 于 2009-12-10 16:12 编辑 ]
作者: shanxi    时间: 2009-12-11 10:12
标题: 回复 7# 的帖子
是的 你说的技术细节很繁琐 并且这块windows的ui auto比*nix的更为复杂。
不过我已经不太关注这块了    目前关注的是debug和OS kernel、写driver等等
作者: 黑五类    时间: 2009-12-11 11:31
原帖由 shanxi 于 2009-12-11 10:12 发表
是的 你说的技术细节很繁琐 并且这块windows的ui auto比*nix的更为复杂。
不过我已经不太关注这块了    目前关注的是debug和OS kernel、写driver等等



如果抛开ui,我认为更应该自动化了。呵呵。一大推的功能调用,还有堆的参数要验证。呵呵。
自动化在ui方面应该是比较弱的。
作者: 欺负人    时间: 2009-12-14 19:44
用过NUnit和JUnit。。。。相比之下,个人更喜欢用NUnit
作者: lanchonggo    时间: 2011-1-4 15:54
羡慕  ~~~~(>_<)~~~~   我都不懂
作者: TM_tester@zhang    时间: 2011-1-12 10:23
谢谢lz分享
作者: shanxi    时间: 2011-3-30 12:47
回复 9# 黑五类

是的,思维发散些。
测试自动化还包括接口和单元测试,如果把底层的这两种都做好,消耗最大的界面自动化测试在回归测试中的意义也就不大了。
最近听到很多人不看好界面自动化。
作者: y_test    时间: 2011-4-2 09:03
谢谢分享
作者: 南实梦    时间: 2011-4-15 18:21
QTP的市场。。。要变小很多咯
作者: jiazurongyu    时间: 2011-5-6 16:28
qtp回归中做界面的事情比较多
作者: july116560    时间: 2011-7-16 11:26
数据驱动怎么做?有例子吗?例如登陆的数据驱动测试
作者: pheona    时间: 2011-10-21 11:18
请问楼主,前辈,手机浏览器用什么自动化测试工具?
作者: fwn7432650    时间: 2011-10-24 17:47
UI层的自动化性价比比较低,由于依赖页面元素,如果是比较稳定还好说,比如说动态性很强,灵活性很强以及和开发沟通不流畅情况下会比较糟糕。虽然可以做到最少层度的依赖,但是改动起来成本维护还是太大。个人也建议是把服务,组件接口做好做稳定,自动化做起来也相对简单,性价比要高的多。
作者: woddebbmm    时间: 2011-11-15 18:29
相当的受用  嘿嘿。。。
作者: 散步的SUN    时间: 2011-12-1 10:28
说的很在理
作者: 散步的SUN    时间: 2011-12-1 10:28
ui测试可以小范围再小范围的做




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2