51Testing软件测试论坛

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

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

楼主: lsekfe
打印 上一主题 下一主题

【你问我来答第17期】:如何做好接口测试?(已结束)

[复制链接]

该用户从未签到

61#
发表于 2011-12-10 21:26:23 | 只看该作者
谢谢小刀啊,继续关注您的接口测试
回复 支持 反对

使用道具 举报

该用户从未签到

62#
发表于 2011-12-10 21:31:36 | 只看该作者
小刀给个QQ吧,能及时交流啊
回复 支持 反对

使用道具 举报

该用户从未签到

63#
发表于 2011-12-12 09:50:03 | 只看该作者
我是新手不懂什么是接口测试,请详细讲解一下,谢谢!
回复 支持 反对

使用道具 举报

该用户从未签到

64#
发表于 2011-12-12 14:23:38 | 只看该作者
回复 47# txTester11

     
    单元测试是针对具体的代码逻辑进行测试,主要测试被测代码的一个很小的、很明确的功能是否正确。通常而言,一个单元测试是用于判断某个特定条件(或者场景)下某个特定函数的行为。例如,你可能把一个很大的值放入一个有序list 中去,然后确认该值出现在list 的尾部。或者,你可能会从字符串中删除匹配某种模式的字符,然后确认字符串确实不再包含这些字符了。尽量减少这些功能单元集成起来出错的可能性,单元测试一般是由开发人员自己去完成,单元测试可能不会考虑业务是如何的,会更多的考虑,我这个单元模块逻辑是否正确。

    接口测试指的是针对程序内部的或者外部的接口进行的测试,一个接口方法可能会包含多个单元模块,而且,一个接口会有自己特定的业务定义,所以,做接口测试的时候,更多的需要从业务的角度去考虑如何测试这个接口。

     不管是接口测试还是单元测试,其实都属于白盒测试的一个阶段,白盒测试具体的方法有很多种,比如代码审查,比如代码覆盖。
回复 支持 反对

使用道具 举报

该用户从未签到

65#
发表于 2011-12-12 19:23:41 | 只看该作者
本帖最后由 小刀 于 2011-12-12 19:25 编辑

接口测试从零开始4------junit断言介绍已经完成,有兴趣的同学可以到:http://www.51testing.com/index.php?uid-128005-action-viewspace-itemid-804268察看
--------------------------------------------
PS:不知道为什么51testing的博客貌似对一篇博客的字数有限制,不得不拆分为好几个篇章来介绍,影响阅读的完整性,后续完成所有的,会整理一个文档,方便大家察看。
回复 支持 反对

使用道具 举报

该用户从未签到

66#
发表于 2011-12-12 19:32:32 | 只看该作者
回复 65# wyhnzq


        你好,其实在前面已经有同学问过接口测试的基础性东西,简单的来说,接口测试就是针对系统内部各个节点交互或者系统和外部系统之间交互是否正常而进行测试的过程,主要测试内容是,检查数据的交换,传递和控制管理过程,确保对于提供给外部使用的接口是正常的。

接口有下面的几种:

1. 系统与系统之间的调用,比如银行会提供接口供电子商务网站调用,或者说,支付宝会提供接口给淘宝调用
2. 上层服务对下层服务的调用,比如service层会调用DAO层的接口,而应用层又会调用服务层提供的接口,一般会通过
3. 服务之间的调用,比如注册用户时,会先调用用户查询的服务,查看该用户是否已经注册。

   而我们所要做的接口测试,先要了解是基于哪一种类型的接口测试,不同类型的接口测试方法可能是不一致的,总体来说,不管是那种类型,我们只要把被测接口当做是服务方,而把我们的测试手段当做是客户方,我们的目的就是,通过我们的测试手段,去验证服务端满足了他声明提供的功能。

    至于说到具体的测试方法,http协议的接口测试,一般会用jmeter去测试,jmeter的好处是不用写测试代码,直接使用jmeter提供的http请求去测试,也可以使用HTTPClient去测试,好处是可以方便集成和自动化。java接口的测试,则需要编写测试代码去测试,有点类似于单元测试,但是需要更多的考虑业务场景。
回复 支持 反对

使用道具 举报

该用户从未签到

