行业资讯
【干货分享】接口测试的定义和介绍
2019-05-28
小厚老师今天给同学们带来的是接口测试的知识,有感兴趣的同学么?话不多说开始分享:

一、接口的定义:

接口是一个非常宽泛的概念,比如生活中,插电脑网线的插口也叫“接口”。当然,这不是我们要讨论的范围。在软件开发和测试的接口通常叫 APIApplicaTIon Programming Interface),就是软件系统不同组成部分衔接的约定。

二、协议接口    为什么需要接口?当然是为了数据或资源的传递。假如,你要在自己的网站上做一个天气预报功能,难道要自己发射一颗卫星么?就算你有钱有能力,卫星收集的数据怎么传给你的网站?当今我们很难在一个系统中做到绝对的闭环,那么就必须要进行与外部数据或资源的传递。如果想让数据传递双方正常交流,所以就需要使用协议了。接下来继续思考,如果我想让一批西瓜从山东运往北京怎么做?

1、路线:高速公路、铁路、空运、海运...2、装箱:纸箱、冷冻柜、集装箱、泡沫箱...   这里的路线可以看做协议(httpsoapsmtptcp...),这里的装箱指的是数据的传输格式(form-datajsonxmlfile...)。


三、前后端分离

 

前端和后端分离是近年来 Web 应用开发的一个发展趋势。 这种模式将带来以下优势:   ①后端可以不用必须精通前端技术(HTML/JavaScript/CSS),只专注于数据的处理,对外提供接口。

前端的专业性越来越高, 通过调用接口获取到数据,从而专注于页面的设计。前后端分离增加接口的应用范围,开发的接口可以应用到Web页面上,也可以应用到移动APP上,或者是其他外部系统

 

四、常用的接口测试工具

 

1)、Postman

Postmangoogle开发的一款功能强大的网页调试与发送网页HTTP请求,并能运行测试用例的的Chrome插件。其主要功能包括:

· 模拟各种HTTP requests

从常用的 GETPOST 到 RESTful 的 PUT 、 DELETE …等等。甚至还可以发送文件、送出额外的 header

· Collection 功能(测试集合)

Collection 是 requests的集合,在做完一個测试的時候, 你可以把這次的 request 存到特定的Collection 里面,如此一來,下次要做同样的测试时,就不需要重新输入。而且一个collection可以包含多条request,如果我们把一个request当成一个test case,那collection就可以看成是一个test suite。通过collection的归类,我们可以良好的分类测试软件所提供的API.而且 Collection 还可以Import 或是 Share 出來,让团队里面的所有人共享你建立起來的 Collection

· 人性化的Response整理

一般在用其他工具來测试的時候,response的内容通常都是纯文字的 raw, 但如果是 JSON ,就是塞成一整行的 JSON。这会造成阅读的障碍 ,而 Postman 可以针对response内容的格式自动美化。JSON、 XML 或是 HTML 都會整理成我们可以阅读的格式

· 内置测试脚本语言

Postman支持编写测试脚本,可以快速的检查request的结果,并返回测试结果

· 设定变量与环境

Postman 可以自由 设定变量与Environment,一般我们在编辑request,校验response的时候,总会需要重复输入某些字符,比如urlpostman允许我们设定变量来保存这些值。并且把变量保存在不同的环境中。比如,我們可能会有多种环境, development 、 staging 或 local, 而这几种环境中的 request URL 也各不相同,但我们可以在不同的环境中设定同样的变量,只是变量的值不一样,这样我们就不用修改我们的测试脚本,而测试不同的环境

2)、Jmeter

Apache JMeterApache组织开发的基于Java的压力测试工具。用于对软件做压力测试,它最初被设计用于Web应用测试,但后来扩展到其他测试领域。它可以用于测试静态和动态资源,例如静态文件、Java 小服务程序CGI 脚本、Java 对象、数据库、FTP 服务器, 等等。JMeter 可以用于对服务器、网络或对象模拟巨大的负载,来自不同压力类别下测试它们的强度和分析整体性能。另外,JMeter能够对应用程序做功能/回归测试,通过创建带有断言的脚本来验证你的程序返回了你期望的结果。为了最大限度的灵活性,JMeter允许使用正则表达式创建断言。

Apache jmeter 可以用于对静态的和动态的资源(文件,ServletPerl脚本,java 对象,数据库和查询,FTP服务器等等)的性能进行测试。它可以用于对服务器、网络或对象模拟繁重的负载来测试它们的强度或分析不同压力类型下的整体性能。你可以使用它做性能的图形分析或在大并发负载测试你的服务器/脚本/对象。


JMeter的作用

1.能够对HTTPFTP服务器进行压力和性能测试 也可以对任何数据库进行同样的测试(通过JDBC)。

2.完全的可移植性和100% java

3.完全 Swing 和轻量组件支持(预编译JAR使用 javax.swing.*)包。

4.完全多线程 框架允许通过多个线程并发取样和 通过单独的线程组对不同的功能同时取样。

5.精心的GUI设计允许快速操作和更精确的计时。

6.缓存和离线分析/回放测试结果。

JMeter的高可扩展性

1.可链接的取样器允许无限制的测试能力。

2.各种负载统计表和可链接的计时器可供选择。

3.数据分析和可视化插件提供了很好的可扩展性以及个性化。

4.具有提供动态输入到测试的功能(包括Javascript)。

5.支持脚本编程的取样器(在1.9.2及以上版本支持BeanShell)。

在设计阶段,JMeter能够充当HTTP PROXY(代理)来记录IE/NETSCAPEHTTP请求,也可以记录apacheWebServerlog文件来重现HTTP流量。当这些HTTP客户端请求被记录以后,测试运行时可以方便的设置重复次数和并发度(线程数)来产生巨大的流量。JMeter还提供可视化组件以及报表工具把量服务器在不同压力下的性能展现出来。

 

相比其他HTTP测试工具,JMeter最主要的特点在于扩展性强。JMeter能够自动扫描其lib/ext子目录下.jar文件中的插件,并且将其装载到内存,让用户通过不同的菜单调用。

 

好了,今天小厚老师的课就分享到这了,如果对同学们有帮助那就太好了!


咨询热线
预约试听:025-86665061
官方公众号:ZhenghouSoft
技术热线:025-86665061
联系地址
南京总部:南京市鼓楼区湖南路16号5楼
重庆中心:重庆市渝中区投资大厦6楼
武汉中心:江夏区光谷智慧园16栋
微信公众号
联系我们
咨询热线:025-86665061
友情链接
Copyright © 2018 南京正厚软件 苏ICP备17057415号 网站地图 XML地图