小白也能读懂的接口测试,接口测试并没有那么难

Posted 软件测试君

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了小白也能读懂的接口测试,接口测试并没有那么难相关的知识,希望对你有一定的参考价值。


接口测试入门,部分人员主要从事功能测试,有的同学不了解接口测试,本文简要介绍了接口测试的定义与相关流程,适合刚入门的同学。

1 接口的定义

现实中我们的接口比如插销、插座等都是遵循一定的标准和规范制作的,以至于不同厂家生产出来的插头、插座可以共用。那么程序的接口也跟现实的接口的类似。

什么是程序接口,就是程序之间协作要遵循一套规范和标准,开发人员按照规范和标准进行工作,接口一般都是由高级开发人员设计出来的。

2 接口的优点

程序系统一般分为前端和后端,前端就是咱们看到的浏览器或者客户端,后端是后台的一些逻辑检查和控制,接口可以有效的将前端和后端区分出来。

责任划分清晰,找到问题能够划分出是前台的问题还是后台的问题,这样能够很快的定位问题,检查是否前台传值传错还是后台错误,这样能够很快的给开发人员修改问题。

缩短开发周期,标准一致,前台与后台按照同样的标准、规范,各自干各自的工作,并行开发,能够缩短开发周期。

可扩展性强。

3 API接口的概念

应用程序接口(API,Application Programming Interface),以某种协议的形式提供,定义输入、输出规范和相关功能的描述。

举例:登录功能,前端输入用户名和密码,提交后,后台收到前台请求进行处理,然后返回给前台响应结果。

接口文档定义字段为

用户名:user_name

密码:user_passwrod

前端开发人员与后台开发人员都应按照接口约定去传值和取值,当前台浏览器传值为name和password的时候,后台程序取的是user_name ,user_passwrod,导致数据无法获取,最终报错,因为前台没有按照接口文档来传值导致,很容易能判断出是谁的问题。

需要前后台开发人员都遵循接口的标准来传值与取值就可以了,也就是都用

用户名:user_name

密码:user_passwrod

这样就不会有问题了。

4 接口的测试流程

1)接口功能是正确的,保证基础功能是正确的

2)接口的测试数据(特殊数据)检查是否有问题,各种特殊数据对接口进行验证,边界值、特殊字符、空值等

3)自动化脚本的编辑与测试,接口测试过程中,需要多次进行测试,为了提高效率,可以使用工具进行测试,编写脚本,后续可以多次回归运行,比如jmeter

4)接口的性能和压力测试,基础功能都验证完毕后,也要检验下接口的性能,自动化脚本编辑好后,根据要测试要点,设置好测试数据,进行接口的性能和压力测试,检查是否存在瓶颈。

5 普及客户端、服务器、请求、响应概念

客户端:移动应用,web应用等,比如微信、网银、还有柜面程序等。

服务器:为客户端提供服务、提供数据、提供资源的那台机器,比如手机银行查询账户余额,余额的相关信息都保存在核心的服务器上,那想要获取数据,就要访问核心的服务器。

请求:客户端向服务器索取数据的一种行为,比如手机查询余额时,点提交按钮,这就是发出了一个请求。

响应:服务器对客户端的请求,做出的反应,一般指的就是返回数据给客户端。

6 http协议与URL

协议:计算机网络两台机器之间进行通信所必须共同遵守的规则或者规定。

http协议:超文本传输协议,是一个基于请求与响应模式的、无状态的、应用层的协议,只有遵循统一的 HTTP 请求格式,服务器才能正确解析不同客户端发的请求,同样地,服务器遵循统一的响应格式,客户端才得以正确解析不同网站发过来的响应。

URL(统一资源定位符):简单来说,就是互联网上的地址、位置,每一个资源都有一个唯一的URL

格式:协议://主机地址/路径

比如:

# URL格式
https://host:port/path?xxx=aba&ooo=bbc