67#
发表于 2011-12-12 19:32:55 | 只看该作者
本帖最后由 小刀 于 2011-12-12 19:50 编辑

回复 64# zoushujuan


    请察看站内信
回复 支持 反对

使用道具 举报

该用户从未签到

68#
发表于 2011-12-13 13:49:19 | 只看该作者
请问有哪些公司进行接口测试。。呵呵
回复 支持 反对

使用道具 举报

该用户从未签到

69#
发表于 2011-12-13 20:22:07 | 只看该作者
最近做个loadrunner测试https协议的,带安全证书认证,loadrunner访问不具有受到认可的证书的安全站点,脚本调试不过,报“ie对安全证书设置有问题”

先前服务器的一个参数设置为ClientAth="no",我在loadrunner中按下列操作都成功了,后来将服务器参数ClientAth="want"后报“ie对安全证书设置有问题”



第一步,在ie中按第二种格式,导出安全证书为prcsc.cer,开发说这种格式就是loadrunner要求的pem格式(请问这种说法可对?)

第二,我用第一步导出的安全证书在loadrunner中下列界面测试,提示成功

第三步,录了脚本后,我在脚本前面加入
web_set_certificate_ex(
"CertFilePath=prcsc.cer",
"CertFormat=PEM",
"KeyFilePath=prcsc.cer",
"KeyFormat=PEM",
"Password=",
LAST );

第四步,在vugen 内, run-time settings->preferences->勾上WININET replay instead of Sockets
调试脚本,提示web_set_certificate_ex请求成功,但后面的脚本(第一个请求)报”ie对安全证书设置有问题” (服务器的一个参数设置为ClientAth="no",我在loadrunner中操作都能成功,后来将服务器参数ClientAth="want"后报“ie对安全证书设置有问题”)


请问遇到过这类问题吗?如何处理
回复 支持 反对

使用道具 举报

该用户从未签到

70#
发表于 2011-12-13 20:25:05 | 只看该作者
老师有qq号没,想加为好友,请教!
回复 支持 反对

使用道具 举报

该用户从未签到

71#
发表于 2011-12-13 20:30:20 | 只看该作者

最近做个loadrunner测试https协议的,带安全证书认证,loadrunner访问不具有受到认可的证书的安全站点,脚本调试不过报“ie对安全证书设置有问题

先前服务器的一个参数设置为ClientAth="no",我在loadrunner中按下列操作都成功了,后来将服务器参数ClientAth="want"后报“ie对安全证书设置有问题

