51Testing软件测试论坛

标题: 【你来问我来答第56期】:测试敏捷之业务功能与接口自动化(已结束) [打印本页]

作者: lsekfe    时间: 2015-3-2 09:14
标题: 【你来问我来答第56期】:测试敏捷之业务功能与接口自动化(已结束)
[attach]94172[/attach]
[attach]94175[/attach]
论坛ID:joykao
论坛职务:[Selenium]版版主
真实姓名: 高江
现任公司: 群星金融网
现任职位:自动化测试Leader
工作经验:1年QTP自动化测试经验,2年selenium自动化测试经验和框架设计经验,半年接口测试经验,1年测试管理经验




作者: wuranxu    时间: 2015-3-3 09:57
请问版主,公司没有开展自动化测试,自学selenium的话能定位元素能写独立的脚本,该如何进一步提高呢?如果找初级自动化测试的工作,需要掌握哪些技能呢。
作者: liuau86    时间: 2015-3-4 09:06
请问php语言开发的web程序做接口测试用什么工具好,在网上了解java框架的工具很多,htmlunit,httpclient之类的,
作者: likejuntesting    时间: 2015-3-4 09:08
楼主好,我做了多年的手工测试,目前想找selenium自动化测试的工作,看到很多招聘都是写的熟练掌握selenium自动化有多少年经验以上,我目前的公司没有做自动化,都是自己有时找一些模块尝试,目前我可以做到脚本编写没问题,会对对象,对象查找方法,测试数据读取,多浏览器进行封装,个人觉得自己欠缺的是具体项目中的个别难识别对象的处理。
您有多年的selenium测试经验,请问我目前的selenium能力达到一个什么样的程度,如果我想提高需要从什么方面下手,谢谢!
作者: Slade    时间: 2015-3-4 13:05
对于公司目前自动化测试人员只有我一人,我写的测试框架只做到了用例和测试方法分离,并没有做行为驱动和关键字驱动这样的设计.我一个朋友建议我设计成关键字驱动,从excel中读取数据.我基本上等于自己写自己用,我也更喜欢把用例保存成json格式的.想知道测试框架的设计,行为驱动和关键字驱动是不是必要的?
作者: 点儿    时间: 2015-3-4 13:45
想问楼主,自动化测试现在只是简单的写一些测试案运行,以后需要怎么发展呢?
作者: joykao    时间: 2015-3-4 14:59
wuranxu 发表于 2015-3-3 09:57
请问版主,公司没有开展自动化测试,自学selenium的话能定位元素能写独立的脚本,该如何进一步提高呢? ...

您好,现在这种情况你可以多想想一下方面:
1.怎样做到代码复用?
2.怎样使代码更稳定?
3.怎样提高测试开发效率?
4.如何把自动化测试做到可配置?
5.如何提高自动化测试覆盖率?
根据个人浅见,初级自动化测试工程师需要如下技能:
1. 手工测试的技术
2. 熟练一门开发语言:如Java,Python等等
3. 根据自动化测试用例可以写出自动化测试代码
4. 正确的写出测试检查点
5. debug的能力
作者: joykao    时间: 2015-3-4 14:59
wuranxu 发表于 2015-3-3 09:57
请问版主,公司没有开展自动化测试,自学selenium的话能定位元素能写独立的脚本,该如何进一步提高呢? ...

您好,现在这种情况你可以多想想以下方面:
1.怎样做到代码复用?
2.怎样使代码更稳定?
3.怎样提高测试开发效率?
4.如何把自动化测试做到可配置?
5.如何提高自动化测试覆盖率?
根据个人浅见,初级自动化测试工程师需要如下技能:
1. 手工测试的技术
2. 熟练一门开发语言:如Java,Python等等
3. 根据自动化测试用例可以写出自动化测试代码
4. 正确的写出测试检查点
5. debug的能力
作者: joykao    时间: 2015-3-4 15:03
wuranxu 发表于 2015-3-3 09:57
请问版主,公司没有开展自动化测试,自学selenium的话能定位元素能写独立的脚本,该如何进一步提高呢? ...

您好,现在这种情况你可以多想想以下方面:
1.怎样做到代码复用?
2.怎样使代码更稳定?
3.怎样提高测试开发效率?
4.如何把自动化测试做到可配置?
5.如何提高自动化测试覆盖率?
根据个人浅见,初级自动化测试工程师需要如下技能:
1. 手工测试的技术
2. 熟练一门开发语言:如Java,Python等等
3. 根据自动化测试用例可以写出自动化测试代码
4. 正确的写出测试检查点
5. debug的能力
作者: joykao    时间: 2015-3-4 15:13
Slade 发表于 2015-3-4 13:05
对于公司目前自动化测试人员只有我一人,我写的测试框架只做到了用例和测试方法分离,并没有做行为驱动和关键 ...

