软件测试员必知!压力测试总共需要几个步骤?思路总结篇
在运维工作中,压力测试是一项很重要的工作。比如在一个网站上线之前,能承受多大访问量、在大访问量情况下性能怎样,这些数据指标好坏将会直接影响用户体验。今天我们就来深入了解下压力测试!
首先, 什么是压力测试 ?
软件压力测试是一种基本的质量保证行为,它是每个重要软件测试工作的一部分。软件压力测试的基本思路很简单:不是在常规条件下运行手动或自动测试,而是在计算机数量较少或系统资源匮乏的条件下运行测试。通常要进行软件压力测试的资源包括内部内存、CPU 可用性、磁盘空间和网络带宽。
压力测试涵盖,性能测试,负载测试,并发测试等等,这些测试点常常交织耦合在一起。
顾名思义: 压力测试,就是被测试的系统,在一定的访问压力下,看程序运行是否稳定/服务器运行是否稳定(资源占用情况)。
比如:2000个用户同时到一个购物网站购物,这些用户打开页面的速度是否会变慢,或者网站是否会奔溃。
压力测试 的 步骤
(1)确定存量数据的规模(用户一般会要求制造出3-5年的存量数据);
(2)确定需要进行压力测试的业务(一般是用户使用最频繁,或者业务操作复杂的业务);
(3)确定操作用户的的数量、各类操作用户的比例;
(4)峰值业务量的要求(一般是1个小时内最多要处理的笔数);
(5)对实时业务响应时间的要求(如在峰值情况下,单笔业务的处理时间(如小于60秒));
(6)对于批量处理过程的时间要求(如进行日终(月终、年终)处理、与外系统间批量数据传输时的时间)。
以上信息,通常需要业务人员来确定。
为了进行压力测试的技术准备,需要如下资料:
(1)系统概要设计(了解系统技术架构,确定测试方法);
(2)如果自己开发接口程序,需要了解接口报文规范;
(3)数据库设计(我们需要据此编写程序,准备存量数据)。
为了开发脚本需要了解如下信息:
(1)操作手册(脚本录入或者手工开发脚本);
(2)参数化脚本(动态化数据需要进行关联);
(3)脚本回放(验证脚本是否可以成功的创建数据)。
测试场景:
(1)单用户运行压力测试场景;
(2)多用户运行测试场景,查看系统资源消耗等调优工作开始。
另外,还有测试环境的事情需要落实。压力测试一般要求环境配置较高,最好与生产环境一致或者接近。
几款流行的压力测试工具
(1)JMeter
Apache JMeter是Apache组织开发的基于Java的压力测试工具,用于对软件做压力测试,它最初被设计用于Web应用测试但后来扩展到其他测试领域。 它可以用于测试静态和动态资源例如静态文件、Java小服务程序、CGI脚本、Java 对象、数据库, FTP服务器, 等等。
JMeter可以用于对服务器、网络或对象模拟巨大的负载,来在不同压力类别下测试它们的强度和分析整体性能。
另外,JMeter能够对应用程序做功能回归测试,通过创建带有断言的脚本来验证你的程序是否返回了期望的结果。
为了最大限度的灵活性,JMeter允许使用正则表达式创建断言。
(2)LoadRunner
LoadRunner是惠普旗下一款自动负载测试工具,它能预测系统行为,优化性能。LoadRunner强调的是整个企业的系统,它通过模拟实际用户的操作行为和实行实时性能监测,来帮助更快的确认和查找问题。此外,LoadRunner 能支持最宽范的协议和技术,量身定做地提供解决方案。
(3)其他测试工具
Siege是一款开源的压力测试工具,可以根据配置对一个WEB站点进行多用户的并发访问,
记录每个用户所有请求过程的相应时间,并在一定数量的并发访问下重复进行。
TCPCopy是一种请求复制(所有基于tcp的packets)工具,可以把在线请求导入到测试系统中去。
TCPCopy的特点是可以拷贝线上真实流量,模拟用户数据。
最后,软件压力测试和性能测试的区别:
二者区别在于他们不同的测试目的
软件压力测试 是为了发现系统能支持的最大负载,他的前提是要求系统性能处在可以接受的范围内,比如经常规定的页面3秒钟内响应;
所以一句话概括就是:在性能可以接受的前提下,测试系统可以支持的最大负载。
软件性能测试 是为了检查系统的反映,运行速度等性能指标,他的前提是要求在一定负载下,如检查一个网站在100人同时在线的情况下的性能指标,每个用户是否都还可以正常的完成操作等。
概括就是:在不同负载下(负载一定)时,通过一些系统参数(如反应时间等)检查系统的运行情况。比如我们说某个网站的性能差,严格上应该说在N人同时在线情况下,这个站点性能很差)。
总之,就像一个方程式:综合性能=压力数*性能指数,
综合性能是固定的:
软件压力测试是为了得到性能指数最小时候(可以接受的最小指数)最大的压力数,软件性能测试是为了得到压力数确定下的性能指数。
总结:
在项目上线之前,都需要做压力测试,目的是看下我们的网站能抗住多少的压力,能承担多少并发,如果不做压力测试,一旦出现大访问量时,我们的网站会挂掉,所以压力测试真的很重要,都应该重视起来!
欢迎加入 51软件测试大家庭,在这里你将获得【最新行业资讯】,【免费测试工具安装包】,【软件测试技术干货】,【面试求职技巧】... 51与你共同学习,一起成长!期待你的加入: QQ 群: 755431660
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/31407649/viewspace-2222015/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/31407649/viewspace-2222015/
软件测试员必知!压力测试总共需要几个步骤?思路总结篇相关推荐
- 软件测试压力测试步骤,软件测试员必知!压力测试总共需要几个步骤?思路总结篇...
在运维工作中,压力测试是一项很重要的工作.比如在一个网站上线之前,能承受多大访问量.在大访问量情况下性能怎样,这些数据指标好坏将会直接影响用户体验.今天我们就来深入了解下压力测试! 首先, 什么是压力 ...
- 压力测试总共需要几个步骤?
在运维工作中,压力测试是一项很重要的工作.比如在一个网站上线之前,能承受多大访问量.在大访问量情况下性能怎样,这些数据指标好坏将会直接影响用户体验.今天我们就来深入了解下压力测试! 首先,什么是压力测 ...
- 压力测试总共需要几个步骤?思路总结篇
在运维工作中,压力测试是一项很重要的工作.比如在一个网站上线之前,能承受多大访问量.在大访问量情况下性能怎样,这些数据指标好坏将会直接影响用户体验.今天我们就来深入了解下压力测试! 1.首先,什么是压 ...
- 做压力测试总共需要几个步骤?
压力测试分为如下步骤: (1)确定存量数据的规模(用户一般会要求制造出3-5年的存量数据): (2)确定需要进行压力测试的业务(一般是用户使用最频繁,或者业务操作复杂的业务): (3)确定操作用户的的 ...
- Fiddler抓包工具入门:软件测试员必知的抓取https协议的方法
首先给大家分享一个抓包的小故事: 小T在测试APP时,打开某个页面展示异常,于是就跑到客户端开发小A那里说:"你这个页面做的有问题,页面展示异常": 小A说:"这哪是我的 ...
- 专业程序员必知必会技巧:驯服复杂代码
感悟:虽然不想做一个程序员,但还是自做这些事情!艺术家首先是工匠!多美妙的哲理,可是路途漫长而很多人选择了放弃,我也想放弃了.更重要的是,如果希望是一个艺术家,首先是一个NB的工程师. 原文链接:ht ...
- 专业程序员必知必会的技巧:驯服复杂代码
你从入职第一天起就要应对复杂代码. 若是还未遇到过无法理解的程序,那说明你编程的年头还不够长.在行业里,要不了多久你就会碰到让人发懵的混乱代码:巨兽.面条工厂.来自地狱的遗留系统.我曾接手过一个程序, ...
- Python 程序员必知必会的开发者工具
Python 程序员必知必会的开发者工具 Python已经演化出了一个广泛的生态系统,该生态系统能够让Python程序员的生活变得更加简单,减少他们重复造轮的工作.同样的理念也适用于工具开发者的工作, ...
- 专业程序员必知的技巧:敲打代码
文/ Josh Myself to 40's http://www.embassyofperu.org/ products investment the using cheap canadian vi ...
最新文章
- Python3 使用replace 替换空格无效
- Mybatis入门:3(动态sql)
- 玩转spring boot——结合阿里云持续交付
- SQLServer代理新建或者编辑作业报错
- 老大,我就想加个索引,怎么就这么难?
- linux 性能监视命令
- js中的对象类型与具体的对象
- 2008至今,Chrome如何成长为霸主
- 415 Add Strings 字符串相加
- 小度杀入《最强大脑》总决赛,除了阴谋论还有什么值得关注的?
- android 启动第三方APP的方式
- SecureCRT8.0破解版安装教程
- web端前端自定义提示语信息
- 3DLut表实现log视频的后期调色原理
- 传统巨头抢占区块链场景高地 医疗、汽车、金融成为热门赛道
- 高德地图插件使用汇总(干货-从注册到熟练使用)
- 游戏运营的十二大组成
- ciscn_2019_n_7(exit_hook)、wdb_2018_1st_babyheap(fsop的例子)
- VC图片的半透明处理
- 使用 YAML 保存游戏数据 !