接口的概念

  • Post author:
  • Post category:其他


接口就是一个方法,是提供系统与系统间,程序与程序间的交互的一个功能

接口的划分

1.API接口:

最长见的一种接口,webdriver api appium jdk

2.GUI接口:

通过图形的操作来获取响应应用数据的接口

3.公共api接口

一个api接口被大量的其他应用所调用,这时候可以将其部署韦一个独立的接口系统,功能上提供对应的接口数据,这个接口就是公共api接口。

接口测试的类型划分

1.http接口

这是最常见的一种,没有固定的风格,一般就是以两种方式为主(get、post请求方式)。

get:从服务器端获取数据

post:对服务器端数据进行增删改

比如有一个接口,是学生信息管理的接口:


http://10.12.22.12:80/student/index.html?a=select

— 就可以get请求来实现


http://10.12.22.12:80/student/index.html?a=submit

— 就是以post请求来实现

2、Restful接口(风格)– 和http一样

叫做状态转移接口,是一种设计风格,在使用上和http区别不大,但是要以不同的方法以动词的形式来表示接口,以名词表示路径,以动词表示请求的功能。

比如有一个接口,是学生信息管理的接口,:


http://10.12.22.12:80/student/information/selectInfo

–可以用get请求实现

http://10.12.22.12:80/student/information/updateInfo –可以用put请求实现

http://10.12.22.12:80/student/information/deleteInfo –可以用delete请求实现

http://10.12.22.12:80/student/information/insertInfo –可以用post请求实现

3.Soapservice接口

基于http协议的soap接口,通过部署service系统之后,可以导出一个xml的文件(包括接口及接口的所有参数),基于这个文件进行接口用例的设计和执行了。常用的工具soapui。

三、接口测试

对接口方法所提供的功能,安全,性能等的测试过程,就是接口测试,是一个独立的测试类型

1.做接口测试的必要性:

减少测试用例的数量

提升测试执行的效率

接口自动化稳定性更好,相比于功能测试

独立的测试类型,包括接口的功能,安全,性能测试等

2.通过接口实现前后端分离式开发

3.接口测试的好处:

可以发现前端页面不能发现的问题

检查系统对异常处理的能力

通过接口测试,可以保证后端接口的功能,安全性和性能满足需求

接口更容易实现自动化,接口完成后,出现问题,大部分都在前端



如何区分是前端bug还是后端bug


出现bug的原因分为3类



1.数据库层面的

设计数据库时候,设计不合理,导致调用数据库错误



2.网络层面的


网络问题,代码加载不出来,等性能相关的bug,建议提出一些优化类型的bug



3.代码层面的


界面显示问题,前端的bug

对于数据或者逻辑上的问题,则需要检查接口进行数据的抓包 ,进行分析

请求未返回的数据,可能为client(客户端)请求数据错误,可能是server端(服务器端)处理错误

请求返回错误数据,就是server端处理错误。

前端bug主要分为3个类别:HTML,CSS,Javascript 三类问题:

一)出现文本的问题基本都是html的bug

二)出现样式的问题基本都是CSS的bug

三)出现交互类的问题基本都是Javascript的bug

如何查看日志(tail -f)?

一台服务器可以部署多个应用:

cd usr/local/测试服务器名称/logs//查看先进入到服务器的logs目录下

tail -f catalina.out//监视catalina.out 文件的尾部内容(默认10行)


三)判断是否为Javascript处产生的缺陷

a) 最直接的判断方法,刷新页面,出现滞后显示的一些模块基本都为脚本的输出块。该部分的一些问题可以参照兼容型 bug 中类别的 脚本兼容型bug。

b) 有产生交互类的问题,大多数都可以定位到是属于javascript产生的问题,该部分大多不会报错

c) 有如下错误提示类的都属于javascript的bug:

页面左下方有出现javascript的错误提示;

有弹出错误信息提示的bug;

浏览器返回的一些错误弹出框。

接口测试的类型

接口测试是一个完整的测试体系,包括下面的集中测试类型

功能测试:包括场景(业务),边界值测试,参数组合测试等

性能测试:响应时间,并发,服务器利用率,吞吐量

安全性:sql注入,敏感信息加密等

怎样展开接口测试

接口测试就是模拟浏览器打包http请求的过程。需要把打包的http的信息提取出来(http请求的报文)

!接口的URL地址

!请求方式(get    post   put    head   delete等)

!参数

!头部字段

打包好发送请求,发送该请求即可获取响应结果

关于接口文档的阅读

接口的功能表述,接口实现的功能

请求的url地址(必要)

请求方式:get:从服务器端获取数据     post :对服务器数据进行增删改查

请求的头部

请求的参数

请求的数据

将这些数据组合情况打包好,进行访问

2、百度通用翻译

接口的URL地址:https://fanyi-api.baidu.com/api/trans/vip/translate

请求方法:get

参数:

q:要查询的字符串,比如apple,要求是utf-8

from:原语言,可以是auto,或则指定为en、zh、jp、kor、yue

to:目标语言,不可以是auto,必须指定翻译为什么语言,为en、zh、jp、kor、yue

appid:你的开发者账号,APP ID:20190630000313415,密钥:IL7VipagQVFGKlo8XMIr

salt:随机数,888888

sign:签名,主要是鉴权,appid+q+salt+密钥组成的一个字符串,并对这个字符串进行md5加密

20190630000313415apple888888IL7VipagQVFGKlo8XMIr

md5加密获取32小写的加密字符串:a9adc2d687fbacecc3b5059b9ccedc95

拼接http请求(get):


https://fanyi-api.baidu.com/api/trans/vip/translate?q=apple&from=auto&to=zh&appid=20190630000313415&salt=888888&sign=a9adc2d687fbacecc3b5059b9ccedc95

检查结果是否符合预期即可。



版权声明:本文为m0_59315964原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。