这个要根据实际情况来分析,首先想想自动化测试的目的和价值,目前你一个人做自动化测试,如果你自己觉得效果还不错,可以保留你自己的方式。
至于测试框架的设计,个人还是比较推荐行为驱动的,在行为驱动中加入关键字和数据驱动,这样的框架做起来后,测试开发的成本相应的较小,维护起来也相对方便,模块再划分清楚,框架可拓展性也是相当强的,测试逻辑和测试数据分离,如果够强大还可以做到自动化测试和开发并行的模式。
以上个人浅见而已
作者: zengheng    时间: 2015-3-4 17:28
版主,请问你现在用什么工具测试接口,能说下如何进行接口测试的吗?
作者: joykao    时间: 2015-3-5 17:13
点儿 发表于 2015-3-4 13:45
想问楼主,自动化测试现在只是简单的写一些测试案运行,以后需要怎么发展呢?

首先根据你个人的情况,自己希望走的一个路线和个人的兴趣,本人一直有分析两点:我能做什么?我想做什么?如果你想走自动化测试的道路参考之前我回复的帖子:wuranxu 发表于 2015-3-3 09:57
请问版主,公司没有开展自动化测试,自学selenium的话能定位元素能写独立的脚本,该如何进一步提高呢? ...
作者: joykao    时间: 2015-3-5 17:19
liuau86 发表于 2015-3-4 09:06
请问php语言开发的web程序做接口测试用什么工具好,在网上了解java框架的工具很多,htmlunit,httpclient之类 ...

本人没有做过PHP语言开发的web程序的接口测试,基于Java的做过一些,如果要说采用了什么测试框架的话就是使用TestNG,使用采用RPC远程服务来进行接口测试,自己封装一个RPC调用的小框架,其实更像把基于前端UI的自动化测试搬到后台来做希望解答了您的问题
作者: freemantest    时间: 2015-3-5 18:00
请教楼主几个问题
1、现在自动化测试多会要求掌握一种脚本语言,这是处于什么目的,可以推荐一种脚本语言学习吗?
2、自动化测试和敏捷开发如何有效的结合?产品还没开发出来,怎么进行测试用例的开发呢。
3、自动化测试的开发效率提高,有什么建议么?
作者: joykao    时间: 2015-3-6 14:17
freemantest 发表于 2015-3-5 18:00
请教楼主几个问题
1、现在自动化测试多会要求掌握一种脚本语言,这是处于什么目的,可以推荐一种脚本语言 ...

1.自动化测试也只是测试的手段而已,掌握一些开发语言可以让自动化的实现方式多种多样,可以走出的路就越多,脚本语言个人推荐VBScript,Python如果可以把Python定义为脚本语言的话,开发语言个人推荐Java,自动化的工具呢也是各种各样的比如典型的UFT和selenium webdriver。
2.敏捷开发是一个不断迭代的过程,这个过程中需要做大量的回归测试,引入自动化测试对敏捷来说是帮了大忙,自动化测试版本可以比当前开发版本滞后一个版本,测试用例不能在产品开发完成后才出来,个人一直想推行的是自动化测试开发与项目开发并行的节奏,当sprint的需求足够明确,测试与开发对业务的理解相当熟悉后,WBS后,测试用例完成后,筛选出自动化测试用例,测试就根据自动化测试用例进行测试开发,因为在当前的sprint中几乎不允许被改动,有问题及时反馈,产品开发完成的阶段可能测试开发早已完成,在开发进行单元测试的同时,自动化测试开始测试调试。
3.组建适用的自动化测试框架,将测试逻辑与测试数据分离
作者: zyzyzx1    时间: 2015-3-8 19:02
请教一个问题
不知道版主用过UFT(QTP)的API测试功能做过接口测试过没?
我本人用过QTP的这个工具但在消息数据的加解密上卡住了
不知道从何入手
目前手头遇到的情况是需要用加密公钥和密钥来对数据加密再发送出去(银行业务)
同行的办法是 只能用eclipse调用加解密方法来处理这类需密文传输的接口测试
请问UFT(QTP)的API接口测试在这个方面是怎么做的 到底能不能做这种脱离编程软件的接口测试
以及从何入手

