在线客服
扫描二维码
下载博学谷APP扫描二维码
关注博学谷微信公众号
在软件测试的流程中,其中有一步是进行压力测试。所谓压力测试就是让被测试的系统,在访问的压力下还能不能稳定运行。举个例子,让一万的用户同时访问一个网站,看看网站是否会崩溃或是变慢,这就是在进行压力测试。那么压力测试到底是怎么运行的呢?本文就来详细为大家分析压力测试步骤。
1、压力测试的定义:
软件压力测试是一种基本的质量保证行为,它是每个重要软件测试工作的一部分。软件压力测试的基本思路很简单:不是在常规条件下运行手动或自动测试,而是在计算机数量较少或系统资源匮乏的条件下运行测试。通常要进行软件压力测试的资源包括内部内存、CPU 可用性、磁盘空间和网络带宽。压力测试涵盖,性能测试,负载测试,并发测试等等,这些测试点常常交织耦合在一起。
2、压力测试的步骤:
(1)确定存量数据的规模(用户一般会要求制造出3-5年的存量数据);
(2)确定需要进行压力测试的业务(一般是用户使用最频繁,或者业务操作复杂的业务);
(3)确定操作用户的的数量、各类操作用户的比例;
(4)峰值业务量的要求(一般是1个小时内最多要处理的笔数);
(5)对实时业务响应时间的要求(如在峰值情况下,单笔业务的处理时间(如小于60秒));
(6)对于批量处理过程的时间要求(如进行日终(月终、年终)处理、与外系统间批量数据传输时的时间)。
以上信息,通常需要业务人员来确定。
3、压力测试和性能测试的区别:
压力测试和性能测试的区别在于他们不同的测试目的。
软件压力测试 是为了发现系统能支持的最大负载,他的前提是要求系统性能处在可以接受的范围内,比如经常规定的页面3秒钟内响应;所以一句话概括就是:在性能可以接受的前提下,测试系统可以支持的最大负载。
软件性能测试 是为了检查系统的反映,运行速度等性能指标,他的前提是要求在一定负载下,如检查一个网站在100人同时在线的情况下的性能指标,每个用户是否都还可以正常的完成操作等。概括就是:在不同负载下(负载一定)时,通过一些系统参数(如反应时间等)检查系统的运行情况。比如我们说某个网站的性能差,严格上应该说在N人同时在线情况下,这个站点性能很差)。
总之,就像一个方程式:综合性能=压力数*性能指数,综合性能是固定的:软件压力测试是为了得到性能指数最小时候(可以接受的最小指数)最大的压力数,软件性能测试是为了得到压力数确定下的性能指数。
4、压力测试常见工具:
(1)Apache JMeter
JMeter作为一款广为流传的开源压测产品,最初被设计用于Web应用测试,如今JMeter可以用于测试静态和动态资源,例如静态文件、Java 小服务程序、CGI 脚本、Java 对象、数据库、FTP服务器等等,还能对服务器、网络或对象模拟巨大的负载,通过不同压力类别测试它们的强度和分析整体性能。另外,JMeter能够对应用程序做功能测试和回归测试,通过创建带有断言的脚本来验证你的程序返回了你期望的结果。为了最大限度的灵活性,JMeter允许使用正则表达式创建断言。
(2)阿里云PTS
阿里云性能测试(Performance Testing)是一个SaaS性能测试平台,具有强大的分布式压测能力,可模拟海量用户真实的业务场景,让应用性能问题无所遁形。PTS平台特色包括提供压测机,无需安装软件;脚本场景监控简单化,省时、省力;分布式并发压测,施压能力无上限;快速大规模集群扩容、支持几十万用户及百万级TPS性能压测;80%以上用户基本不需要花费额外的成本。
以上就是压力测试的步骤分析。总之,压力测试作为软件测试流程中必不可少的重要环节,发挥着巨大的检测作用,能够有效检查出系统存在的实际问题。
— 申请免费试学名额 —
在职想转行提升,担心学不会?根据个人情况规划学习路线,闯关式自适应学习模式保证学习效果
讲师一对一辅导,在线答疑解惑,指导就业!
相关推荐 更多
为什么要采用自动化测试,自动化测试有什么优势?
很多人都在说软件自动化测试,作为非测试行业的小白来说,甚至还不明白自动化测试是什么。学过软件测试的同学都了解,在学习过程中肯定会接触到手动测试和自动化测试来各种形式。那为什么要采用自动化测试呢?自动化测试有什么优势?
10589
2019-08-14 10:19:41
Mysql数据库存储的原理
Mysql是最流行的关系型数据库管理系统,在 WEB 应用方面 MySQL 是最好的 RDBMS(Relational Database Management System:关系数据库管理系统)应用软件之一。那么今天我们来深入分析一下Mysql数据库存储的原理。
11894
2019-07-02 15:42:41
软件测试面试题汇总:测试计划(1)
随着移动互联网的发展,软件测试求职者越来越多,针对许多同学的需求,我们来复习一下有关测试计划的知识点。测试计划是软件测试面试的常见问题,也是同学们必须掌握的基础知识。
8516
2019-07-03 10:53:10
自学软件测试需要学什么内容?零基础可以学吗?
自学软件测试需要学什么内容?零基础可以学吗?软件测试需要学习基础功能测试、接口自动化、Web端自动化、移动自动化、性能测试等等方面的知识技能。比起研发技术,零基础学习者更适合学习测试技术,因为难度相对简单,入门门槛低。熟练掌握软件测试技能后,也可以往技术性更强或是是管理的方向发展。下面来看看零基础小白的软件测试学习路线吧!
5460
2019-10-15 11:44:23
前端单元测试到底测什么?
单元测试通俗的解释是对软件对某块单元进行测试,只有很好地完成单元测试,才能更好地进一步完成集成测试、功能测试等。对软件中的最小可测试单元进行检查和验证,也就是说一个测试单元往往是一个原子型函数。
4004
2021-01-21 14:54:24