接口测试常问问题

发布时间:2024年01月11日

1.什么是接口?

对于电脑硬件来说,USB接口,例如投影机,用于数据传输;

对于软件来说,统称为api,application program interface(例如微信、支付宝、银联三方支付接口);

鉴权码(token、key、APPkey),开发统称为令牌;

内部接口:开发人员自己开发使用,对自身系统提供的接口;

外部接口:开发人员调用外部的,微信、支付宝、其他的接口;

接口就是软件提供给外部的一种服务,用于数据传输。

2.软件为什么需要接口?

接口能够让内部的数据被外部进行修改,举个例子说明以下

银行? ?----》银行卡--》使用银行卡微信付钱--》改变的银行卡里的钱

使用银行卡进行微信支付时,这是就完成了银行给微信传输数据,银行给微信提供接口,让银行内部数据,被外部的微信支付修改。

3.为什么要接口测试?

1.系统前后端分离,开发进度不一样,需要把一开始开发出来的几口进行测试,(mock数据);

2.安全因素考虑,前端有验证很容易绕过,直接请求接口,特别是身份证、银行卡和金钱交易等;

3.推荐测试左移,测试尽早介入。

4.接口的本质?

接口就是一个函数、方法和动作;

测试接口能否正常的交互数据,和权限控制以及异常的场景。

功能测试:界面测试(界面设置、交互流程),正例和反例都要考虑。

5.接口返回的数据格式?

1.JSON格式(一般返回的都是3组数据)

{ error_code:错误码,0代表成功,

? ? ? ? ? ? ?msg:对错误码的中文说明,

? ? ? ? ? ? ?data:真正的返回数据}

JSON就是一种数据类型,整数、小数、字符串........

JSON由两种数据组成(可以相互嵌套)

map对象,键值对{key:value,

? ? ? ? ? ? ? ? ? ? ? ? ? ? ?key:value}

数组:[value1,value2,value3]

推荐网站:www.bejson.com? 格式化校验

2.HTML格式

<html>
     <title></title>
     <body>
     <error_code>0</error_code>
           <msg>发送成功</msg>
           <data>数据</data>
     </body>
</html>

3.xml格式

<?xml?version="1.0" encoding = "utf-8">
<error_code>0</error_code>
<msg>发送成功</msg>
</xml>

6.接口测试协议

1.webservices协议:接口地址:http:、、。。。。。。?wsdl

http://192.168.12.1:8080/addUser

restful规则:get获取数据 post提交数据? ?put修改数据? delete 删除数据

2.dubbo协议? dubbo:、、......适用于少量数据的传输,大并发

3.http协议:http:、、(80%用到)HTTPS=http+ssl 安全传输协议? 端口443

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? http? 端口80

7.什么是http协议

超文本传输协议,主要用于浏览器和服务器之前交互数据,交互有两个部分,请求和响应

请求:get、put、post 、delete;

响应:1.XX信息 2.xx成功 3.xx重定向(跳转页面不传值)4.xx客户端错误 5.xx服务器错误(以什么数字开头代表的信息含义)

请求部分包含:

1.请求行:请求方式,请求地址,协议

2.请求头:

Accept:(客户端可以接受的数据格式);

X-Requetsted-With:(异步请求);

User-Agent:(客户端的用户);

Host:? (请求的主机地址);

Cookie:(请求cookie信息);

3.空一行

4.请求正文

相应部分包含:

1.响应行:协议,响应码,响应信息

2.响应头:server:(服务器名称)

? ? ? ? ? ? ? ? ?date:(响应时间)

? ? ? ? ? content -type:(响应格式)

? ? ? ? set-cookie:? ?(响应的cookie信息)

3.空一行

4.响应的内容

8.接口测试流程

1.拿到api 文档,实习接口的业务,接口地址、鉴权、入参、出参、错误码;

2.接口计划和方案:正例,输入正常的入参,查看接口是否返回成功;

? ? ? ? ? ? ? ? ? ? ? ? ? ? ?反例,鉴权反例,健全为空鉴权码错误或过期;

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 参数反例,参数为空,参数类型异常,参数长度异常

? ?其他场景:分页异常,接口调用次数,接口黑名单

3.编写测试用例和评审;

4.执行接口测试;

5.输出接口测试报告;

9、接口测试工具

接口测试工具:postman、jmeter。soupui(webservice)、apipost、apifox;

抓包工具:fiddler,charies

10.http接口测试

1.选择请求方法,填写请求URL,填写URL参数,填写body参数和header参数;

2.手动发送请求send

3.查看返回参数是否正常,是否符合接口文档约定

11.api文档作用

明确接口所实现的功能,接口的请求方法,接口请求URL,URL参数,协议首部字段,body中要填的参数和返回字段含义

12.接口测试原理

web浏览器发送http请求给服务器,服务器将响应的数据通过http响应给浏览器。

文章来源:https://blog.csdn.net/niuniu_666/article/details/135472852
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。