##  http/https:这个是协议类型
##  host:服务器的IP地址或者域名
##  port:HTTP服务器的默认端口是80
##  path:访问资源的路径
##  url里面的?这个符号是个分割线,用来区分问号前面的是path,问号后面的是参数
##  url-params:问号后面的是请求参数,格式:xxx=aaa
##  多个参数用&符号连接

7 get与post请求

1、get请求重点在从服务器上获取资源,而post请求重点在向服务器发送数据。

2、get传输数据是通过URL请求,以字段=value的形式,用?连接置于URL之后,多个请求数据之间用&连接,这个过程用户可见,不安全,参数暴露。post传输数据是将字段与对应值封存在请求实体中发送给服务器,这个过程用户不可见,隐藏式的请求,相比是安全的。

3,get传输的数据量小,受URL长度的限制,但是效率高。post传输数据量不受限制,可以传输大量数据,所以传输文件时只能使用post,但是效率较低。请求较多时可能形成一个请求队列。

4,get方式只支持ASCII字符,因此向服务器传输中文有可能出现乱码。post支持标准字符集,可以正确传递中文字符。

7 测试工具

jmeter:Jmeter是一款优秀的开源测试工具, 是每个资深测试工程师,必须掌握的测试工具,熟练使用Jmeter能大大提高工作效率。

Jmeter 是一款使用Java开发的,开源免费的,测试工具, 主要用来做功能测试和性能测试(压力测试/负载测试),而且用Jmeter 来测试 Restful API, 非常好用。

官方网站:http://jmeter.apache.org/

解压后, 运行 “bin/jmeter.bat”

8 测试实战

目的:获取某个城市的地区代码

发送request 请求获取城市的城市代号,http://toy1.weather.com.cn/search?cityname=北京 ,从这个请求的response 中获取到北京的城市代码. 比如:北京的地区代码是101010100beijing北京

jmeter配置:

1)建立线程组

2)线程组下建立http请求

3)配置http请求参数

4)添加查看结果树,便于查询运行结果

5)试着运行,查看

请求数据如下:

响应结果数据如下

获取到了城市代码,说明接口已经调通,然后就可以根据接口的测试流程来验证整个接口的功能。

本文主要介绍了接口方面的测试知识,相对比较初级,希望能对刚入行的伙伴有一点帮助,喜欢的话可以点个“在看”哟,鼓励一下。

最后: 可以关注公众号:伤心的辣条 ! 进去有许多资料共享!资料都是面试时面试官必问的知识点,也包括了很多测试行业常见知识,其中包括了有基础知识、Linux必备、Shell、互联网程序原理、mysql数据库、抓包工具专题、接口测试工具、测试进阶-Python编程、Web自动化测试、APP自动化测试、接口自动化测试、测试高级持续集成、测试架构开发测试框架、性能测试、安全测试等。

如果我的博客对你有帮助、如果你喜欢我的博客内容,请 “点赞” “评论” “收藏” 一键三连哦!


好文推荐

转行面试,跳槽面试,软件测试人员都必须知道的这几种面试技巧!

面试经:一线城市搬砖!又面软件测试岗,5000就知足了…

面试官:工作三年,还来面初级测试?恐怕你的软件测试工程师的头衔要加双引号…

什么样的人适合从事软件测试工作?

那个准点下班的人,比我先升职了…

测试岗反复跳槽,跳着跳着就跳没了…

以上是关于小白也能读懂的接口测试,接口测试并没有那么难的主要内容,如果未能解决你的问题,请参考以下文章

高中生也能读懂的Docker入门教程

没学过线代也能读懂的CSS3 matrix

网络编程懒人入门(十五):外行也能读懂的网络硬件设备功能原理速成

一文完美诠释JavaIO流,小白都能读懂的输入和输出流操作流程总结

UnitTest接口测试

小白也能看懂的插件化DroidPlugin原理-- 反射机制和Hook入门