另外 LoadRunner在接口测试方面也存在类似情况
两种工具针对接口测试 版主能给出一点指导吗?
作者: joykao    时间: 2015-3-9 09:48
zyzyzx1 发表于 2015-3-8 19:02
请教一个问题
不知道版主用过UFT(QTP)的API测试功能做过接口测试过没?
我本人用过QTP的这个工具但在消息 ...

基于UFT和LR本人直到目前都没有搞过,个人觉得通过一些动态链接库也许可以解决你的问题吧,可以尝试下哦,解决了可以再分享哦,多谢您提的问题
作者: zm51testing    时间: 2015-3-9 11:24
前辈:您好!
    请教一下:关于flex前台+java框架的项目,用selenium怎样录制flex的
作者: archonwang    时间: 2015-3-11 09:31
有没有通用的Selenium自动化回归框架推荐。近期要准备这个工作,如果有现成类似的可以参考大有助益。谢谢。
作者: BugGirl    时间: 2015-3-11 11:55
您好! 我想咨询一下如果您要求您带2个人员,一个在自动化测试上是0基础的,一个是有一定基础的,那您针对不同的级别的人员,会做出什么样的培训计划呢?
作者: zm51testing    时间: 2015-3-11 14:33
前辈:您好!
   请教一下:怎样用selenium webdriver录制验证码?就是每一次登录,验证码都会变;因此:我该用selenium webdriver这个编写验证码的问题?
作者: joykao    时间: 2015-3-12 14:38
zm51testing 发表于 2015-3-9 11:24
前辈:您好!
    请教一下:关于flex前台+java框架的项目,用selenium怎样录制flex的

直接上传附件[attach]94282[/attach]

作者: joykao    时间: 2015-3-12 14:41
zm51testing 发表于 2015-3-11 14:33
前辈:您好!
   请教一下:怎样用selenium webdriver录制验证码?就是每一次登录,验证码都会变;因此: ...

验证码是录制不来的,每次都是不一样的,如果有接口暴露给你,而且你能直接通过接口拿到验证码那么你可以直接用,不然就别用了,这个可以屏蔽掉,不要在验证码上花费太多时间。
作者: joykao    时间: 2015-3-12 14:47
archonwang 发表于 2015-3-11 09:31
有没有通用的Selenium自动化回归框架推荐。近期要准备这个工作,如果有现成类似的可以参考大有助益。谢谢。

通用的框架呀?看样子是个“偷懒”的好人,市面上目前我不知道有没有通用的,但是我自己做了一个,目前还算通用吧,这里可以给你提供一些建议:把Selenium提供的东西进行2次开发,同时引用testNG测试框架,把测试做到可扩展,易维护,高效率,以下架构你可以了解下,希望对你有启发


测试对象库
页面包
页面类
对象变量
页面公用方法

测试数据库
文件包
读取properties测试数据类
读取excel数据类
关联到properties文件和testData.xls测试数据文件

Database连接库
数据库连接包
数据库连接类
关联到datasource.xml数据库配置文件

测试类库
测试类包
测试类
测试用例方法

测试驱动库
测试驱动文件包
测试驱动文件


测试框架库
测试框架Lib
测试依赖Libs
作者: joykao    时间: 2015-3-12 15:07
BugGirl 发表于 2015-3-11 11:55
您好! 我想咨询一下如果您要求您带2个人员,一个在自动化测试上是0基础的,一个是有一定基础的,那您针对 ...

这是给我挖坑呢。。。不过我喜欢这个问题
针对0基础的,我会努力让他变成有基础的,培训计划如下:
1.让0基础的了解自动化测试是个什么东东?该不该做?能做什么?不能做什么?
2.介绍自动化测试开发语言
3.介绍自动化测试开发工具
4.介绍如何把手工测试的想法转化成自动化代码
5.介绍自动化测试开发中的技巧
6.考查测试开发的动手能力
完成上述任务我想应该是有点基础了,基于有点基础的我会更关注于如何使他们更好:
1.提高测试开发效率
2.撰写准确测试检查点
3.自动化测试数据驱动
4.自动化测试关键字驱动
5.自动化测试行为驱动
6.自动化测试框架化
7.如何控制自动化测试流程

作者: amo666    时间: 2015-3-12 18:46
joykao 发表于 2015-3-12 14:47
通用的框架呀?看样子是个“偷懒”的好人,市面上目前我不知道有没有通用的,但是我自己做了一个,目前还 ...

