软件压力举简神测试是一种基本的质量保证行为,它是每个重要软件测试工作的一部分。软件压力测试的基本思路很简单:不是在常规条件下运行手动或自动测试,而是在计算机数量较少或系统资源匮乏的条件下运行测试。通常要进行软件压力测试的资源包括内部内存、CPU 可用性、磁盘空间和网络带宽。
二、测试目标
如:50笔/秒,响应时间5秒内,成功率99.99%
三、测试准备
如:用户、测试场景、测试数据、垫底数据
四、软件压力测试和性能测试的区别:测试目的不同
软件压力测试是为了发现系统能支持的最大负载,他的前提是要求系统性能处在可以接受的范围内,比如经常规定的页面3秒钟内响应(在性能可以接受的前提下,测试系统可以支持的最大负载)。
软件性能测试是为了检查系统的反映正亏,运行速度等性能指标,他的前提是要求在一定负载下,如检查一个网站在100人同时在线的情况下的性能指标,每个用户是否都还可以正常的完成 *** 作等。
概括就咐并是:在不同负载下(负载一定)时,通过一些系统参数(如反应时间等)检查系统的运行情况。比如我们说某个网站的性能差,严格上应该说在N人同时在线情况下,这个站点性能很差)。
总之,就像一个方程式:综合性能=压力数*性能指数,
综合性能是固定的:软件压力测试是为了得到性能指数最小时候(可以接受的最小指数)最大的压力数,软件性能测试是为了得到压力数确定下的性能指数。
参考:
https://baike.baidu.com/item/%E8%BD%AF%E4%BB%B6%E5%8E%8B%E5%8A%9B%E6%B5%8B%E8%AF%95/10364657?fr=aladdin
https://blog.csdn.net/bwf_shwangzhanbu/article/details/84588593
一个压力测试的流程:
1、明确测试目标
2、制定测试计划
3、实施测试,收集参数
4、分析测试结果
5、给出优化方案
一 、明确测试目标:如果是客户的需求,那需要向客户确认,有清楚的性能指标参数,测试时就是保证系统达到该指标并能良好运转,即压力测试。如果是自己的系统需要有一个评估,那就需要完整迹羡山的得到该系统的几个临界点,拿到完整的性能曲线,从而来分析部署情况,即为性能测试。不管是哪个,知道了需求,才能制定计划。
性能测试的目标是发现重大的系统瓶颈。你可以想象一个系统由一系列的瓶颈组成;发现并改善一个瓶颈往往会在其他地姿中方产生一个新的瓶颈。例如,我曾为一运行微软Windows CE的器件部门工作。我们发现的第一大性能问题体现在某一具体硬件环境下的内存管理中。我们把问题分离出来,改善了内存分配的效率。尔后再次运行我们的测试,又找到了一个新的瓶颈,这次体现在网络吞吐量上(throughput)。解决了这个问题后,我们接着又为下一个瓶颈改善而工作,然后再下一个,直到整个系统都达到了性能目标。要记住的是:关键在于要尽早订立性能目标,否则你可能不知道什么时候该停止性能测试。
二、制定测试计划:确定使用什么工具,着重哪些参数,设置线程数,方法执行次数,执行时间,是否多个接口同时进行测试等等。
三、实施测试,收集参数:选一个施压工具,来向部署好的服务发起高并发请求,同时关注和收集性能参数。这个是我们花费时间最多的地方。通常该阶段需要反复执行,来得到想要的数据。通常来说,我们可以使用JMeter LR AB 自己写多线程等各种方式,之后介绍一下JMeter。
四、分析测试结果:即根据上一节的参数派虚介绍来进行参数分析。
五、给出优化方案:如果是代码逻辑耗费cpu,就优化算法;如果是redis等数据库耗时,就增加节点,减少读取,读写分离,使用内存等;如果是外在条件限制,则与外部们沟通问题,共同优化等等。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)