1、接口:
1)接口其实就是各种数据库操作。
2)接口是功能数据传递的通道。
3)接口是实现某个功能的一个函数。
2、接口分类:
1)内部接口:
开发的接口给内部系统使用。
2)外部接口:
①被测项目调用外部接口。
②被测项目提供接口给外部使用。
3、接口测试:
1)测试项目和项目之间,模块与模块之间,组件与组件之间的数据交互和权限鉴定。
2)接口测试就是绕过前端直接对接口调用,查看接口功能实现是否正常。
3)接口测试主要用于外部系统与系统之间以及内部各个子系统之间的交互点,定义特定的交互点,然后通过这些交互点,借助一些特殊的规则也就是协议,来进行数据之间的交互。
前端:对网页静态页面的设计,当我们浏览网站的时候所看到的页面上的内容几乎都是属于前端,前端的工作就是网站页面,静态的页面是没有后端成分的,前端主要包括html和css外加js等一些样式和布局。
后端:动态网站的技术,比如网站上的一些注册登录和一些弹窗,这些都是后端的逻辑,常用的后端语言有php,jsp等,后端的数据库也包含myspl等,都是对后端进行存储数据。
4、接口的组成:
1)接口说明。
2)调用url。
3)请求方法。
4)请求参数、参数类型说明。
5)返回参数说明。
5、接口测试的必要性:
1)可以发现很多在页面上操作发现不了的bug。
2)检查系统的异常处理能力。
3)检查系统的安全性、稳定性。
4)保证测试今早介入。
5)可以测试并发情况。
6)可以修改请求参数,突破前端页面的输入限制。
6、接口测试的重点:
1)接口功能的正确性。
2)参数的正确性。
3)异常处理的能力。
4)鉴权。
5)兼容性。
7、接口的设计风格分类:
1)Soap架构:
基于webservice协议,接口地址:https://…?wsdl
2)Rpc架构:
基于dubbo协议,接口地址:dubbo:.//.
3)RestFul架构:
基于http协议。
8、HTTP协议:
1)是一种超文本传输协议。
2)可以让客户端与服务器进行数据交换,
3)由请求和响应两部分组成。
请求包括请求行、请求头、请求报文。
请求行包括请求方式、请求路径。
①请求方式:get、post、put、delete。
②请求路径:url。
③请求头:
Ⅰ、Accept:指定客户端接收的数据格式。
Ⅱ、X-Requested-with:异步请求。
Ⅲ、User-Agent:客户端的类型。
Ⅳ、Content-Type:客户端发送的数据类型。
Ⅴ、Cookie:服务器返回给客户端并且保存的Cookie信息。
响应包括响应行、响应头、响应报文。
响应行包括响应码、响应信息。
8、HTTP协议常见的返回状态码
1)200(正常):
表示一切正常,到了服务器,并且服务器正常的响应了你的请求。
2)404(找不到):
服务器上不存在客户机所请求的资源。
3)500(内部服务错误):
服务器的CGI、ASP、JSP等程序发生错误。
4)504:
超时。
9、get和post请求方法的区别:
1)get请求方式的请求数据拼接在URL地址后,为明文,数据长度有限(浏览器对url长度有限制),安全性不如post,但执行速度高于post,一般应用在数据查询场景中。
2)post请求方式,请求数据位置在http正文body体中,可明可密,长度不受限,数据安全性高,一般应用在修改数据场景中。
10、接口测试工具体系:
1)jmeter+ant+git+jenkins。
2)postman+newman+git+jenkins。
🌂HR:除了jmeter,你还了解哪些其他做接口测试的工具?
Ⅰ、 postman、soapui、loadrunner。
Ⅱ、目前主流一点做接口测试工具的是jmeter、postman; soapui测试soap协议会比较好用;
Ⅲ、loadrunner做性能测试比较多。
11、JMeter的安装:
1)安装jdk并配置jdk的环境变量。
2)下载并解压jmeter。
12、JMeter安装包中相关的文件夹:
1)bin:
存放jmeter的启动脚本、配置文件、模块文件。
①jmeter.bat:启动文件。
②jmeter.propties:全局配置文件。
把JMeter界面永久中文化,需要打开jmeter.proptise文件,添加language=zh_CN
2)docs:
离线帮助文档。
3)extras:
存放和第三方的集成构建文件。
4)lib:
库文件,也就是jar包。
5)licenses:
许可文件。
6)printable_docs:
用户手册。
接口测试和接口文档生成工具apipost,接口测试和性能测试工具jmeter。
apipost:https://www.apipost.cnjmeter: https://jmeter.apache.org/
13、JMeter常见组件:
1)测试计划:
jmeter的起点和容器。
2)线程组:
代表一定的虚拟用户。
3)取样器:
发送请求的最小单元。
4)逻辑控制器:
控制组件的执行顺序。
5)前置处理器:
在请求之前的操作。
6)后置处理器:
在请求之后的操作。
7)断言:
判断请求是否成功。
8)定时器:
是否延迟或间隔发送请求。
9)配置元件:
请求期的配置信息。
10)监听器:
负责收集测试结果。
执行顺序:
测试计划–>线程组–>配置元件–>前置处理器–>定时器–>取样器–>后置处理器–>断言–>监听器
14、组件的作用域:
组件作用于父级组件、同级组件、同级组件的子组件。
15、接口测试流程:
1)拿到接口文档,熟悉接口业务、接口地址、鉴权、入参、出参、错误码、兼容性。
(没有接口文档,就通过抓包获取或者录制请求)
2)接口测试用例的设计和评审。
①正例。
②反例。
Ⅰ、鉴权反例(必填、错误、鉴权码过期)。
Ⅱ、参数反例(必填、参数类型异常、参数长度异常)。
Ⅲ、其他场景(黑名单、访问次数限制、分页场景)。
Ⅳ、兼容性(一个接口对应多个版本的APP)。
3)执行测试用例。
4)持续集成,团队协作生成测试报告。
🌂HR:一般写多少个用例?
20~30个。
16、cookie鉴权原理:
1)客户端第一次访问服务器,服务器就会生成Cookie,然后通过响应头里的Set-Cookie传输到客户端,并保存到客户端。
2)第2~n次访问服务器时,在请求头里面通过Cookie把我们保存到本地的Cookie信息传输到服务以实现鉴权。
只要是web项目,必须添加HTTP Cookie管理器。