前面文章讲述了更多的来自用户的需求分析,如何用技术方案解决用户需求、以及最终实现的效果,解决的是软件功能与特性的问题。
软件开发接近完成的时候,包括作者在内,都会有一个疑问:软件的稳定性如何?能否经受住高负载的考验?我的业务跑在上面,出问题怎么办?本文将使用稳定性测试的方法,解决以上疑问。
简单的说,就是用测试软件录制人的操作行为得到录制的脚本,然后长时间用大量线程模拟人的操作。监控软件运行状态,并得到统计结果。
虽然开发过程中必然经过了单元测试、功能测试,但对于生信从业人员、企业用户来讲,这些概念过于专业,这里就不做过多描述了。
测试环境:
服务器端(软件部署端)
CPU:I7 6700K 4 Core 8 Threads,4.8GHz
内存:64G 3200Mhz
硬盘:Intel 760P 512G
客户端(模拟访问端)
CPU: I7 8550U
内存:16G
硬盘:三星EVO 960 250G × 2
客户端运行:测试软件 Apache JMeter 5.1.1 JConsole,连接java虚拟机,查看测试时候java虚拟机运行情况
网络环境:服务器端和客户端通过千兆有线网络连接
测试过程:
Web软件开发领域常用的压力测试工具有:Load Runner和Apache Meter,这里使用的是Apache JMeter。
点击Start,运行Recorder服务,这里运行起来一个代理服务器,在客户端(模拟访问端)浏览器中代理服务器设置好JMeter的代理服务器地址。这样,客户端所有的文档行为,就会被JMeter录制下来,所得到的各种URL地址添加到线程组里。
点击工具栏上面绿色箭头启动测试,就会看到客户端发送大量的请求,测试就开始了。这时候打开服务端的任务管理器,就能够看到,CPU负载,网络流量升高。
可以简单的描述,用户录制的脚本平均执行了237678次(换算成日常操作次数,可能相当于几年的访问量),平均响应时间最长118ms(毫秒),异常0%。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。