接口测试常问问题

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响应给浏览器。

相关推荐

  1. 接口测试问题

    2024-01-11 10:12:01       23 阅读
  2. 软件测试问题3

    2024-01-11 10:12:01       38 阅读
  3. jmeter问题

    2024-01-11 10:12:01       33 阅读
  4. 面试问题

    2024-01-11 10:12:01       22 阅读
  5. 面试问题

    2024-01-11 10:12:01       18 阅读
  6. 面试官问题

    2024-01-11 10:12:01       24 阅读
  7. STM32面试问题汇总

    2024-01-11 10:12:01       8 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-01-11 10:12:01       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-01-11 10:12:01       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-01-11 10:12:01       19 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-01-11 10:12:01       20 阅读

热门阅读

  1. 探索 Flutter 的 Provider:介绍与用法

    2024-01-11 10:12:01       26 阅读
  2. windows或mac端口转发

    2024-01-11 10:12:01       39 阅读
  3. springAMQP接收消息报错

    2024-01-11 10:12:01       33 阅读
  4. npm 和yarn的安装和使用方法

    2024-01-11 10:12:01       39 阅读
  5. 搜索二维矩阵 II【矩阵】【二分】

    2024-01-11 10:12:01       39 阅读
  6. 【SpringCloud】10、Spring Cloud Gateway全局过滤器

    2024-01-11 10:12:01       37 阅读
  7. git新建分支并提交

    2024-01-11 10:12:01       36 阅读
  8. Google和百度搜索引擎常用语法及其说明

    2024-01-11 10:12:01       38 阅读
  9. 使用Netty实现Socket网络编程

    2024-01-11 10:12:01       26 阅读
  10. MySql :优化总结一

    2024-01-11 10:12:01       26 阅读
  11. MySQL通过mysql命令连接报sock报错

    2024-01-11 10:12:01       37 阅读
  12. 飞天使-k8s知识点10-kubernetes资源对象3-controller

    2024-01-11 10:12:01       37 阅读