性能测试常见的面试题 软件测试中的性能测试 负载测试 压力测试 如何识别性能瓶颈 负载均衡原理 性能测试步骤

1.之前有做过性能测试吗,做过的话是做了那些呢

这个可以说使用常用的工具(jmeter,loadrunner)来完成,也可以说用的第三方软件(这种普遍都是傻瓜型软件,直接装好就能用,腾讯gt等)。当然不知说这些,还要说在项目的哪一块用过,有没有遇到什么问题之类的。

2.Jmeter的工作原理是什么?

jmeter是建立一个线程池,多线程运行sampler来产生负载,通过添加监听器(聚合报告、图形结果和察看结果树等)来记录测试结果 ,还可以通过断言来验证结果的正确性。
jmeter是运行在java虚拟机上的,每个进程都会占用内存资源,如果以进程方式来运行的话,每台负载机上的进程数量不能太多,要做大量并发就要大量负载机。jmeter可以通过线程组驱动多个线程,运行测试脚本对被测服务器发起负载,每个负载机都可以运行多个线程组。
控制机:参与脚本的运行,可以指挥远程负载机运行,收集远程负载机的测试结果。
负载机:向被测应用系统发起负载,控制机会把运行的脚本隐蔽原样copy远程负载机,如果运行的测试脚本有参数文件及依赖的jar包时,需要手动把这些东西copy到负载机。但是要保证与原始脚本路径相同。最终,负载机会收集被压服务器返回的结果再传递给控制机显示在聚合报告中。

3.你如何设计负载?标准是什么?

负载测试计划多少用户数量、使用什么类型的机器、以及在什么环境下进行。
主要基于两个重要的文档,任务分布图和事务信息,任务分布图告诉我们在负载时间段内,某一个事务使用的用户数,高峰使用率及低峰使用率均来自该文档;
事务信息告诉我们事务名及优先级,在设计场景时可以参考。

4.几个典型的场景,如何基于jmeter设计测试脚本?

比如:参数化、关联、控制TPS、接口加密验签、阶梯式加压、集合点、检查点等;

5.什么是负载测试?什么是性能测试?什么是压力测试?

性能测试:性能测试是和功能测试相对应的。根据用户场景进行的单个用户操作,是属于功能测试领域,主要是验证软件是否可以满足用户的功能需求。比如,单个用户使用系统,系统各项功能是否满足用户的需求。
如果把这1个用户的操作放大,变为100个,1000个,10000个用户同时操作软件,验证软件系统是否满足用户的需求。那么这个就是软件性能测试。通常使用性能测试工具对软件开展并发的访问,同时监控系统各项指标,比如CPU、内存、网络、磁盘等关键部件的使用情况。目标是发现软件在大用户量的情况下,系统的工作情况。
性能测试是负载测试、压力测试、并发测试的统称。

负载测试:通过逐步加压的方式来确定系统的处理能力,确定系统能承受的各项阀值。
压力测试:逐步增加负载,使系统某些资源达到饱、极限甚至失效的测试。目的是用来发现系统的软件业务处理能力、系统硬件的极限处理能力等。

6.性能测试步骤有哪些?

1. 制定目标和分析系统
2. 选择测试度量的方法
3. 学习的相关技术和工具
4. 制定评估标准
5. 设计测试用例
6. 运行测试用例
7. 分析测试结果
制定目标和分析系统
每一个性能测试计划中第一步都会制定目标和分析系统构成。只有明确目标和了解系统构成才会澄清测试范围,知道在测试中要掌握什么样的技术。
目标:
1. 确定客户需求和期望
2. 实际业务需求
3. 系统需求

7.什么时候开始执行性能测试?

功能测试通过之后;一般需要进行性能测试的系统,都是用户量比较大,业务使用比较频繁,比较重要的功能模块

8.负载均衡原理、实现方式

http重定向协议实现负载均衡
原理:根据用户的http请求计算出一个真实的web服务器地址,并将该web服务器地址写入http重定向响应中返回给浏览器,由浏览器重新进行访问。
dns域名解析负载均衡
原理:在DNS服务器上配置多个域名对应IP的记录。例如一个域名www.baidu.com对应一组web服务器IP地址,域名解析时经过DNS服务器的算法将一个域名请求分配到合适的真实服务器上。
反向代理负载均衡(Nginx)
原理:反向代理处于web服务器这边,反向代理服务器提供负载均衡的功能,同时管理一组web服务器,它根据负载均衡算法将请求的浏览器访问转发到不同的web服务器处理,处理结果经过反向服务器返回给浏览器。
IP负载均衡
原理:在网络层通过修改目标地址进行负载均衡。
数据链路层负载均衡
原理:在数据链路层修改Mac地址进行负载均衡。

9.什么是集合点?设置集合点有什么意义?Loadrunner中设置集合点的函数是哪个?lr中的集合点跟场景设置中全部初始化后在运行有什么区别?

在性能测试过程中,需要模拟大量用户在同一时刻,访问系统并同时操作某一任务,可以通过配置集合点来实现,多个用户同时进行某操作;
  集合点可以在服务器上创建密集的用户负载,使LoadRunner能够测试服务器在负载状态下的性能。
  设置集合点函数:lr_rendezvous(“Meeting”); // Meeting是集合点名称

10.你如何识别性能瓶颈?

自己的理解,瓶颈产生在以下几方面:
● 网络瓶颈,如带宽,流量等形成的网络环境
● 应用服务瓶颈,如中间件的基本配置,CACHE等
● 系统瓶颈,这个比较常用:应用服务器,数据库服务器以及客户机的CPU,内存,硬盘等配置
● 数据库瓶颈,以ORACLE为例,SYS中默认的一些参数设置
● 应用程序本身瓶颈,

  • 1
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值