性能测试脚本编写
1. 软件测试人员在软件开发过程中的任务都有哪些
实你所讲的测试人员,在软件开发中,有一个专职岗位:软件测试工程师。
其主要任务和职责可以概括如下:
1、依据需求文档及设计文档,编写测试用例;
2、完成产品的集成测试与系统测试;
3、根据测试计划,搭建测试环境;
4、依据测试用例执行手工测试,反馈跟踪产品BUG及用例缺陷;
5、测试工具/系统的研究如果软件还没有成型,则有:
需求分析;
编写测试计划;
编写测试用例;
做好任务分配;
如果有开发的概要设计文档或详细设计文档,则可以对相关的文档进行文档测试。
如果软件已成型,可以进行测试了,则:
测试用例评审;
根据实际情况修改测试用例;
执行测试用例;
提交BUG;
跟踪BUG进度并回归测试;
编写测试报告;
如果软件开发快结束时:
编写自动化和性能测试计划;
编写自动化脚本(如有需要);
编写性能测试脚本(如有需要);
执行自动化测试和性能测试;
性能测试分析;
性能测试报告;
给售前售后人员培训等等。
和应用;
2. Python实现性能自动化测试竟然如此简单
一、思考❓❔
1.什么是性能自动化测试?
2.Python中的性能自动化测试库?
locust库
二、基础操作
1.安装locust
安装成功之后,在cmd控制台将会新增一条命令,可输入如下命令查看:
2.基本用法
三、综合案例演练
1.编写自动化测试脚本
2.使用命令行运行
3.打开web ui界面进行配置
设置并发用户数为10,每5秒创建一个用户
压测过程截图
美轮美奂的压测报告
压测失败详情
下载压测统计数据
下载的压测统计数据csv文件
六、总结
出处:https://www.cnblogs.com/keyou1/
3. 性能测试:Socket协议脚本编写
一般C/S架构的系统使用SOCKET协议
RemoteHost 服务端地址和端口号
连接是否成功?rc=0 表示建立连接成功
由socket0 通道发送buf0里的数据
将socket通道返回的数据存放到buf1中
关闭socket0通道
第一个参数socket0是指已经建立的socket连接的名称
第二个参数buf0是需要发送的buf(在data.ws中维护)
向流套接字发送指定长度的缓冲区数据
int lrs_length_send(char socket_descriptor , char buffer , int location_option ,
[char locators ], [char additional_params ],LrsLastArg );
socket_descriptor 套接字标识符
buffer 缓冲区标识符
location_option(定位模式) 使用哪种方法进行定位
locator (定位器,跟上一个参数对应) 对应上面的参数,对应的locator参数如下:
LrsLastArg 参数结尾标识
成功返回0,否则返回错误码
在这个例子中,buf0通过socket0发送,数据使用了参数化,NameParameter是一个参数,从一系列的数据中取值。 4是长度数据,但是,随着参数NameParameter变化,长度也在随着变化,比如:David长度应该改为5,Michael长度应该改为7。
int lrs_length_receive(char socket_descriptor , char buffer , int location_option ,
[char locators ], [char additional_params ],LrsLastArg );
lrs_length_send ("socket0", "buf0", LeftRightBoundaries, "LB=LBoundary","RB=:RBoundary", "Offset=10", LrsLastArg);
socket_descriptor 套接字标识符
buffer 缓冲区标识符
location_option (定位模式) 使用哪种方法进行定位:
locator(定位器,跟上一个参数对应) 对应上面的参数,对应的locator参数有三种组合如下:
additional_params(额外参数) 主要包括缓冲区长度格式和长度计算相关的其它问题
LrsLastArg 参数结尾标识
在静态或接收到的缓冲区中搜索出现的字符串,将出现字符串的缓冲区部分保存到参数中
lrs_save_searched_string (char *s_desc, char *buf_desc, char *param_name, char *left_boundary, char *right_boundary, int ordinal, int offset, int param_len);
原始数据为:"0|普通指令下达成功|10000031|"。
lrs_save_searched_string ("socke0","buf1","wtbh","LB/BIN=|","RB/BIN=|",2,0,-1);
输出结果: "wtbh =10000013" 。在以左边界和右边界第2次出现的地方,获取左右边界里面的所有的值.
原始数据为:"0|普通指令下达成功|10000031|"。
lrs_save_searched_string("socke0","buf1","wtbh","LB/BIN=|","RB/BIN=|",1,0,-1);
输出结果:"wtbh = 普通指令下达成功",在以左边界和右边界第1次出现的地方,获取左右边界里面的所有的值
原始数据为:"0|普通指令下达成功|10000031|"
lrs_save_searched_string("socke0","buf1","wtbh","LB/BIN=|","RB/BIN=|",1,4,-1);
• 输出结果:"wtbh = 指令下达成功",在以左边界和右边界第1次出现的地方,获取左边界为起点的第4个字符后面的数据。
将静态或接收到的缓冲区保存到参数中
lrs_save_param (char *s_desc, char *buf_desc, char *param_name, int offset, int param_len);
参数:
从数据包中第34个字符开始连续取8个字符。
将用户、静态或接收到的缓冲区保存到参数中
lrs_save_param_ex (char *s_desc, char *type, char *buff, int offset, int length, char *encoding, char *param);
参数:
