web自动化测试实战
编写web自动化测试用例;
创建自动化项目,根据用例来实现脚本
无头模式
使用selenium4自动化测试工具和junit5单元测试框架结合,如何实现的,以及有什么两点
使用了junit5中提供的注解;避免生成过多的对象,造成资源和实践的浪费,提高了自动化的执行效率;
只创建一次驱动对象,避免每个用例重复创建驱动对象造成时间和资源的浪费;
使用参数化:保持用例的简洁,提高代码的可读性;
测试套件:降低了测试人员的工作量,通过套件一次执行所有要执行所有要运行的测试用例;
使用了等待:提高了自动化运行效率,提高了自动化的稳定;
屏幕截图:方便问题的追溯以及问题的解决。
自动化测试性能
性能测试概述
性能测试的好坏最终都需要通过数据来展示,通过性能指标对应的数据来判定性能的好坏
常见的性能指标
2.1、并发
并不是只要发出请求,服务器一定会造成压力。并发强调大量用户和同时性的操作,该情况才会对服务造成压力
2.2、响应时间
2.3、事务
事务是衡量系统处理能力的指标。事务通过数越高,性能越好
每秒事务通过数(TPS):每秒系统能够处理的事务数
2.4、点击率
代表用户每秒向服务器提交的请求数,点击量率越大,服务器的压力越大
注:不是鼠标的一次点击,一次点击可能有多个请求
2.5、吞吐量
单位时间内系统处理的请求数量,体现软件系统的性能承受能力。吞吐量受服务器性能和网络性能的影响。
单位:bytes/s
2.6、资源利用率
不同系统资源的使用情况。包含CPU,内存,硬盘,网络等
性能测试的分类
3.1、一般性能测试
正常情况下和系统条件下是否满足性能指标
3.2、负载测试
验证系统在一定压力下延长系统的运行时间,直到系统出现“拐点”
3.3、压力测试
验证系统在已经处于极限负载下或者某指标已经处于饱和状态下性能的表现(一定要使系统崩溃),从而了解系统的承受极限
3.4、稳定性测试
验证系统在连续运行情况下,查看系统的各项性能指标(内存泄漏)
loadrunner工具的介绍
4.1、Virtual User Generator(VUG)
主要用来生成性能测试脚本
VUG的使用
创建一个新的测试性能脚本
打开LR自带的web系统
启动WebTours服务:D:\LoadRunner\WebTours\StartServer.bat
浏览器访问:http://127.0.0.1:1080/WebTours/
查看WebTours系统登录账号:D:\LoadRunner\WebTours\sgi-bin\users
编写性能测试脚本
打开WebTours提供的函数工具库
性能脚本的增强
事务
开始事务:lr_start_transaction
结束事务:lr_end_transaction
集合点
lr_rendezvous
当我们创建更多的虚拟用户去执行编写好的性能测试脚本,不能保证所有的虚拟用户都同时的去执行每一步报错,为了能够真正意义的实现并发,让虚拟用户执行到集合点的地方短暂的集合,在满足条件后一起执行下一个步骤
检查点
web_reg_find
检查点一般要放在请求之前
参数化
脚本录制
使用录制功能可以自动的生成性能测试脚本
4.2、Controller
创建测试场景,运行和监控场景
针对已经编好的脚本打开controller工具,创建测试场景
2.在脚本运行之前初始化虚拟用户的策略
3.开始走虚拟用户的运行
4.虚拟用户运行的时间
5.结束虚拟用户
区域一:每个虚拟用户的执行状态
区域二:控制场景的运行
区域三:显示当前可查看的监控数据
区域四:查看各项性能指标的曲线变化,通过这里的曲线变化能够大概分析出性能问题
区域五:主要显示各个图标的曲线说明
如果想要查看在性能测试执行期间,系统资源消耗的情况,需要打开相关的系统设置,来允许LR来获取对应的数据
4.3、Analysis
分析性能测试结果,出测试报告
测试报告
一般情况下,不太关注最大值和最小值,主要看平均值和标准偏差,标准偏差值越大,服务越不稳定
2.测试报表
运行的虚拟用户图
根据显示的运行虚拟用户数量可以判断出现在哪个时间段内给定服务器的负载
点击率(每秒点击数)
通过点击率也可以判断出某段时间内服务器的负载
吞吐量图
吞吐量表示的是响应返回的资源数量,其相比较点击率图像曲线稍微有些滞后的原因就是先有请求再有返回
如果请求变多但是吞吐量没变化,其原因可能是:
1、服务器响应慢了,来不及响应;
2、压力没有到服务器;
3、服务器设计一定的阈值,超过多少个请求之后就不返回响应