在运维工作中,压力测试是一项很重要的工作。比如在一个网站上线之前,能承受多大访问量、在大访问量情况下性能怎样,这些数据指标好坏将会直接影响用户体验。今天我们就来深入了解下压力测试!

首先, 什么是压力测试 ?

软件压力测试是一种基本的质量保证行为,它是每个重要软件测试工作的一部分。软件压力测试的基本思路很简单:不是在常规条件下运行手动或自动测试,而是在计算机数量较少或系统资源匮乏的条件下运行测试。通常要进行软件压力测试的资源包括内部内存、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. 软件测试压力测试步骤,软件测试员必知!压力测试总共需要几个步骤?思路总结篇...

    在运维工作中,压力测试是一项很重要的工作.比如在一个网站上线之前,能承受多大访问量.在大访问量情况下性能怎样,这些数据指标好坏将会直接影响用户体验.今天我们就来深入了解下压力测试! 首先, 什么是压力 ...

  2. 压力测试总共需要几个步骤?

    在运维工作中,压力测试是一项很重要的工作.比如在一个网站上线之前,能承受多大访问量.在大访问量情况下性能怎样,这些数据指标好坏将会直接影响用户体验.今天我们就来深入了解下压力测试! 首先,什么是压力测 ...

  3. 压力测试总共需要几个步骤?思路总结篇

    在运维工作中,压力测试是一项很重要的工作.比如在一个网站上线之前,能承受多大访问量.在大访问量情况下性能怎样,这些数据指标好坏将会直接影响用户体验.今天我们就来深入了解下压力测试! 1.首先,什么是压 ...

  4. 做压力测试总共需要几个步骤?

    压力测试分为如下步骤: (1)确定存量数据的规模(用户一般会要求制造出3-5年的存量数据): (2)确定需要进行压力测试的业务(一般是用户使用最频繁,或者业务操作复杂的业务): (3)确定操作用户的的 ...

  5. Fiddler抓包工具入门:软件测试员必知的抓取https协议的方法

    首先给大家分享一个抓包的小故事: 小T在测试APP时,打开某个页面展示异常,于是就跑到客户端开发小A那里说:"你这个页面做的有问题,页面展示异常": 小A说:"这哪是我的 ...

  6. 专业程序员必知必会技巧:驯服复杂代码

    感悟:虽然不想做一个程序员,但还是自做这些事情!艺术家首先是工匠!多美妙的哲理,可是路途漫长而很多人选择了放弃,我也想放弃了.更重要的是,如果希望是一个艺术家,首先是一个NB的工程师. 原文链接:ht ...

  7. 专业程序员必知必会的技巧:驯服复杂代码

    你从入职第一天起就要应对复杂代码. 若是还未遇到过无法理解的程序,那说明你编程的年头还不够长.在行业里,要不了多久你就会碰到让人发懵的混乱代码:巨兽.面条工厂.来自地狱的遗留系统.我曾接手过一个程序, ...

  8. Python 程序员必知必会的开发者工具

    Python 程序员必知必会的开发者工具 Python已经演化出了一个广泛的生态系统,该生态系统能够让Python程序员的生活变得更加简单,减少他们重复造轮的工作.同样的理念也适用于工具开发者的工作, ...

  9. 专业程序员必知的技巧:敲打代码

    文/ Josh Myself to 40's http://www.embassyofperu.org/ products investment the using cheap canadian vi ...

最新文章

  1. Python3 使用replace 替换空格无效
  2. Mybatis入门:3(动态sql)
  3. 玩转spring boot——结合阿里云持续交付
  4. SQLServer代理新建或者编辑作业报错
  5. 老大,我就想加个索引,怎么就这么难?
  6. linux 性能监视命令
  7. js中的对象类型与具体的对象
  8. 2008至今,Chrome如何成长为霸主
  9. 415 Add Strings 字符串相加
  10. 小度杀入《最强大脑》总决赛,除了阴谋论还有什么值得关注的?
  11. android 启动第三方APP的方式
  12. SecureCRT8.0破解版安装教程
  13. web端前端自定义提示语信息
  14. 3DLut表实现log视频的后期调色原理
  15. 传统巨头抢占区块链场景高地 医疗、汽车、金融成为热门赛道
  16. 高德地图插件使用汇总(干货-从注册到熟练使用)
  17. 游戏运营的十二大组成
  18. ciscn_2019_n_7(exit_hook)、wdb_2018_1st_babyheap(fsop的例子)
  19. VC图片的半透明处理
  20. 使用 YAML 保存游戏数据 !

热门文章

  1. JVM技术细节: HotSpot的内存模型
  2. Syzmlw 非诚勿扰电影在线观看
  3. R7 5800X3D和R5 7600X哪个好 锐龙R75800X3D和R57600X对比
  4. 【学术】外罚函数与内罚函数
  5. 听听Vitalik对token设计的看法
  6. 越老越吃香的计算机专业,大四学长:最有前途的4个理工专业,毕业工作不愁,还越老越吃香...
  7. 微软官方SQLHELPER类,很实用,中文注释
  8. 卸载PCTools防火墙Group Policy被劫持
  9. 飞思卡尔弯道策略收集
  10. Roguelike大全,part 3