阅读1004 返回首页    go 微信


脚本调试指南__脚本录制调试指南_性能测试-阿里云

返回企业版测试脚本

脚本调试使用手册

1. 功能概述

  脚本开发完成后,需通过回放脚本、调试脚本代码逻辑和验证虚拟用户的基本业务功能是否成功,在性能测试中通过回放请求快照及执行日志信息来查看请求成功或失败后需要解决的错误和问题。

2. 脚本常见错误类型

3. 脚本调试使用流程

  • i. 脚本编辑完成后,点击调试按钮

  • ii. 调试运行完成后查看调试结果
      调试运行完毕后自动跳转到调试详情页面,查看请求快照和执行日志。

  请求快照可查看具体某个HTTP请求响应码状态、类型、请求响应时间分解,点击某个请求可展开查看请求和响应报文详细信息。

  执行日志包含日志详情和标准输出两个模块,日志详情内容主要包含用户业务运行相关日志,如压测进程启动、业务请求开始执行时间、状态、响应内容大小、请求执行线程、PTS.Logger.*日志函数输出等信息;标准输出内容主要包含“标准正常输出”和“标准错误输出”两部分,标准正常输出主要包含事务、print、system.out语句等输出信息,标准错误输出包含脚本编写错误、运行时异常等输出信息。

4. 常用脚本调试验证方法

4.1 手工验证

  • i. 手工业务验证
      在脚本执行期间或执行完成后,通过手工检查脚本业务功能是否成功实现,比如: 通过被测程序后台管理检查脚本模拟用户是否登录成功; 检查脚本下载文件是否在压力机本地; 检查脚本新增业务记录或者修改业务记录是否与查询的业务记录一致等。

  • ii. 数据库更新验证
      在脚本执行期间或执行完成后,通过数据库查询数据更新状态是否和预期脚本实现的状态一致。

  • iii. 回放快照记录
      在脚本执行完成后,通过查看性能测试回放快照的请求响应状态及响应内容来判断请求是否成功处理响应。注:此功能只限于HTTP协议。

  • iv. 日志输出记录
      在脚本执行完成后,通过查看性能测试执行日志输出记录查看脚本请求、事务处理等过程详细信息来查看和验证脚本正确性。

4.2 自动验证

  • i. HTTP响应状态码验证
      通过模板编辑和录制工具生成的脚本会自动对事物的每个HTTP请求响应码进行验证。性能测试默认请求响应码中包含300以上的响应码,定义事务失败。如果业务需求认为300到400之间的响应码是可接受的,可手工修改事务成功或失败判断语句。

  注:此功能只限于HTTP协议。

  • ii. 检查点验证
      通过设置检查点可以验证服务器响应内容是否和预期内容一致来判断请求或事物是否成功。
      手工编写脚本示例代码:

  示例代码中通过checkResponse函数检查登录请求响应码和响应内容来判断登录请求是否成功;登录成功输出“login Success!”,登录失败输出“login Failed”;

  模板编写脚本示例:

  查看执行日志标准输出:

  通过标准输出日志我们可以看到login Failed信息,表示登录请求失败。

5. 脚本调试使用案例-阿里云邮箱发送邮件脚本

  性能测试脚本调试验证通用流程:

5.1 录制脚本

  录制阿里云邮箱发送功能整个业务流程请求,上传保存。

5.2 登录手工回放、检查点验证调试

  点击调试按钮,回放录制请求,可以手工或者添加检查点进行验证脚本正确性。
  登录请求手工验证:

  登录请求响应码虽然返回200,但是通过请求响应内容检查登录失败(HTTP200响应码表示服务器成功处理请求并响应,但是从业务角度来说200响应并不表示请求业务处理成功)。
  添加检查点自动验证:

  在登录请求后面添加PTS.HttpUtilities.checkResponse(200,'"success":true')检查点函数验证服务器是否成功响应请求及请求内容是否包含"success":true文本。如果登录失败输出自定义失败标志和失败请求的响应数据到日志详情模块。
  添加检查点后进行调试,执行日志如下:

  通过日志详情看到通过检查点验证阿里云邮箱登录失败,失败响应内容中提示“请输入验证码”。

5.3 登录关联调试

  阿里云邮箱登录业务规则需要,登录请求Body表单部分字段数据需进行关联,关联完成后进行脚本调试验证关联是否成功。
  登录请求提交表单内容:

  注:标红的字体为服务器动态返回值,需要参数化关联值。
  添加关联:

  参数化登录请求表单中动态值:

  关联完成后,调试脚本结果:

  通过日志详情看到关联的服务器动态值输出及登录请求检测点日志输出。

5.4 发送邮件检查点、关联、参数化调试

  阿里云邮箱发送邮件功能检测点添加、动态值关联、参数化验证。

  发送邮件请求表单内容:

  请求Body表单中红色为需要参数化内容:发件人地址181791781%40qq.com和发件人名字181791781,参数化后实现给不通的人发送邮件 。   紫色内容为需要参数化之前关联的动态值。

  参数化Body表单中的发件人地址和名字:
  上传参数化文件,参数化发件人地址和发件人名字

  添加关联:

  参数化和关联完成后,脚本调试结果:

日志信息提示关联数据及登录事务已经成功。

参数化的具体值日志输出。

  发送邮件检查点日志输出提示发送邮件失败,失败请求响应数据提示邮件地址不存在。
修改参数化文件内容后重新上传后,调试结果如下:

5.5 单用户多循环脚本调试

  在脚本栏点击快速启动,使用单个用户多次迭代循环脚本验证参数化、关联操作等。

  快速启动任务默认执行时间为1分钟,输入1并发用户后点击确定启动任务执行,测试结果了可以查看任务执行情况及日志查看:

  在日志查看中可以看到单用户多循环迭代运行情况下参数值变化情况、以及事务检查点信息情况。

5.6 多用户多循环脚本调试

  在脚本栏点击快速启动,使用多个用户多次迭代循环脚本验证参数化、关联操作等。

  Thread-X线程号代表不同的并发用户数,通过日志可以看出不同并发用户数的各自关联动态值。

  通过日志可以看出不同并发用户数的使用的具体参数化值及检测点日志输出信息。

返回企业版测试脚本

最后更新:2016-05-06 10:44:38

  上一篇:go 录制工具使用指南__脚本录制调试指南_性能测试-阿里云
  下一篇:go 性能测试流程指南__性能测试流程体系_性能测试体系_性能测试-阿里云