第一步,在ie中按第二种格式,导出安全证书为prcsc.cer,开发说这种格式就是loadrunner要求的pem格式(请问这种说法可对?

第二,我用第一步导出的安全证书在loadrunner中下列界面测试,提示成功



第三步,录了脚本后,我在脚本前面加入

web_set_certificate_ex(

"CertFilePath=prcsc.cer",

"CertFormat=PEM",

"KeyFilePath=prcsc.cer",

"KeyFormat=PEM",

"Password=",

LAST );

第四步,在vugen 内, run-time settings->preferences->勾上WININET replay instead of Sockets

调试脚本,提示web_set_certificate_ex请求成功,但后面的脚本(第一个请求)报”ie对安全证书设置有问题 (服务器的一个参数设置为ClientAth="no",我在loadrunner中操作都能成功,后来将服务器参数ClientAth="want"后报“ie对安全证书设置有问题”)

请问遇到过这类问题吗?如何处理

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?(注-册)加入51Testing

x
回复 支持 反对

使用道具 举报

该用户从未签到

72#
发表于 2011-12-13 20:41:29 | 只看该作者
帮我看看这个问题,链接如下,很重要!先谢了!
http://www.51testing.com/?uid-11 ... space-itemid-804365
回复 支持 反对

使用道具 举报

该用户从未签到

73#
发表于 2011-12-14 09:04:57 | 只看该作者
你好~小刀兄,看了你的文章深受启发~

目前我也在用selenium做web页面的功能测试(主要是验收测试)
我现在有个问题,不知道该如何解决

在用selenium跑用例的时候,需要准备环境,请问对于测试环境的准备您是怎么做的?
举个例子来说:
我有个用例需要验证系统对文件的审核功能,那么我就需要先准备一个待审核的文件上传到系统

我通常的流程是:
(上传待审核文件-->开始跑用例,执行审核操作-->检查审核是否成功-->删除文件回复测试环境)

现在问题是:我用例真正验证的步骤是中间2步,对于第一步是准备环境,因为我准备环境也是通过selenium来实现的,如果在第一步(准备环境)的时候就上传出错了,那么就会导致我的这个用例无法执行下去(也就是说根本就没执行到我的用例的验证点),这样就会给我反馈回一个不太准确的信息(我会以为用例失败了,但实质上却是准备环境失败)。

目前我一直在考虑如何解决这个问题,也考虑过直接通过代码的方式访问数据库在数据库里构造好环境,这样出错的几率应该很小,但由于目前项目情况复杂,暂时未采用。

希望能说说您的看法!谢谢
回复 支持 反对

使用道具 举报

该用户从未签到

74#
发表于 2011-12-14 14:08:11 | 只看该作者
我想要你的QQ号啊
回复 支持 反对

使用道具 举报

该用户从未签到

75#
发表于 2011-12-14 15:44:52 | 只看该作者
小刀,我觉得看完之后有些收获,希望在讲的详细些,例如我们用soapui做接口测试
回复 支持 反对

使用道具 举报

该用户从未签到

76#
发表于 2011-12-14 19:08:49 | 只看该作者
完成系列6: 接口测试从零开始6------简简单单spring:http://www.51testing.com/index.p ... space-itemid-804463
回复 支持 反对

使用道具 举报

该用户从未签到

77#
发表于 2011-12-14 19:50:09 | 只看该作者
回复 70# phywym
    呵呵,我知道的阿里系的公司都做接口测试的,其他公司,不知道哦。
回复 支持 反对

使用道具 举报

该用户从未签到

78#
发表于 2011-12-14 19:51:24 | 只看该作者
回复 71# lcyu888

      不好意思呀,我对LR也只了解一点点,对Jmeter倒是比较熟悉的,所以不了解你说的这个情况,不好意思啊。
回复 支持 反对

使用道具 举报

该用户从未签到

79#
发表于 2011-12-14 20:19:36 | 只看该作者
回复 75# ryugun


    我们具体的测试数据,测试用例,测试脚本三者是独立开来的,也就是说,一个自动化的测试用例和这个用例对应的页面操作,已经这个用例对应的数据是分三部分的,只是在这个用例中,按照这样的方式生成数据,调用脚本方法,再另外的一个用例中,可能又是另外的数据,另外的脚本组合方式,但是,这个准备数据的方法是一致的,只是参数不同,操作页面的方法是一致的,只是顺序不同,而测试数据的准备可能是通过调用api接口去准备数据,也可能是直接操作数据库去准备数据,在测试脚本中,只是调用这个方法而已。
    所以,对于你说的这种情况,如果没有在框架里面,你可以写成一个工具类,然后在你的脚本当中调用这个工具类去生成数据就好了。而使用这种工具类的方式是比较灵活,可以将工具类写在你的脚本工程里面,也可以单独当做一个jar引用就可以了。
回复 支持 反对

使用道具 举报

该用户从未签到

80#
发表于 2011-12-15 08:43:36 | 只看该作者
回复  ryugun


    我们具体的测试数据,测试用例,测试脚本三者是独立开来的,也就是说,一个自动化的 ...
小刀 发表于 2011-12-14 20:19


谢谢小刀兄,看了你的回答,深受启发。

我们目前所采用的框架感觉和小刀兄的说有点类似,目前我们项目是采用基于关键字驱动的混合框架
各个基层组件的复用性相当好,用例也是通过关键字描述文档动态调用各个组件运行的。

基于您的回复,我忽然意识到,对于页面元素的数据准备(例如:我之前提问时说的 审核功能需要的上传文件),我可以叫开发给我URL请求格式,构造请求的方式去准备(类似您说的调用api),这样就不会通过页面上直接去构造数据,能大大减少构造数据时出错的几率。我将这个构造URL的动作再封装成一个自己的基层组件,在需要用到上传文件的地方直接调用这个组件就可以了。

不知您觉得我这个方法是否可行。谢谢
回复 支持 反对

使用道具 举报

本版积分规则

关闭

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

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

GMT+8, 2024-11-23 03:06 , Processed in 0.087798 second(s), 21 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

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