做接口测试需要哪些技能?如何学会Python接口自动化测试

1、什么是接口测试

定义:测试系统组件间接口的一种测试。主要用于检测外部系统与系统之间以及内部各个子系统之间的交互点,重点是检查数据的交换,传递和控制管理过程,以及系统间的相互逻辑依赖关系等;

目的:测试接口的正确性和稳定性;

原理:模拟客户端向服务器发送请求报文,服务器接收请求报文后对相应的报文做处理并向客户端返回应答,客户端接收应答的过程;

重点:检查数据的交换,传递和控制管理过程,还包括处理的次数;

核心:持续集成是接口测试的核心;

优点:为高复杂性的平台带来高效的缺陷监测和质量监督能力,平台越复杂,系统越庞大,接口测试的效果越明显(提高测试效率,提升用户体验,降低研发成本);

用例设计重点:通常情况下主要测试最外层的两类接口:数据进入系统接口(调用外部系统的参数为本系统使用)和数据流出系统接口(验证系统处理后的数据是否正常);

PS:设计用例时还需要注意外部接口提供给使用这些接口的外部用户什么功能,外部用户真正需要什么功能;

2、接口测试需要会什么?

①了解系统及内部各个组件之间的业务逻辑交互;

②了解接口的I/O(input/output:输入输出);

③了解协议的基本内容,包括:通信原理、三次握手、常用的协议类型、报文构成、数据传输方式、常见的状态码、URL构成等;

④常用的接口测试工具,比如:jmeter、loadrunner、postman、soapUI等;

⑤数据库基础操作命令(检查数据入库、提取测试数据等);

⑥常见的字符类型,比如:char、varchar、text、int、float、datatime、string等;

3、如何学这些技能?

①系统间业务交互逻辑:通过需求文档、流程图、思维导图、沟通等很多渠道和方式;

②协议:推荐《图解http》这本书,内容生动,相对算是入门级的书籍,其他的还有《图解tcp、IP》等;

③接口测试工具:百度这些工具,然后你会发现,好多的教学博客、相关问题解决方案、以及一些基于工具的书籍,当然,选择合适的书很重要;

④数据库操作命令:学习网站、教学博客,以及一些数据库相关书籍,入门级推荐:《mysql必知必会》、《oracle PL/SQL必知必会》等

⑤字符类型:还是百度,有句话这么说:内事不决问百度,外事不决问Google。。

4、如何获取接口相关信息?

一般的企业,都会由开发或者对应的技术负责人员编写接口文档,里面会注明接口相关的地址、参数类型、方法、输入、输出等信息,如果没有,想办法获取。

接口文档八要素:

封面:封面最好是本公司规定的封面,有logo,内容标题,版本号,公司名称,文档产生日期;

修订历史:表格形式较好些,包括:版本、修订说明、修订日期、修订人、审核时间审核人等;

接口信息:接口调用方式,常用的GET/POST方式,接口地址;

功能描述:简洁清晰的描述接口功能,比如:接口获取的信息不包括哪些;

接口参数说明:每个参数都要和实际中调用的一样,包括大小写;参数的含义言简意赅的说明,格式,是string 还是int 还是long等格式;

说明部分,说明参数值是需要哪里提供,并详细说明参数怎么生成的,例如时间戳,是哪个时间段的,参数是否必填,一些参数是必须要有的,有些是可选参数等;

返回值说明:

①最好有一个模板返回值,并说明每个返回参数的意义;

②提供一个真实的调用接口,真实的返回值;

调用限制,安全方面:

加密方式,或者自己公司一个特殊的加密过程,只要双方采用一致的加密算法就可以调用接口,保证了接口调用的安全性,比如常见的md5;

文档维护:文档在维护的时候,如有修改一定要写上修改日期,修改人,对大的修改要有版本号变更;

5、如何进行进行接口测试?

如果经历了上面的几个场景之后,关于接口测试如何做,相信大部分人都应该可以进行。至于采用何种工具,以及执行测试中遇到的问题,请百度!!!

博客、文库、各大测试群的群文件,教程书籍,很多很多,只要稍微动动手,动动脑子,一般的问题都可以得到解决。。。

麻省理工校训:Mens et Manus (Mind and Hand)————动手,动脑!!!

6、自动化接口测试

前面说过,接口测试的核心就是持续集成,而自动化测试,可以提升工作效率,降低成本,接口测试的自动化,就显得很有必要。

至于接口自动化的框架,可以说有很多种,根据使用的工具不同、个人擅长的编程语言、工作环境需要等情况,灵活性较大。

我个人比较熟悉的框架:jmeter+maven+Jenkins+mysql+dubbo。

7、其他

工程师指具有从事工程系统操作、设计、管理、评估能力的人员。工程师的称谓,通常只用于在工程学其中一个范畴持有专业性学位或相等工作经验的人士。  ————百度百科

IT行业,是一个知识密集型产业,软件测试工程师,应该也具有相应的知识、技能,即:核心竞争力。

持续学习必不可少,不要让自己很容易被替代!

 

感谢每一个认真阅读我文章的人!!!

作为一位过来人也是希望大家少走一些弯路,如果你不想再体验一次学习时找不到资料,没人解答问题,坚持几天便放弃的感受的话,在这里我给大家分享一些自动化测试的学习资源,希望能给你前进的路上带来帮助。

软件测试面试文档

我们学习必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有字节大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。

 

          视频文档获取方式:
这份文档和视频资料,对于想从事【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!以上均可以分享,点下方小卡片即可自行领取。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值