一个在外包的朋友,在晚上一起吃夜宵的时候,就吐槽现在功能测试真的太难了,我还会一点自动化测试,性能测试不说找不到工作,干脆就是面试都没有,现在这个行业就是这样,大厂疯狂的裁员,一边疯狂的招募高阶技术人员。当时他说要花5个月时间去把自动化测试,性能,安全,都打通,结果5个月后给我发来offer截图我直呼牛逼。
一、自动化测试的学习方向一般有以下几类
UI自动化测试
接口自动化测试
单元测试
性能测试
其他
二、前期的技能准备:
掌握一门编程语言,不需要深入,掌握常用语法及相关概念,理解编程的相关思想就可以了,语言推荐现在比较流行额python或者java;
掌握软件测试的基础理论,毕竟自动化也需要遵循测试用例;
了解Javascript,CSS,xml,html的相关知识;
环境搭建(网络相关知识、linux、数据库、dokcer等)的能力。
自动化测试工具推荐
针对web端的自动化测试工具selenium;比如,你先手要知道什么是元素?怎么去定位一个页面元素?怎么去控制元素?怎么控制浏览器等等;还比如,你要熟练怎么编写页面自动化脚本?怎么讲页面元素与代码分离?数据驱动等等。。。
针对APP的自动化测试工具Appium;包括appium基础、appium自动化(android和IOS)等;
针对接口测试的postman;
像类似loadrunner这种性能测试工具可以考虑放在后阶段进行;
JMeter 执⾏原理
JMerer 通过线程组来驱动多个(也可以理解为LR⼯具⾥⾯的虚拟⽤户)运⾏测试脚本对⽬标服务器发起⼤量的⽹络请求,在每个客户端上可以运⾏多个线程组,也就是说⼀个测试计划⾥⾯可以包含N个线程组。
线程属性(线程数)
⼀个线程可以理解为对应模拟⼀个⽤户,所以线程数越多,那么也就认为可以模拟的⽤户数越多
调度器
设置何时开始运⾏
持续时间
测试计划持续多⻓时间
启动延迟
延迟多⻓时间开始运⾏测试,也就是说点击执⾏后,仅做初始化不会执⾏测试,等待延迟到达后开始运⾏测试,执⾏的时间为持续时间设置的时间
聚合报告
响应时间图
在测试计划中添加后端监听器
后端监听器是异步侦听器,可以将数据推入到数据库中,提供了InfluxDB,graphite两个选项(推荐使用InfluxDB)
在两个系统之间有许多相似点
1. 利用标签(tags/labels)有效地支持多维度量指标
2. 使用相同的压缩算法
3.都可扩展集成
4.允许使用第三方进行监控系统的扩展
添加监控服务器资源
Jmeter 安装监控服务器资源插件
添加性能监控接口(CPU,Memory 内存,Disks I/O 硬盘,Swap 网络)
服务器需要配置 startAgent 才可获取
在linux中启动 ./startAgent.sh,可能提示:“-bash: ./startAgent.sh: 权限不够”
那么需要执行命令:chmod +x startAgent.sh(增加权限)
生成测试报告
使用管理员权限打开命令提示符,进入 Jmeter 的tests(测试文件目录)
jmeter -n -t script/文件名.jmx -l 性能测试文件名.jtl -e -o 指定测试报告创建文件夹/(自动创建)
-n : 非GUI 模式执行JMeter
-t : 执行测试文件所在的位置及文件名
-r : 远程将所有agent启动用在分布式测试场景下,不是分布式测试只是单点就不需要-r
-l : 指定生成测试结果的保存文件, jtl 文件格式
-e : 测试结束后,生成测试报告
-o : 指定测试报告的存放位置(必须不存在)
例:jmeter -n -t script/TestDev.jmx -l testdev.jtl -e -o performanceReport/
在命令提示符中键入 jps 获取运行的 Java 程序 pid
在 jvisualvm 可查看对应程序的占用情况
如果性能测试能达到这种程度,拿下20k轻轻松松。
点击下方卡片加入我们的软件测试交流群,免费领取上方配套资源!我们一起学习,一起加油!