性能测试基础知识(四)编写性能测试方案

前提

已具备明确的测试计划:明确系统的上线时间点、当前项目的进度、所处的阶段、可以供调配的硬件资源和性能测试人员;以测试计划为依据开展方案编写工作,梳理性能测试案例应采用什么策略测试、设计测试场景的执行顺序、难点及性能关注点。

一、测试场景的设计

1、明确场景类型:
单场景设计:单一业务流程的处理模式设计。
混合场景设计:多个业务流程同时混合处理模式的设 计。

2、明确测试前置条件:例如需要准备多少并发用户、页面需要多少存量测试数据、软硬件配置是否符合测试要求

3、定义事务:
测试方案中需要明确定义好压测事务,方便分析响应时间。
事务可以根据业务实际操作步骤进行定义,例如操作从登录-进入测试页面-操作按钮-退出登录,每一个操作定义成一个事务,压测结果中,可以通过jmeter监控结果分析每一个事务的性能指标,如果某个事务响应时间较长时,可以把事务控制器的“Generate parent sample”选项去掉,这样可以分析该事务下具体哪一个请求异常。

二、明确监控对象

根据性能测试需求,明确需监控的性能指标,比如TPS、平均响应时间、点击率、并发连接数、CPU利用率、内存利用率、IO等,明确可能出现的性能瓶颈点(比如带宽、服务器软硬件资源配置不足、数据库死锁、Web服务器服务转发等)。
具体性能指标可以查看另一篇文章: 性能测试基础知识(三)性能指标

三、明确测试策略

1、明确性能测试的类型:需要进行哪些类型的性能测试, 比如负载测试、压力测试、稳定性测试等。

2、明确性能测试场景的执行顺序,一般是先执行单场景, 后执行混合场景测试。

3、如果是进行压力测试,还需要明确加压的方式,是需要绝对并发还是相对并发,比如按照开始前5分钟,20个用户,然后每隔5分钟,增加20个用户来进行加压。

性能测试策略可以查看另一篇文章: 性能测试基础知识(一)性能测试策略

四、性能测试工具的选取

性能测试工具有很多,常见的有LoadRunner、JMeter、nGrinder等,那么如何来选取合适的性能测试工具呢?
开始灵魂拷问:
在这里插入图片描述

1、被压测系统使用什么网络协议?
压测工具需支持被测系统的协议

工具HTTP/HTML‌、FTP‌、SMTP/POP3/IMAP‌、TCP/UDP、LDAP‌、JDBC‌、SOAP/XML-RPC‌、RESTful Web Services‌、WebSocket‌、MQTT‌、CoAP、DNSDatagram Protocol (DGRAM)‌JMS‌
JMeter
LoadRunnerXX

2、哪些工具适用于同步请求/适用于异步请求的压测?
JMeter、LoadRunner都适用

  • 同步请求‌
    客户端发送请求后,必须等待服务器的响应才能继续执行后续任务。如果服务器响应延迟,整个过程将被阻塞,影响其他操作的执行(举个例子:你妈妈喊你吃饭,你说等一下,然后你妈妈就一直在旁边等着你,等你做完了,再一起去吃饭)‌
  • 异步请求‌
    客户端发送请求后,可以继续执行其他任务。服务器响应延迟不会影响客户端的执行,因为请求是在后台处理的(再举个例子:你妈喊你吃饭,你说等一下忙完再就过去,你妈妈转身就走了,你忙完了,直接过去吃饭)‌

2、压测时连接的类型的长连接还是短连接?一般连接多久能释放?

  • 长连接(Long Connection)‌
    是指客户端与服务器之间保持一个持久化的连接,一旦连接建立,就可以保持长时间的通信。在长连接中,客户端和服务器可以随时发送和接收数据,而不需要每次都进行连接和关闭,适用于需要实时通信和长时间保持连接的场景,如即时通讯软件、在线游戏等,可以提高通信效率和稳定性。

  • 短连接(Short Connection)‌
    是指在客户端和服务器之间建立一次短暂的连接,完成一次通信后立即关闭连接。在这里插入图片描述

3、性能测试工具并发加压的方式是多线程加压还是多进程加压?
一般采用的都是多线程加压

  • 多线程共享进程的内存空间,创建和销毁线程的成本较低,适用于I/O密集型任务,如网络请求、文件读写等。例如,可以使用多线程下载多个URL,每个线程负责一个URL的下载任务,但多个线程共享内存,可能导致资源竞争和死锁;
  • 多进程每个进程有自己的内存空间,进程之间互不干扰,适合并行计算,适用于CPU密集型任务,如数据处理和计算。例如,可以使用多进程并行计算斐波那契数列,每个进程负责一部分计算任务,但创建和销毁进程的成本较高,占用更多系统资源,进程间通信(IPC)相对复杂,效率较低。

五、明确硬件配置和软件配置

1、硬件配置一般包括:
服务器的CPU配置、内存配置、硬盘存储配置、集群环境下还要包括集群节点的数量配置等(集群配置要求至少有两台服务器)。

2、软件配置一般包括:
(1)操作系统配置:操作系统的版本以及参数配置需要同线上保持一致。
(2)应用版本配置:应用版本要和线上保持一致,特别是中间件、数据库组件等的版本,因为不同版本,其性能可能不一样。
(3)参数配置:比如Web中间件服务器的负载均衡、反向代理、参数配置、数据库服务器参数配置等。

3、网络配置:一般为了排除网络瓶颈,除非有特殊要求外,通常建议在局域网下进行性能测试,需要明确压测机以及被测系统服务器的带宽情况,是千兆网还是万兆网,服务器网络配置是虚拟机共用还是独享带宽,这对我们以后分析性能瓶颈会有很大的帮助,在网络吞吐量较大的待压测系统中,网络有时候也很容易成为一个性能瓶颈。

参考书籍《软件性能测试、分析与调优实践之路》

秘籍分享完毕,继续修炼~
wuu~~又是学到东西的一天!
给自己(也给我)点个赞!!!

在这里插入图片描述

内容概要:本文深入解读了OWASP MASTG v1.7.0的移动应用安全测试指南,涵盖应用源代码完整性检查、文件存储完整性检查、反编译与逆向工程、权限管理和证书固定等多个方面。文章强调移动应用程序面临的常见威胁及应对措施,并详细介绍反汇编、文件完整性检测、调试技术和证书固定的绕过方法。这些主题旨在帮助安全研究人员深入了解并加强移动应用程序的安全防护。适用人群:从事信息安全和移动应用开发的专业人士,尤其是负责安全测试和审计的工程师。 使用场景及目标:该指南主要应用于移动应用安全性评估、开发和渗透测试等领域。帮助企业和团队识别、防范各类安全隐患,确保移动应用程序的安全性和合规性。其他说明:本文还涉及大量实战技巧和技术细节,如ADB命令、逆向工程工具(radare2、IDA Pro等)的具体应用方法、动态与静态分析工具的选择,为移动安全研究人员提供了详尽的实际操作参考资料。 适合人群:具备一定编程基础,工作1-3年的研发人员。对信息安全领域有兴趣的学习者也可从中受益匪浅。 适用场合及目标:适用于移动应用开发、测试、维护等全流程,特别是关注安全性评估、漏洞挖掘、逆向工程及防御对策的企业和个人开发者。 其他说明:文章内容丰富,覆盖广泛的主题,既包含了理论知识又包含了大量的实用技术,能够满足不同类型用户的需求。无论是希望提升自我技术水平的一般技术人员,还是需要进行专业安全测评的专业人士都可以从此份文档中获益。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值