51Testing软件测试论坛

标题: 免费支招构建自动化测试解决方案 [打印本页]

作者: sunshinelius    时间: 2012-4-8 21:39
标题: 免费支招构建自动化测试解决方案
本人近年来一直忙于工作,惭愧版主头衔,借此机会,尽我微薄所能,给正在实施自动化测试的朋友们提供意见参考,本人一己之见,难免偏颇,先此说明。
为了沟通快捷,请朋友按如下格式说明:
【产品业务】
【开发技术】
【自动化测试实施困扰问题】
作者: journey.lee    时间: 2012-4-13 00:13
试试
【产品业务】
金融产品,银行转账
【产品技术】
涉及到web网银,客户端网银
【难题】
自动化实施困难是一笔转账业务流的完成涉及很多业务参数的设定,以及多个终端的验证,目前在用qtp做windows客户端的测试,但收效不大。
作者: sunshinelius    时间: 2012-4-13 08:10
总算看到有朋友回帖了,作为第一贴,我多敲一些字
现在你遇到的自动化测试问题,是一个业界普遍存在的现象,由于系统庞大,业务复杂,单一工具无法形成完整的自动化测试解决方案,这会使得自动化测试的收效非常有限,比如,需要手工做许多参数设定,系统配置后,才能触发运行自动化测试,而且所运行的自动化测试只能覆盖一小部分手工工作量。这样不管手工测试和自动化测试,做起来都非常累。
我的观点是自动化测试必须至少独立覆盖一个功能区域,运行结果报告必须清楚地反映某个功能质量状态。
因此,在你所测试的系统里,一笔业务,实际上涉及到了admin管理员的参数设定,客户端网银的操作,web网银的查看等多个测试点。用一种qtp工具是无法满足目的的。
可以考虑这样试试自动化:
admin管理员参数设定-> 可以使用jdbc技术修改db参数
客户端网银->使用qtp在客户端执行一笔转账业务
web网银->使用selenium在web查看一笔转账业务
需要一个框架平台能够调用这些自动化测试脚本,并提供之间的数据传递。你可以考虑AutomationCenter,是一个不错的选择。
在AC的世界里,你的自动化测试方案将会这样运行
JDBC case->QTP case->Selenium case
QTP depends 到JDBC,而selenium depends到QTP,并且qtp可以调用ac提供的api,将转账的数据写入ac的全局数据通道,而在selenium中可以得到这些数据。
所有这些功能由framework提供,ac能够支持selenium/qtp/jmeter/jemmy/java等多种自动化测试工具,因此自动化测试人员可以灵活构建一个复杂的自动化测试系统。
作者: sunshinelius    时间: 2012-4-13 08:13
因为本人不在金融领域工作,可能对业务理解有误,欢迎一起讨论
作者: journey.lee    时间: 2012-4-17 12:11
感谢版主!哪里能够获得AC框架的相关文档啊?
作者: sunshinelius    时间: 2012-4-18 14:07
copy一份站内短信朋友提到的问题

【你好!请教你一些问题。
现在我们公司系统流程是这样:
每个单据都要经过多个用户进行审批,每个审批节点都可以进行回退和执行回退到某个节点。
使用AC框架怎么进行设计呢?】
作者: sunshinelius    时间: 2012-4-18 14:08
sunshinelius:
你好,这个问题很好。
这种业务流的情形,最适合使用ac框架进行自动化测试构建。
首先,自动化测试应该测试最常用的场景,比如,一条审批的正常流程是
生成单据->A角色审批->B角色审批->C角色审批-,分别对应开发出A,B,C,D五个case(可以使用selenium,jdbc,qtp等等)
在TestJobFile里,B设置depends到A,C设置depends 到B,D设置depends到C,意味着如果一个前置case失败,后面的case不用运行,会直接被设为CNR状态。

实现上面的场景后,可以进一步推进自动化测试,结合回退操作,通过AC框架来自动生成测试场景。AC将会近期推出版本,实现基于状态的路径自动计算和运行,将会更加方便工作流的开发。
作者: sunshinelius    时间: 2012-4-22 19:29
回复 5# journey.lee
可以访问本人博客www.cesoo.info获得相关信息
作者: sunshinelius    时间: 2012-4-22 19:34
本帖最后由 sunshinelius 于 2012-5-10 20:27 编辑

【开发一个seleimum脚本,测试多个浏览器】
在当今web程序的测试越来越复杂,要测试不同浏览器的不同版本,其组合是巨大的,如何使用ac实现一处编程,多处浏览器运行?
参看AC为一个国外用户提供的解决方案。
http://www.cesoo.com/bbs/viewto ... 970da286f22b4602111
作者: sunshinelius    时间: 2012-4-25 22:54
最近正在帮助朋友做一个视频会议的自动化测试解决方案。
难点如下:
1. 多角色参与,需要多个用户在不同机子上协作参与
2. 业务流程复杂,视频会议上有演示,聊天,控制等功能。
3. 单一测试工具无法完成整体自动化测试方案,比如有web客户端,桌面客户端
4. 在测试功能的同时,最好还要记录动作所花费时间,最为困难的是,时间采集可能不是在一台机子上完成的,可能是一台机子上发送消息开始计时,另外一台机子上接收到消息结束。

