【性能测试过程】之 脚本开发

一、前言

        性能测试前期准备工作完成之后,就到了性能测试脚本开发的环节,该环节是性能测试的基础,因为没有脚本后面的工作则无法开展,脚本开发的不对则后续场景验证就会出问题。故熟练掌握脚本开发相关的知识点并结合工具灵活应用是每一个性能测试人员必备的入门技能之一。

二、网络协议

       脚本的开发、测试场景的压测都是基于网络协议进行的,所以在需求调研阶段我们就必须要确认清楚系统的协议是什么,协议的通讯原理是什么样的,目前我们常见的协议主要有HTTP、HTTPS协议等等,在网络协议的基础上选择对应支持该协议的性能测试工具,通过工具模拟该协议的请求发送给应用服务器,并接收服务器的返回值。

三、脚本开发

       性能测试脚本的开发在系统网络协议加性能测试工具的基础上进行开发,我们想要让性能测试脚本大批量模拟用户的操作就必须要对脚本进行相对应的优化改造,在此过程中主要应用的知识点主要有参数化、关联、检查点、思考时间、集合点、事务。

3.1参数化

1、参数化的作用:将在脚本运行过程需要动态变化的值进行处理,可以让其通过函数动态生成或从文件、数据库按照一定的取值逻辑动态读取数据。

2、实际应用举例:登录脚本中的用户名、密码字段,模拟多用户登录时,就必须要将用户名、密码进行参数化处理,取值逻辑可以根据性能测试工具支持的逻辑及实际业务场景逻辑进行设定。

3.2关联

1、关联的作用:关联从某种意义上讲也是一种参数化,动态的将前一个请求的返回数据中的某个字段值动态取到保存到指定参数下,在下个请求数据中引用对应参数进行动态传值。

2、实际应用举例:下订单支付流程,订单下单成功后服务器会返回订单号,进行支付时需要根据订单号进行支付,此时如果想要让下订单支付流程大批量运行就必须要要动态将订单请求返回的订单号动态取到并在支付请求中引用。

3.3检查点/断言

1、检查点【断言】的作用:设置对应的预期值,在请求执行过程中检查对应请求服务器返回的数据是否与设定的预期值一致,一致则表示请求正常,不一致则表示请求异常。有时候请求异常并不代表服务器有问题,有时候则是业务逻辑的问题,就是服务器返回了数据,但是数据并不是我们想要的数据。

2、实际应用举例:登录接口,请求发送后服务器返回请求状态码:0000,提示:登录成功,我们设定检查点预期值为:登录成功,请求后脚本自动检查返回值,一致则说明登录请求正常,不一致则说明登录失败。【检查点在jmeter工具上叫断言,跟检查点同个意思】

3.4思考时间

1、思考时间的作用:在性能测试脚本中添加停顿,让脚本运行慢下来,在测试过程我们想要模拟真实的用户操作的场景进行压测时,我们就需要在对应的请求中加入思考时间这样脚本运行起来更加贴近于用户的真实操作。

2、实际应用举例:登录请求,在正常情况下没有思考时间时不到一秒时间久完成了请求,但真实的用户是不可能在不到一秒的时间完成登录操作的,想要模拟用户的真实操作就必须要让请求慢下来,加入对应的思考时间。

       在脚本开发的这些知识点中,参数化、关联 保证脚本的业务功能正确实现,而集合点、事务、检查点、集合点只是用来优化,强化脚本的。

3.5集合点

1、集合点的作用:模拟多用户在某一刻同时执行某一操作的效果。

2、实际应用举例:模拟抢购、同时登录、同时下单、同时支付等等场景时,就可以在对应请求中加入集合点,在运行过程中当某些请求先到了集合点步骤时会按照设定等待其他请求,待达到设定条件时这些请求就会同时执行设定为集合点的操作,例如跑步比赛,大家都在起点准备,发令枪一响,大家一块出发。

3.6事务

1、事务的作用:我们可以将脚本中的每个请求都理解为是一个独立的事务,我们也可以将一个流程的请求包含都一块叫一个事务,也可以将整个脚本视为一个整体的事务。

2、实际应用举例:登录功能包含打开首页,点击登录按钮打开登录页面,点击登录按钮提交登录请求等操作,我们在设定事务时就可以将对应这三个请求放在一个事务内。添加对应事务后在测试结果中我们就可以看到整个事务的一个响应时间、TPS结果。

四、总结

       性能测试脚本的开发不管使用什么样的性能测试工具,但是涉及到的知识点是一样的,只不过不同工具的操作不一样或者叫法不一样,只要掌握了脚本的知识点,我们就很明白我们在工具上需要做什么,知道了做什么至于怎么操作就是工具的使用问题,相对来说就很简单了。有的人可能是工具用的很熟悉但是还是不会做性能测试,我们要理解性能测试之后再通过工具去实现我们想要操作的功能,通过工具将业务功能转换为性能测试脚本,拿着脚本按照设计的场景去做场景的压测。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值