- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
接口测试系列—理论篇
姓名:
邱功圆
部门:
测试技术部
时间:
2015/7/28
职位:
软件测试工程师
目录
什么是接口测试
接口测试:
用来检查各个组件的接口的测试,接口测试主要检查外部系统与系统之间以及各个子系统之间的交互点,测试的重点在数据的传递上。
接口测试分类:
1、服务之间的调用,比如:应用层调用服务层提供的接口;service层会调用DAO层的接口;
注册用户先调用用户查询的服务,查看该用户是否存在(标准接口测试)。
2、用户(浏览器)和服务之间的调用(web业务接口测试,^^我自己定义的)。
接口类型和测试工具
接口类型
接口类型取决于通信协议,常见的通信协议有:HTTP、HTTPS、rest、webservice、RPC接口、socket等。
接口测试工具:
Fiddler
Jmeter
SoupUI
Postman
Java:httpclient
Python:urllib、urllib2、suds
标准接口文档规范
接口文档包含如下内容:
1、接口概述:
1)接口名称
2)接口功能
3)接口类别
4)提交者、提交时间、需求来源及时间要求
2、HTTP请求方式
3、认证说明
4、请求限制说明(次数)
5、请求参数说明
参数名、是否必选、类型、取值范围、描述(非必选项的默认值)
6、相关约束(消息头)
7、注意事项
8、调用示例
9、返回说明
1)返回数据格式
2)返回结果示例
3)错误代码及返回说明
接口测试内容
功能逻辑
参数格式校验
返回结果
调用方式
安全性
其他异常场景
自动化测试本质和目的
1、自动化测试的本质是发现变化的东西对不变东西的影响。
2、自动化测试的目的是增加开发和回归效率。
自动化主要用于回归测试,可以滞后于新功能;希望自动化作用于新功能的,可以说都是不懂自动化的人。
自动化测试不能完全代替点点点,它的核心作用是规范流程,提高效率
什么样的项目适合做自动测试
产品型项目:产品型的项目,每个项目只改进少量的功能,但每个项目必须反反复复测试未改动过的功能。这部分测试完全可以让自动化测试来承担,同时也可以把新功能加入到自动化测试当中。
增量式开发、持续性项目(敏捷开发):由于这种开发模式是频繁的发布新版本进行测试,也就需要频繁的自动化测试,以便把人从中解脱出来测试新的功能。
回归测试:回归测试是自动化测试的强项,它能够很好的验证你是否引入了新的缺陷,老的缺陷是否修改过来了。在某种程度上可以把自动化测试工具叫做回归测试工具。
频繁运行的测试(巡检):在一个项目中需要频繁的运行测试,测试周期按天算,就能最大限度的利用测试脚本。
多次重复、机械性操作:自动化测试最适用于多次重复、机械性动作,这样的测试对它来说从不会失败。
测试分层
缺陷定位容易
修复成本更低
反应真实需求
更加接近业务
web业务接口测试
主流程接口测试流程:
标准接口测试
单一接口测试流程:
接口脚本集成到jenkins
接口自动化测试总结
接口测试中应该注意的问题如下:
1、注意数据清理
在写脚本后注意及时清理接口测试过程中,向数据库插入的数据,以免脚本的持续运行,导致大量的脏数据影响平台正常的使用。
2、在编写脚本前,提前写好用例(可以从手工用例中挑选)
接口测试虽然对代码的要求比较高,但是目前我们采用的工具对代码的要求没那么高,而是设计用例能力的高低。用例的设计的好,脚本的可移至性好。
3、断言校验要全面充分
调用接口后,会返回一个response数据,对这个result进行校验时,要将校验点想全面,不仅仅包括,调用是否成功,还需要知道为什么成功,为什么失败:
调用成功:result返回调用成功,还需要校验更改的信息是否被更改,其他不需要更改的信息是否被改变
调用失败:result返回调用失败,还需要校验失败的原因是否和期待的一致,确保调用失败后信息没有被更改;
4、写sql语句更新数据库时,一定要写限制条件
在脚本中编写sql语句更新数据库时,要特别小心,一定要写限制条件,不然会将数据库中的所有记录都更新掉,而且脚本是要持续运行的,信息会被一次次修改,这样会给其他人带来困扰。而且这种问题排查是很困难的,所以一定要小心。
谢谢!
原创力文档


文档评论(0)