自动化测试实施优势:
1. 收益非常大,节省多人测试工作量
2. 能够精准获得perforamcne度量,人工无法做到
作者: sundaoping    时间: 2012-4-27 18:18
【产品业务】
Android终端自动化测试
【产品技术】
主要做终端的整机测试,要求做Android系统的兼容性测试、终端的应用程序的功能测试、终端的压力测试
【难题】
压力测试想选择Monkey,功能测试使用Robotium,兼容性测试使用CST,但是如何将这几种工具整合到一个平台上呢?
作者: sunshinelius    时间: 2012-4-27 21:52
楼上,先确定一下是不是有必要将这几种测试整合在一起。一般地整合的考虑如下:
1. 测试运行上有内在逻辑联系,比如先创建数据字典,再运行业务测试。
2. 在运行周期上保持一致,比如在每隔一定重复周期时间运行某个测试 suite,包含各种测试类型。
能否详细说说么?
作者: sundaoping    时间: 2012-4-28 09:43
这几种侧是没有内在的逻辑关系,实际操作的时候可以分别执行,因为我这是第一次测试Android手机,且上来就让我搞自动化,我们这边以前没有任何基础,所以就想咨询一下怎么搭建这个架构
作者: sunshinelius    时间: 2012-4-29 20:59
可以考虑使用AC,AC已经很好地支持selenium,对Robotium也应该没问题。同时AC可以调用脚本任务,可以将monkey,cst集成进来。
作者: 026300    时间: 2012-5-4 09:20
虽然我不大懂,仅仅只会用点qtp和loadrunner,但是对版主提到的这个思想挺感兴趣,希望能学到东西
作者: 播爱启涛    时间: 2012-5-9 12:13
谢谢您的辛苦发帖
作者: 散步的SUN    时间: 2012-6-15 12:55
顶一个,自动化测试还是很庞大的啊
作者: misery008    时间: 2012-7-24 10:21
【产品业务】
电子书阅读器 支持PDF CHM txt等 包含格式转换功能
【开发技术】
C++
【自动化测试实施困扰问题】
刚开始实施 之前有一些零散的工具和脚本 脚本都是用auto it编写的
重点在于测试格式转换 文档打开的性能效率 电子书阅读的基本常用操作验证 账号登陆 电子书下载 自动化安装等  目前主要还是准备用auto it
另外能不能提供一点其他工具的建议,非常感谢!
作者: 449180704    时间: 2012-9-6 10:19
【产品业务】
会议客户端
【开发技术】
C++
【自动化测试实施困扰问题】
目前只有少量web部分实现自动化,因为我们在测试的时候需要多台PC机同步验证,所以一直没有进行自动化这一块,多台PC机的交互请问要如何实现。
项目中还包括视频,音频,多人交互操作等等。还有图片。
作者: sunshinelius    时间: 2012-12-25 11:18
回复 18# misery008
针对windwos GUI测试,可选择的工具很多,如QTP,auto it, skuli,但最适用的工具只可能有一个,这需要做一些research。
以我的理解,你的测试场景里,涉及大量数据格式和各种操作系统的平台的验证,如果能够“一份脚本,多处运行”,收益会极大。
使用AC的data iteration功能和多机分布测试功能,将是一个不错的选择
作者: sunshinelius    时间: 2012-12-25 11:24
回复 19# 449180704
会议场景是自动化测试里棘手复杂的领域,业界鲜见自动化应用。不过幸运的是,AC提供了这个平台。
简单的流程如下:
A job发向server A,创建会议
B job发向server B,加入会议(B job依赖于A job)
C job再发向server A,对会议进行操作
D job再发向server B,查看会议状态的响应。
作者: fengzhulin    时间: 2013-7-26 10:09
【产品业务】
供应链物流系统
【开发技术】
java
【自动化测试实施困扰问题】
之前都是纯手工进行功能测试,随着系统逐渐变大,需要考虑自动化测试,而且部门老大要求做一个自动化的平台,不知道从何下手。
现在学了一点selenium的知识,但是只是简单的在eclipse上写简单的case,具体如何构建一个自动化平台,还没有很好的概念,也不知道应该运用哪些技术,求指导。
我大概的想法就是测试团队的所有人员都可以编写自动化脚本代码,然后通过浏览器可以随时执行自动化测试用例,可以在浏览器中查看测试报告,可以实现发送报告或者错误邮件给相关人员等。
可是具体如何实施,使用那些技术没有头绪。
作者: fengzhulin    时间: 2013-7-26 10:24
回复 3# sunshinelius


   这个AC具体如何安装和使用呢,网上相关资料好少啊
作者: ffmd0371    时间: 2013-8-23 15:16
[产品业务]
广告投放

[开发技术]
Java

[自动化测试实施困扰问题]
目前我们增加广告投放任务时有广告名称、广告商品、广告排期、广告出价。然后是对投放任务的修改与删除。
但我们目前的自动化脚本把增加广告投放任务的业务逻辑给封装好,但接下来不知道如何做了,想在Jerkens上运行我们的脚本,但我们的脚本是以浏览器为基础的,所以不知道如何解决Jerkens来运行我们的脚本?
第二个:我们想做修改与删除脚本,因为增加投放广告的时候是按自增长ID进行唯一标识的,所以做修改与删除脚本的时候如何去定位我们要修改与删除的任务就是我们需要的那个呢?
第三个:我们想在脚本中封装配置文件,或异常处理,但又不知道具体配置文件或异常处理又包含什么东西?

特需要你的帮助求解决,谢谢。
作者: aking_huang    时间: 2013-10-13 09:05
【产品业务】
应用识别测试,测试对象是第三方应用
【开发技术】
C、C++
【自动化测试实施困扰问题】
做为网络应用管理厂商,已经实现了七层应用的识别,比如IM、微博、游戏等,现在的测试模式基本靠手工进行;虽然有UI自动化的方案(如watir、sikuli),但是由于这些应用都是第三方软件,涉及更新频率问题,自动化的维护成本比较高,是否有其他方案可以考虑?
作者: Miss_love    时间: 2013-11-18 13:34
支持一下




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