• 性能测试怎么做?如何做压力测试?



    前言

    压力测试只有在服务器处于高压状态时,才能真正反映各种设置暴露出来的问题。现在很多压力测试都需要自动化测试工具的帮助。通过测试工具执行测试命令,分析网站在用户增加情况下的承载能力。

    确定测试业务范围和场景;首先确定压力测试类别、测试数据库、测试用例设计等。压力测试一般对环境要求比较高,明确需要用到的技术工具和测试场景,准备好基础的软硬件环境。

    压力测试存在哪些问题?
    操作系统默认安装,在未做任何优化的情况下实施压力测试。

    1、未考虑磁盘IO对软件的影响
    2、未考虑网络带宽对软件的影响
    3、网络软件测试,没有考虑到TCP特点
    4、各种超时参数优化
    5、测试客户端未优化
    6、并发理解有误
    7、WEB服务器,数据库,等等服务器未优化

    如果上面几项没有做优化,压力测试数据基本没有任何参考价值,任何一项没有优化,都会导致你的压力测试数据出现偏差。

    操作系统问题,操作系统是大众化软件,出厂优化都是面向大众,不可能为某个领域做单独优化。所以我们第一步需要优化操作系统。Linux 系统优化内核参数,Windows 系统优化注册表等等。

    磁盘IO这是最容易出现瓶颈的地方,常常是CPU还没有达到极限,磁盘已经不堪重负。网络IO与磁盘IO相同,TCP连接几乎所有B/S,C/S软件都是采用多线程,或者多进程技术。

    这种技术有个特点,开发者将程序设计为线程可自动伸缩模式,开启进程后会启动少量线程,当连接不断提高后,线程数逐渐增加,随着线程运行结束后,线程逐渐减少。

    超时参数在压力测试中是非常重要的参数,例如从WEB到数据库连接超时是60秒,如果有一个SQL查询超过300秒,那么后面的请求会持续排队等待,当连接数达到数据库的最大连接时,接下来的所有请求都是失败的。

    通常我们的WEB服务器超时不会超过30秒,有时我设置为10秒,一旦出现超时,宁可让该连接Timeout,不要让他影响整体服务。

    并发很多人认为并发,就是同一时间内的最大连接数,这是错误的。如果你写过多线程程序,就会发现多线程运行时又规律的。

    是顺序排队运行的,根本不是同时运行的。 所以并发是指,相对时间内能完成的连接总和,例如,每秒并发,每分钟并发等等,通常我们以秒为单位。我们目前使用的操作系统叫分时操作系统,这种系统的特点就是可能实现多用户,多任务。

    为什么做压力测试?
    如果在软件设计阶段都将这些问题元素都考虑进去,同时开发阶段严格执行。那么开发出些软件几乎不用做这个劳人伤神的压力测试。

    所以在软件设计阶段就要考虑,灵活性,扩展性,可靠性与性能,还要考虑高可用与负载均衡。同时软件优化伴随开发,持续集成,持续测试,持续部署。

    在哪里做压力测试?
    有些软件需要封闭的环境测试,不能在共享资源的环境中做测试。所以你有必要做Vlan隔离,甚至独立的路由器与交换机在封闭网络中测试。

    什么时间做压力测试?
    任何时间都可能做压力测试,为什么我将“时间”重点提出呢?目前受地球自转影响,经常闰秒,你不得不考虑这个问题。

    压力测试过程参与部门有哪些?
    运维部门、开发部门、测试部门

    下面是我整理的2022年最全的软件测试工程师学习知识架构体系图

    一、Python编程入门到精通

    请添加图片描述

    二、接口自动化项目实战

    请添加图片描述

    三、Web自动化项目实战

    请添加图片描述

    四、App自动化项目实战

    请添加图片描述

    五、一线大厂简历

    请添加图片描述

    六、测试开发DevOps体系

    请添加图片描述

    七、常用自动化测试工具

    请添加图片描述

    八、JMeter性能测试

    请添加图片描述

    九、总结(尾部小惊喜)

    世界上没有永恒的懦弱,也没有永恒的坚强,万事靠自己,但是一定要放下懦弱,活的有尊严,活出你的坚强,才真正的体现你的自信和力量,你的活才更有价值!

    抱怨!是一块坚硬的石头,横在心间如果不放下,久而久之你会发现,因为这些怨恨,自己的人生便处处有绊脚的石头。

    失败,其实也褒义的,失败意味着一个人去努力拼搏过,没有失败的人,更根本无从谈上成功二字,没有拼搏过的人是永远的失败者。

  • 相关阅读:
    辅助驾驶功能开发-功能规范篇(24)-2-影子模式功能触发规范
    织梦如何用dede:type调用指定一个栏目的描述
    【uniapp】小程序自定义一个通用的返回按钮组件
    Python requests爬虫豆瓣图片返回数据为空。
    ClickHouse(03)ClickHouse怎么安装和部署
    【比特熊故事汇2.0】|即使每天都是新的探险,他也会快乐Say Hi
    Python基于OpenCV监控老鼠蟑螂检测系统[完整源码&部署教程]
    Oracle 中绑定变量 并发控制 锁 闪回
    GORM夜谈
    (JVM)双亲委派机制
  • 原文地址:https://blog.csdn.net/m0_70102063/article/details/127264809