小白也能读懂的接口测试,接口测试并没有那么难
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自动化测试、接口自动化测试、测试高级持续集成、测试架构开发测试框架、性能测试、安全测试等。
如果我的博客对你有帮助、如果你喜欢我的博客内容,请 “点赞” “评论” “收藏” 一键三连哦!
好文推荐
转行面试,跳槽面试,软件测试人员都必须知道的这几种面试技巧!
以上是关于小白也能读懂的接口测试,接口测试并没有那么难的主要内容,如果未能解决你的问题,请参考以下文章
网络编程懒人入门(十五):外行也能读懂的网络硬件设备功能原理速成