一、了解现阶段非常流行的前后端分离、RESTful系统架构设计风格
移动互联网兴起后,一套系统通常包含多个前端,除了PC端,还有手机APP、小程序等。对于大型应用或追求用户体验的应用而言,前后端的分离是必要的。
RESTful是非常流行的架构设计风格。在REST中,通过URL进行资源定位,用HTTP动作(GET、POST等)描述操作,通常用JSON格式发送和返回数据。
相应的,测试人员只需要获取3个信息就能编写脚本,完成接口的自动化测试和压力测试。这3个信息分别是(1)接口的访问网址,(2)HTTP动作(GET、POST等),(3)请求数据的JSON格式。
二、获取接口测试3个关键信息的途径
1.直接问接口的开发人员,无论是负责使用接口的前端开发人员,或者负责提供接口的后端开发人员,都是可以提供接口的URL、HTTP动作和请求数据的JSON格式。
2.通过向后端开发人员获取项目的swagger-ui网址,然后在swagger-ui系统上查看接口信息。通常为了便于接口文档的编写和维护,后端开发人员会使用Swagger来编写接口文档。所以测试人员只要访问开发人员提供的swagger-ui网址就可以查看到接口的URL、HTTP动作和请求数据的JSON格式。示例图如下:
3.提供给PC端调用的接口,可以使用SwitchyOmega设置代理后,通过jmter的录制功能获取接口信息。示例图如下:
4.提供给微信小程序调用的接口,可以通过微信开发者工具的调试器界面查看获取接口信息。示例图如下:
三、使用免费版本的接口测试软件Postman验证接口
1.JWT(JSON Web Token)常用于前后端之间以JSON对象安全地传输信息。JWT简单的说,第一步访问登录验证接口,提供账号密码后,接口会返回一串字符作为token。后续测试其他接口时,只需要在http请求的header添加该token值作为参数,就能身份验证通过,没有token参数、参数错误或参数过了有效期,则接口会返回token错误。
2.根据JWT的逻辑,测试人员进行接口测试时,第一步都要先访问登录接口,验证通过后,获取了后端返回的token值,才能开始其他接口的验证。
3.验证接口时,可以在Postman官网下载并使用免费版本的接口测试软件Postman。相比Jmeter,Postman在验证单个接口时,操作更简单,验证结果展示也更直观。示例图如下:
四、使用Jmeter编辑脚本进行自动化测试和压力测试
1.使用Jmeter编辑的测试脚本常用结构示例图如下:
2.登录接口执行后,需要使用jmeter的“正则表达式提取器”获取token,保存到变量后,作为“HTTP信息头管理器”的token参数。示例图如下:
3.使用jmeter的“聚合报告”可以统计接口的“吞吐量(Throughput)”相当于接口的TPS。
QPS是每秒查询率,是一台服务器每秒能够响应的查询次数,是对一个特定的查询服务器在规定时间内所处理流量多少的衡量标准,即每秒的响应请求数,也即是最大吞吐能力。
TPS是每秒事务数。一个事务是指一个客户机向服务器发送请求然后服务器做出反应的过程。客户机在发送请求时开始计时,收到服务器响应后结束计时,以此来计算使用的时间和完成的事务个数。
在针对单接口的时候TPS = QPS。聚合报告的示例图如下:
版权归原作者 yangsa1516 所有, 如有侵权,请联系我们删除。