51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

查看: 11268|回复: 21
打印 上一主题 下一主题

开源自动化测试工具学习思路个人总结

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2009-12-9 16:12:30 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
看到坛子里面很多人都在讨论  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 编辑 ]
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

2#
 楼主| 发表于 2009-12-9 16:18:19 | 只看该作者
继续讨论:
上面说了一下,XUnit开源测试工具的整体的介绍。

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

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

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

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

有了以上的技术储备,就可以开始学习XUnit测试工具了。
回复 支持 反对

使用道具 举报

该用户从未签到

3#
 楼主| 发表于 2009-12-9 16:25:16 | 只看该作者
题外话:
   搭建好测试环境,安照找来的例子学习几个,应该就可以慢慢的用起来了。

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

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

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

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

以上只是抛砖引玉,希望能和大家讨论学习。
回复 支持 反对

使用道具 举报

该用户从未签到

4#
发表于 2009-12-10 14:51:36 | 只看该作者
讲的不错,实战性强
回复 支持 反对

使用道具 举报

该用户从未签到

5#
发表于 2009-12-10 14:59:56 | 只看该作者
个人感觉ui自动化 技术上没什么太多的价值

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

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

[ 本帖最后由 shanxi 于 2009-12-10 15:03 编辑 ]
回复 支持 反对

使用道具 举报

该用户从未签到

6#
 楼主| 发表于 2009-12-10 16:11:14 | 只看该作者
原帖由 shanxi 于 2009-12-10 14:59 发表
个人感觉ui自动化 技术上没什么太多的价值

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

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



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

使用道具 举报

该用户从未签到

7#
 楼主| 发表于 2009-12-10 16:11:15 | 只看该作者
原帖由 shanxi 于 2009-12-10 14:59 发表
个人感觉ui自动化 技术上没什么太多的价值

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

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



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

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

[ 本帖最后由 黑五类 于 2009-12-10 16:12 编辑 ]
回复 支持 反对

使用道具 举报

该用户从未签到

8#
发表于 2009-12-11 10:12:25 | 只看该作者

回复 7# 的帖子

是的 你说的技术细节很繁琐 并且这块windows的ui auto比*nix的更为复杂。
不过我已经不太关注这块了    目前关注的是debug和OS kernel、写driver等等
回复 支持 反对

使用道具 举报

该用户从未签到

9#
 楼主| 发表于 2009-12-11 11:31:31 | 只看该作者
原帖由 shanxi 于 2009-12-11 10:12 发表
是的 你说的技术细节很繁琐 并且这块windows的ui auto比*nix的更为复杂。
不过我已经不太关注这块了    目前关注的是debug和OS kernel、写driver等等



如果抛开ui,我认为更应该自动化了。呵呵。一大推的功能调用,还有堆的参数要验证。呵呵。
自动化在ui方面应该是比较弱的。
回复 支持 反对

使用道具 举报

该用户从未签到

10#
发表于 2009-12-14 19:44:26 | 只看该作者
用过NUnit和JUnit。。。。相比之下,个人更喜欢用NUnit
回复 支持 反对

使用道具 举报

该用户从未签到

11#
发表于 2011-1-4 15:54:40 | 只看该作者
羡慕  ~~~~(>_<)~~~~   我都不懂
回复 支持 反对

使用道具 举报

  • TA的每日心情
    开心
    2015-7-24 16:29
  • 签到天数: 2 天

    连续签到: 1 天

    [LV.1]测试小兵

    12#
    发表于 2011-1-12 10:23:10 | 只看该作者
    谢谢lz分享
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    13#
    发表于 2011-3-30 12:47:43 | 只看该作者
    回复 9# 黑五类

    是的,思维发散些。
    测试自动化还包括接口和单元测试,如果把底层的这两种都做好,消耗最大的界面自动化测试在回归测试中的意义也就不大了。
    最近听到很多人不看好界面自动化。
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2015-4-17 09:18
  • 签到天数: 3 天

    连续签到: 3 天

    [LV.2]测试排长

    14#
    发表于 2011-4-2 09:03:20 | 只看该作者
    谢谢分享
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    15#
    发表于 2011-4-15 18:21:56 | 只看该作者
    QTP的市场。。。要变小很多咯
    回复 支持 反对

    使用道具 举报

  • TA的每日心情

    2019-12-27 13:32
  • 签到天数: 15 天

    连续签到: 1 天

    [LV.4]测试营长

    16#
    发表于 2011-5-6 16:28:55 | 只看该作者
    qtp回归中做界面的事情比较多
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    17#
    发表于 2011-7-16 11:26:42 | 只看该作者
    数据驱动怎么做?有例子吗?例如登陆的数据驱动测试
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    18#
    发表于 2011-10-21 11:18:06 | 只看该作者
    请问楼主,前辈,手机浏览器用什么自动化测试工具?
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    19#
    发表于 2011-10-24 17:47:18 | 只看该作者
    UI层的自动化性价比比较低,由于依赖页面元素,如果是比较稳定还好说,比如说动态性很强,灵活性很强以及和开发沟通不流畅情况下会比较糟糕。虽然可以做到最少层度的依赖,但是改动起来成本维护还是太大。个人也建议是把服务,组件接口做好做稳定,自动化做起来也相对简单,性价比要高的多。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    20#
    发表于 2011-11-15 18:29:16 | 只看该作者
    相当的受用  嘿嘿。。。
    回复 支持 反对

    使用道具 举报

    本版积分规则

    关闭

    站长推荐上一条 /1 下一条

    小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

    GMT+8, 2024-5-12 17:47 , Processed in 0.111352 second(s), 27 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

    快速回复 返回顶部 返回列表