51Testing软件测试论坛

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

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 2684|回复: 11
打印 上一主题 下一主题

[原创] 再谈一下UI自动化吧

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2009-11-28 03:10:58 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
本来不想再谈这些内容了,因为太基本,简单了。可是最近竟然发现一直不屑于UI自动化的我,仿佛都成为一个UI自动化专家了。我发现很多人,包括论坛上的网友,还有很多身边的同事都对UI自动化充满了一些恐惧感,从而不敢触及它。当然也有一定的原因是觉得UI自动化没太深的技术含量,这也是我讨厌UI自动化的唯一原因。但是,一旦让这些人去做UI自动化的话,是很难做好的,因为UI自动化需要一定的经验,而我个人认为一年的经验,一个正规的项目应该都能具备编写良好UI自动化测试的能力。因此,对于后来的人,我想把UI自动化关键的几条再谈一谈,UI自动化确实没什么技术含量,你掌握了以下几点也能成为一个小专家了。

用高级语言编写自动化程序,在UI的部分调用UI自动化工具。我反对纯用UI自动化工具去写自动化,因为那样就太死板了,而且功能不强大,不灵活。我推荐学好一门高级语言,把大多数的自动化都用这门高级语言实现,只在需要UI操作的时候才调用UI工具。
只在你测试的UI模块上进行自动化的测试,其他地方避免用UI去操作,使用高级语言去实现。这样你需要用UI的地方就进行了最小化,从而使得只有在真正需要UI的地方才自动化UI,因此测试程序会相对更稳定。
UI自动化最基本的操作就是发现控件和操作控件。尽量避免用text来发现控件,而使用一些固定的控件属性来发现,比如Control ID等等。这样的话,测试程序会更稳定,开发改变文本不会影响到你,而你也不用担心localization的问题。
操作控件分为模拟用户操作和事件驱动。简单的例子就是,模拟用户操作就是鼠标真的去点一下,而事件驱动则是跳过点击直接引发点击的事件。我以前用过具有这种功能的工具,但是最近几年用的工具不具备这个功能。
解决好同步问题。UI自动化最不稳定的地方就是同步问题了,你不能连续点击,而需要等待到一定的情况才能进行下一次点击。各种情况都不太一样,需要一些经验进行良好的程序设计。但是,简单来讲,要做到等待的情况发生能立刻返回到程序,不能空等。
减少其他UI对你自动化程序的影响,比如关闭Windows balloon,等等。一般来说是发现了有其他UI影响你的情况,就想一下workaround, 不会有什么大问题。
从我的经验上来看,一般UI自动化有问题都能归结于以上几点,而一旦你解决了以上几点的话,UI自动化就变成了一个熟练工的工作了,没什么挑战性。我本人的有些模块的UI自动化基本可以达到100%的通过率,而所有模块的自动化也能达到95%以上的通过率。不过我基本已经脱离UI自动化了,因为太没有技术含量了,不过我还是认为如果你刚刚进入测试的工作,或者从来没有接触过UI自动化,或者从来都没有做好过UI自动化的话,在这上边工作个2,3年会有一定的收获的。
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

12#
 楼主| 发表于 2009-12-4 00:15:09 | 只看该作者
原帖由 afeng 于 2009-12-3 20:54 发表
我确实没有说你怪,不过你说的那种由测试组自己来开发ui测试系统,我觉得在99%的企业里是行不通的

99.9%吧,可能还真不夸张。
回复 支持 反对

使用道具 举报

该用户从未签到

11#
发表于 2009-12-3 20:54:12 | 只看该作者
我确实没有说你怪,不过你说的那种由测试组自己来开发ui测试系统,我觉得在99%的企业里是行不通的
回复 支持 反对

使用道具 举报

该用户从未签到

10#
 楼主| 发表于 2009-12-3 15:47:32 | 只看该作者
原帖由 afeng 于 2009-12-3 13:43 发表
我没有说你奇怪,你理解错了

你也总是说别人理解错了。呵呵。
回复 支持 反对

使用道具 举报

该用户从未签到

9#
发表于 2009-12-3 13:43:57 | 只看该作者
我没有说你奇怪,你理解错了
回复 支持 反对

使用道具 举报

该用户从未签到

8#
发表于 2009-12-3 12:55:17 | 只看该作者
原帖由 cleverman 于 2009-12-2 23:06 发表

Security test would be different.



Recently, I have been fucusing on the security testing.~~Feel it a little intresting ^_^
回复 支持 反对

使用道具 举报

该用户从未签到

7#
 楼主| 发表于 2009-12-2 23:19:20 | 只看该作者
原帖由 afeng 于 2009-12-2 19:15 发表
就是,自己开发一套东西去点页面老实说,只要时间够,也不是什么难事,编程语言也就是这么回事,不过很少有公司会去这么投入的去做这件事情的,等你开发出来,软件早就卖出去了,如果你说你自己业余去搞,那我倒是觉 ...

你总是觉得我有点奇怪,这个我并不奇怪。
回复 支持 反对

使用道具 举报

该用户从未签到

6#
 楼主| 发表于 2009-12-2 23:06:11 | 只看该作者
原帖由 欺负人 于 2009-12-2 18:26 发表
测试本来特别有技术含量的东西 就很少!! 开发一个一般的UI自动化测试框架 也不见得有多少技术含量

Security test would be different.
回复 支持 反对

使用道具 举报

该用户从未签到

5#
发表于 2009-12-2 19:15:13 | 只看该作者
就是,自己开发一套东西去点页面老实说,只要时间够,也不是什么难事,编程语言也就是这么回事,不过很少有公司会去这么投入的去做这件事情的,等你开发出来,软件早就卖出去了,如果你说你自己业余去搞,那我倒是觉得你这个人有点奇怪
回复 支持 反对

使用道具 举报

该用户从未签到

4#
发表于 2009-12-2 18:26:38 | 只看该作者
测试本来特别有技术含量的东西 就很少!! 开发一个一般的UI自动化测试框架 也不见得有多少技术含量
回复 支持 反对

使用道具 举报

该用户从未签到

3#
发表于 2009-12-2 17:06:56 | 只看该作者
装b之人死不光
回复 支持 反对

使用道具 举报

该用户从未签到

2#
 楼主| 发表于 2009-12-2 03:29:14 | 只看该作者
原帖由 xianggx 于 2009-12-1 20:20 发表
果然很厉害!!
操作控件分为模拟用户操作和事件驱动,哪个更好呢?


忘了写了。能用事件驱动就用事件驱动,因为更稳定。但是,我用的时间比较短,不知道会不会有什么其他问题。现在都是用模拟用户操作的方式,因为工具不支持,也没太大问题。
回复 支持 反对

使用道具 举报

本版积分规则

关闭

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

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

GMT+8, 2024-11-25 15:37 , Processed in 0.073961 second(s), 27 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

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