构建企业级自动化压力测试平台
来源:互联网 发布:基于hadoop的数据分析 编辑:程序博客网 时间:2024/05/17 04:45
企业要求软件交付的时间越来越短,用户对软件产品体验的要求越来越高,软件性能作为决定用户体验的关键要素,性能测试这道坎必须坚持不懈,不能放松。
如果还是采用传统的性能测试方式,每次版本迭代由测试工程师准备环境和数据、开发脚本,进行测试,至少要花费好几天甚至好几周的功夫,效率上明显是跟不上的。采用自动化的压力测试策略,将测试环境和数据准备工作自动化,每次只对增量功能由测试工程师进行脚本开发和测试,存量功能由测试平台自动进行测试,能够显著提高测试效率和质量。
构建企业级自动化压力测试平台,一方面能够减少测试工程师花费在测试准备和重复性工作上的时间,另一方面能让测试工程师从繁复的低价值工作中解放出来,专注于发现性能问题。
如何构建企业级自动化压力测试平台呢?
自动化压力测试平台至少需要包含3个部件:脚本开发客户端,自动调度和管理服务端,大数据统计分析端。
脚本开发客户端:快速完成可复用、兼容和扩展性强的脚本开发。
自动调度和管理服务端:管理测试脚本和测试任务,管理负载机和测试结果,自动生成测试报告
大数据统计分析端:聚合所有测试相关数据,对测试结果进行图表分析和穿透查询分析。
如何选择脚本开发客户端?
脚本开发客户端有很多商业或开源的工具可供选择,如Loadrunner、Jmeter、Gatling、Grinder、Locust、HyperPacer等,具体选择哪一个可以从以下方面考虑:
- 灵活强大的脚本编程能力:具备丰富和函数库和数据处理组件,具备强大的扩展开发能力,具备灵活调用外部组件库的能力。
- 指标化的结果数据转储能力:能够将测试结果以指标化的数据格式转储到大数据统计分析系统。
- 具备脚本后端执行调度能力:能在服务器上通过命令行或后端进程的方式解析和执行脚本。
自动调度和管理服务端,一般都需要自行开发,商业产品很昂贵,扩展应用难度高,开源的产品几乎没有。一般来说,自动调度和管理服务端至少要具有以下功能:
- 脚本管理功能:能够将客户端开发的脚本进行统一存储和管理。
- 任务管理功能:能够新建测试任务,支持立即执行和按计划任务执行,支持通过接口调度触发执行。
- 负载机管理:执行负载机的增删改查和负载能力配置。
- 测试报告管理:能够自动通用生成测试报告。
由于压力测试过程中会产生大量的测试统计数据,自行开发统计分析平台难度较高,幸运的是目前有很多开源的产品可供选择,比如ELK Stack。选择大数据统计分析端,可以从以下方面考虑:
- 强大的数据汇总和聚合分析能力
- 多样化的图表展示能力
HyperPacer自动化压力测试平台实现架构
- 构建企业级自动化压力测试平台
- 构建企业级的自动化测试平台
- testlink+jenkins完成自动化测试平台构建
- Jmeter&Ant构建自动化测试平台
- Jmeter压力测试自动化
- LAMP平台的的构建、加速及压力测试
- IOS自动化测试压力测试
- 用java构建企业级自动化框架(首篇-制定测试者使用语言1)
- 用java构建企业级自动化框架(首篇-制定测试者使用语言2)
- 用java构建企业级自动化框架(首篇-制定测试者使用语言3)
- 搭建Android持续构建和自动化测试平台
- 用java构建企业级自动化框架(前序篇)
- 用java构建企业级自动化框架(第四篇-构建框架分布式并发执行测试用例功能1)
- 用java构建企业级自动化框架(第四篇-构建框架分布式并发执行测试用例功能2)
- Android的monkey测试、自动化压力测试
- WinRunner:强大的企业级自动化测试工具
- 项目级和企业级的自动化测试
- WinRunner:强大的企业级自动化测试工具
- linux运维-用户操作
- 已处理证书链,但是在不受信任提供程序信任的根证书中终止。0x800b0109(-2146762487)”,
- 余数计算方法及其使用方法
- POJ 2559 Largest Rectangle in a Histogram + POJ 2082Terrible Sets(DP/单调栈)
- html 常用基本元素
- 构建企业级自动化压力测试平台
- python 中偏函数 partial 的使用
- Deep Learning-TensorFlow (8) CNN卷积神经网络_《TensorFlow实战》及经典网络模型(上)
- 2017跟着小虎玩着去软考--趣味好玩解析2015年下半年信息系统项目管理师上午试题56-60题
- 基于DragonBoard 410c的家庭智能环保卫士——(10)数据库python代码实现
- uikit——UIView——view hierarchy
- Shiro入门-整合验证码
- python基础知识之条件语句
- leetcode 18. 4Sum