一、首先明白接口是什么
软件接口是指程序中具体负责在不同模块之间传输或接受数据的并做处理的类或者函数。(而不是指传输的数据!!)
二、什么是接口测试
接口测试就是通过向接口传递数据来测试这个接口是否正确。比如:一个QQ登录功能接口,就需要我们传递QQ号和密码去验证这个登录接口是否正确,能否使用。
三、进行接口测试需要掌握哪些知识
1、了解系统及内部各个组件之间的业务逻辑交互;
2、了解接口的I/O(input/output:输入输出);
3、了解协议的基本内容,包括:通信原理、三次握手、常用的协议类型、报文构成、数据传输方式、常见的状态码、URL构成等;
4、常用的接口测试工具,比如:apipost、jmeter、loadrunner、soapUI等;
5、数据库基础操作命令(检查数据入库、提取测试数据等);
6、常见的字符类型,比如:char、varchar、text、int、float、datatime、string等;
四、如何学这些技能?
1、系统间业务交互逻辑:通过需求文档、流程图、思维导图、沟通等很多渠道和方式;
2、协议:推荐《图解http》这本书,内容生动,相对算是入门级的书籍,其他的还有《图解tcp、IP》等;
3、接口测试工具:百度这些工具,然后你会发现,好多的教学博客、相关问题解决方案、以及一些基于工具的书籍,当然,选择合适的书很重要;
4、数据库操作命令:学习网站(W3C、菜鸟教程)、教学博客,以及一些数据库相关书籍,入门级推荐:《mysql必知必会》、《oracle PL/SQL必知必会》等
5、知乎,百度和csdn等各大技术论坛都是你学习的好帮手
五、接口测试分为两大类
1.手工通过工具进行测试
一般使用的工具有apipost、jmeter、postman等,博主使用的是国产的接口测试工具apipsot。
手工测试方法:通过抓包或其他方法(比如看文档)准备好输入数据包,然后用发包的工具把数据发给服务端的接口,之后校验其返回值。
2.自动化接口测试
以上,大家已经了解了手工做接口测试的流程。
那么下一步就是把一些接口测试编写成脚本,放在本地(自己电脑上),人工触发去批量得执行这些测试,并自动校验返回结果。
这里推荐一下使用的工具。
如果你是零基础的,推荐你用apipost或jmeter,两者都不需要你具备任何代码功底就能用。
我一般使用的是apipost的流程测试功能,把写好的接口,选择进行点击开始,就可以进行接口自动化测试了。
假如你有编程基础,可以考虑使用python+requests+pytest/robotframework来做接口测试。如果用了python+requests,那么性能测试方面可以用python+locust。也可以不用locust,只要你掌握了前面提过的数据驱动的思想,配合一些自动化框架开发基础,也一样可以把接口测试做到能在其他性能测试工具里重用,当然这个就复杂了,以后再说吧。
接口测试工具apipost下载地址:https://www.apipost.cn/?dt=20201101