用的是JUnit+Ant。是否可以解释成:
1、分包(把不同模块下的页面放在不同的package中)
2、分类(用PageFactory、PageObject的设计模式思想对页面进行拆分)
3、测试套件(一个大的测试套件里放好几个小的测试套件,方便只跑部分的测试用例)
4、把公共类进行封装,例如Excel的读取,数据库连接池的引入等
5、使用注解来定义页面元素变量,例如@FindBy(css="body")
6、良好的工程文件目录结构编排。
作者: joykao    时间: 2015-3-13 11:16
amo666 发表于 2015-3-12 18:46
用的是JUnit+Ant。是否可以解释成:
1、分包(把不同模块下的页面放在不同的package中)
2、分类(用Pa ...

可以这么理解
作者: 睿睿-薛    时间: 2015-3-17 10:47
想请问一下楼主,自动化测试用例应该怎么设计?android、ios应该使用什么工具?之前只用monkeyrunner但是感觉不太靠谱
作者: joykao    时间: 2015-3-18 15:49
睿睿-薛 发表于 2015-3-17 10:47
想请问一下楼主,自动化测试用例应该怎么设计?android、ios应该使用什么工具?之前只用monkeyrunner但是感 ...

自动化测试用例的原型其实就是手工测试用例,目前用的自动化测试用例就是从手工用例里面筛选出来的,当然也会加入特定的格式。但是到具体的自动化测试代码的设计就要讲究好多,比如采用何种方式,举个例子关键字驱动:
测试用例的描述:
1. 访问http://www.baidu.com
2. 输入搜索关键字:自动化测试
3. 点击搜索按钮
检查点:
搜索成功后,页面跳转,页面标题为
如:自动化测试_百度搜索

测试设计出来基本应该像这样:[attach]94387[/attach]


基于mobile端的自动化测试你可以看一下appium,或者robotium我们论坛貌似也有相关的推广吧

作者: sunzhenguo1010    时间: 2015-3-18 17:24
joykao 发表于 2015-3-12 14:47
通用的框架呀?看样子是个“偷懒”的好人,市面上目前我不知道有没有通用的,但是我自己做了一个,目前还 ...

把你这框架共享一下呗哈哈,让我们也研究研究
作者: 李怡玉    时间: 2015-3-19 15:13
有没有Loadrunner的脚本编写教程啊,我虽然会录制脚本,可不会写,求大神赐教
作者: amo666    时间: 2015-3-19 15:31
joykao 发表于 2015-3-18 15:49
自动化测试用例的原型其实就是手工测试用例,目前用的自动化测试用例就是从手工用例里面筛选出来的,当然 ...

关键字驱动与数据驱动有什么区别啊?数据驱动差不多就基本满足日常的自动化测试需求了。关键字驱动是不是在数据驱动上的重构、抽象呢?谢谢!
作者: Magic_Long    时间: 2015-3-20 12:19
目前准备自学selenium,语言方向有Python,Java和C#,我这边想咨询一下各位大虾,如果对于selenium的语言选择,是否需要基于被测对象的开发语言,也就是说如果系统是java做的我用c#去开发selenium自动化是否适应性就没有用java开发的好?亦或者说应该去拥抱主流的Python?编程方面C#有基础,java入门级。
作者: joykao    时间: 2015-3-22 22:58
李怡玉 发表于 2015-3-19 15:13
有没有Loadrunner的脚本编写教程啊,我虽然会录制脚本,可不会写,求大神赐教

这个可以关注我们论坛性能测试的部分
作者: joykao    时间: 2015-3-22 23:00
sunzhenguo1010 发表于 2015-3-18 17:24
把你这框架共享一下呗哈哈,让我们也研究研究

最近有点忙,现在还在加班,等闲下来会整理下发出来的
作者: joykao    时间: 2015-3-22 23:12
Magic_Long 发表于 2015-3-20 12:19
目前准备自学selenium,语言方向有Python,Java和C#,我这边想咨询一下各位大虾,如果对于selenium的语言选 ...

如果你可以和开发语言无缝对接那当然是极好的,个人比较擅长基于Java的,但是也在用基于Python的,Python个人觉得是蛮好的,轻量级,对没有开发基础或者开发能力弱点的人来说是个极好的选择
作者: 赵佳乐SMILE    时间: 2015-3-24 17:37
拜读完大神的所有回复 点个赞
作者: joykao    时间: 2015-3-25 03:11
赵佳乐SMILE 发表于 2015-3-24 17:37
拜读完大神的所有回复 点个赞

佳乐这是。。。。。我好惶恐
作者: judy_xia    时间: 2015-3-26 17:47
楼主你好,
问题1:
我在本地:电脑 selenium + maven+eclipse 测试脚本通过,有一个问题是,每次都要手动去启动selenium server.
请问什么方法可以不用每次启动selenium server. 测试脚本也可以跑起来尼?

问题2:
我们做集成,在Linux服务器在上用jenkins+maven+selenium, 将在本机跑过的脚本,通过git 在jenkins 上跑,每次跑出来都是: LogoutTest.setUp:22 » Runtime Could not start Selenium session: 拒绝连接
  Reg_with_mobileTest.setUp:22 » Runtime Could not start Selenium session: 拒绝连接

这是什么原因引起的
1.是要在哪里启动selenium servers 吗?我在jenkins 中配了selenium servers 地址的。
2. 是我的服务器上没有装浏览器吗?

谢谢
作者: judy_xia    时间: 2015-3-26 17:52
为啥我发不出去问题
作者: judy_xia    时间: 2015-3-26 17:53
我为什么发不出信息,我前面发的问题怎么不显示出来啊?
作者: wdmxmdmxm    时间: 2015-3-27 15:10
现在公司在做服务接口测试,主要针对服务级接口方法测试,如WCF,HTTP,组件等
现在遇到几个问题
1、服务方法多样性,
    1、 WCF服务对外开放方法结构不统一,导致框架搭建异常困难
    2、HTTP类型,服务端验签方式不统一,以及请求结果加密方式不同
在处理HTTP服务自动化测试时,由于服务端需要进行验签工作,而各个服务端验签方式不同,测试框架怎样解决这个问题
请问楼主有木有啥方案解决这2个问题
作者: msnshow    时间: 2015-3-28 16:30
楼主你好,了解下,你们的接口测试主要是覆盖哪些方面的测试,都有使用什么自动化的工具
作者: joykao    时间: 2015-3-30 18:23
judy_xia 发表于 2015-3-26 17:47
楼主你好,
问题1:
我在本地:电脑 selenium + maven+eclipse 测试脚本通过,有一个问题是,每次都要手动 ...

你好,看到你的问题了,之前在忙,耽误您的时间了
看你的描述你用的是selenium1是吗?
按照你的描述个人觉得你的分析是对的,你把测试代码上传在git上,通过Jenkins配置去拿git上的代码跑,但是这里不清楚你Jenkins上是怎么配置的?还有您从git上即使把代码拿到了不知道相关的依赖库你有没有配置,如果selenium相关的lib你都没有加载肯定也是跑不起来的,并且在跑用例的服务器上拿下了相关的libs支持和相应的浏览器,是可以启用相关的浏览器的
作者: joykao    时间: 2015-3-30 18:32
msnshow 发表于 2015-3-28 16:30
楼主你好,了解下,你们的接口测试主要是覆盖哪些方面的测试,都有使用什么自动化的工具

个人现在做的接口测试主要是各API之间的调用,我们是通过封装的RPC服务通过URL来调用各模块的接口的,目前这个对开发依赖比较大,每个模块生成为独立的服务并且生成相应的javadoc,javadoc中会列出模块的所有接口,可以帮助了解各模块的实现情况,通过mock来进行各接口间的调用,比如mock一个服务A,然后通过A来调用服务B,根据不用测试尝尽的模拟来验证接口之间的调用有没有问题。各接口之间的调用通过返回值来验证正确性
作者: joykao    时间: 2015-3-30 18:35
wdmxmdmxm 发表于 2015-3-27 15:10
现在公司在做服务接口测试,主要针对服务级接口方法测试,如WCF,HTTP,组件等
现在遇到几个问题
1、服务 ...

您好,这个问题,暂时还没有能力回答您
作者: guomin_g    时间: 2015-4-13 10:59
我们现在在做兼容性测试的时候,总是一个一个浏览器的试,需要安装,等等、到底效率很低,重复性比较多。
请问专家,有没有什么工作,能让兼容性测试自动化,比如我操作两台PC,两台pc上各有一个不同的浏览器。我只需要操作一台pc,另外一台做同样的操作。或者别的方法,请专家解惑


先谢谢您,ie testing不好用,已经放弃了~~
作者: sunzhenguo1010    时间: 2015-7-22 16:30
joykao 发表于 2015-3-22 23:00
最近有点忙,现在还在加班,等闲下来会整理下发出来的

现在可以了吗?哈哈多谢多谢
作者: a544529651    时间: 2015-12-7 09:17
我悄悄地来,我悄悄地走
作者: 海里的幸福    时间: 2016-10-28 13:16
我顶啊。接着顶




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