首页 > 其他分享 >软件测试学员求职面试准备-第6天(性能测试综合篇)

软件测试学员求职面试准备-第6天(性能测试综合篇)

时间:2023-06-07 18:36:56浏览次数:39  
标签:请求 响应 求职 性能 测试综合 并发 测试 用户数 软件测试


 

1.  性能测试流程

2.  需求分析
测试对象:常用的核心业务,数据量、并发量较大,比如:注册,登录,搜索,添加购物车,下单,支付
性能指标:要求 500 万用在 8 小时内完成
测试场景:单一场景,测试某一个单一功能,
混合场景,多功能组合的场景,多业务测试

3.  测试计划
测试目标、测试人员安排、测试进度安排
压力机选择:配置、要求,数量
风险

4.  测试方案
测试工具:jmeter。loadrunner
测试环境:数据库,服务器,架构设计,有条件下尽量和生产环境(线上环境)一致
测试策略:单一场景,测试某一个单一功能,
混合场景,多功能组合的场景,多业务测试
监控工具:Windows 系统perfmon.exe ,Linux中NMON

5.  用例设计
6.  测试执行
7.  定位分析问题
前端
后端:代码、软件、硬件
网络

8.  你们项目的性能测试结果是什么样的,具体的吞吐量,响应时间,错误率。
参考答案:
我们是普通制造业的项目,性能需求没有太高,响应时间是在 4s 左右,每秒能够处理
50 笔事务(tps 是 50),错误率我们公司要求的是不超过千分之六,也就是成功率不得低于
99.4,在实际测试的时候,错误率是 99.5%。算是达标。

我们是互联网行业,测试的时候,响应时间在 500ms 左右,用户体验还是很不错的,然后每秒能够处理大约 800tps 的业务量。错误率我们公司要求的是不超过千分之六,也就是成功率不得低于 99.4,在实际测试的时候,错误率是 99.5%。算是达标。

TPS:
参考标准:
?  金融行业:1000TPS~50000TPS,不包括互联网化的活动

?  保险行业:100TPS~100000TPS,不包括互联网化的活动

?  制造行业:10TPS~5000TPS

?  互联网电子商务:10000TPS~1000000TPS

?  互联网中型网站:1000TPS~50000TPS

?  互联网小型网站: 500TPS~10000TPS

响应时间:
?  互联网企业:500 毫秒以下,例如淘宝业务 10 毫秒左右。

?  金融企业:1 秒以下为佳,部分复杂业务 3 秒以下。

?  保险企业:3 秒以下为佳。

?  制造业:5 秒以下为佳。

9. 如何理解压力、负载、性能测试测试?
参考答案:
性能测试是一个较大的范围,实际上性能测试本身包含了性能、强度、压力、负载等多方面的测试内容。
压力测试是对服务器的稳定性以及负载能力等方面的测试,是一种很平常的测试。
增大访问系统的用户数量、或者几个用户进行大数据量操作都是压力测试。
而负载测试是压力相对较大的测试,主要是测试系统在一种或者集中极限条件下的相应能力,是性能测试的重要部分。
100 个用户对系统进行连续半个小时的访问可以看作压力测试,那么连续访问 8 个小时就可以认为负载测试,1000 个用户连续访问系统 1 个小时也可以看作是负载测试。 实际上压力测试和负载测试没有明显的区分。测试人员应该站在关注整体性能的高度上来对系统进行测试。

10.Jmeter 为什么要参数化
第一点:多用户登录的时候,如果不进行参数化,就没法演示了,需要使用 CSV 将参数放到文件,来演示多用户登录
第二点:在进行录制的时候,有可能存在第二个请求的参数是从第一个请求中获取出来的,需要在第一个请求下,去将参数提出取来,再在第二个请求中进行参数化

11.你用什么机器对服务器进行压力测试
按照规范的话,需要使用一台性能比较好服务器来对服务器进行压力测试。
在 Linux 系统下搭建测试环境,然后进行测试。
可以说使用的 Jmeter 进行的测试,前期需要搭建的环境包括 Java MySQL  等环境 如果我们测试的并发量比较大,单台机器没法满足,可以进行分布式压力测试。通过主从机方式部署分布式测试环境。
使用 Jmeter,在从机上,设置端口,启动 jmeter-server 服务,在主机上,配置从机 ip,端口,然后调用远程从机,进行启动压力测试就可以。

12.  吞吐量、QPS、并发数、响应时间(RT)概念
QPS  每秒查询率,因特网上,经常用每秒查询率来衡量域名系统服务器的机器的性能,其即为 QPS。
对应请求数/sec,即每秒的响应请求数,也即是最大吞吐能力。
原理:每天 80%的访问集中在 20%的时间里,这 20%时间叫做峰值时间。  
公式:(  总 PV 数  * 80% ) / (  每天秒数  * 20% ) =  峰值时间每秒请求数(QPS)  。
机器:峰值时间每秒 QPS /  单台机器的 QPS =  需要的机器  。
每天 300w PV  的在单台机器上,这台机器需要多少 QPS?  
( 3000000 * 0.8 ) / (86400 * 0.2 ) = 139 (QPS)。
一般需要达到 139QPS,因为是峰值。
响应时间(RT)  :响应时间是指系统对请求作出响应的时间
吞吐量 :吞吐量是指对网络、设备、端口、虚电路或其他设施,单位时间内成功地传送数据的数量(以比特、字节、分组等测量)。

13.  服务端和客户端的性能分析从哪些角度来进行
服务端
1. 数值说明
测试完成的总事务数
平均请求响应时间
统计意义上的平均响应时间
除特殊情况之外的最大响应时间
最短响应时间
最大响应时间
吞吐量,和 ab 的每秒处理请求数相同
流量,权衡
2.测试并发性能
3.测试获得结果分析
a)整个场景中的网络传输量
b) Request per second:每秒处理的请求数,即每秒事务数(TPS),一般来说 100~200 是比较理想的范围
c) Time per request:每个请求所花的时间,即平均事务时间。此数值一般有两行,一般关注后一行的数值,也就是计算请求平均响应的时间。
d) Transfer rate:平均每秒的网络流量,此数据可以帮助排除是否存在网络流量过大导, 致响应时间延长的问题。
服务端性能测试的几个注意事项:
a) 性能测试最好在本地进行,至少要保证服务器和测试机都在内网中,这样才能排除网络的
干扰,更准确的测出系统本身的问题。
b) 必须根据服务端应用的实际情况选用合适的输入参数,这样可以预估出和目标性能相似
的测试。
 
客户端
稳定性测试的三个要点:
a) 应用的运行实际要尽可能的长,
b) 保持运行时是多线程运行状态
c) 尽可能使用多的机型或者操作系统进行测试

14.  性能测试关注哪些指标
从外部看,性能测试主要关注如下三个指标
吞吐量:每秒钟系统能够处理的请求数、任务数。
响应时间:服务处理一个请求或一个任务的耗时。
错误率:一批请求中结果出错的请求所占比例。
从服务器的角度看, 性能测试主要关注 CPU、内存、服务器负载、网络、磁盘 IO 等

15.  你这个项目做性能测试的时候,并发量设置多大?
具体的数据访问量,在线用户数量
一般情况下,大型系统(业务量大、机器多)做压力测试,10000~50000 个用户并发,中小型系统做压力测试,1000-5000 个用户并发比较常见。
参考回答:
我们公司设置的并发量,在 1000 用户,或者 2000 用户。
在线用户数量在峰值的时候,我们最高是 1w 用户。

16.  参数化具体用在哪些路径上?
凡是请求,基本都要带参数,带参数,就有可能进行参数化。
购物车:带参数,买的什么商品,买了几个。
搜索,关键词,排序方式,类别,热度,价格区间
分类:参数信息参数化

17.  性能测试中设置了哪些公共参数
公共参数实际上就是接口中的一些公共参数,我上家公司接口中的公共参数有 appVersion 版本号,deviceName 设备名称,source,authSign 签名信息等这样的字段 所以在性能测试的过程中要把这些参数进行设置

18.  服务器 Linux 上能不能直接进行性能测试?
不能,脚本需要通过 windows 调试好,然后放到 linux 上运行。在 linux 上运行的时候,只能
通过 non GUI 形式进行启动 jmeter,然后需要注意的是,csv 文件在 windows 上和 Linux 上要
统一路径,最好使用相对路径,放到统一目录下边。

19.  性能测试如何保障 Jmeter  同时有 100 个用户在线?
可以在 jmeter 中使用同步定时器功能,同步定时器可以设置集合点,比如设置 100,这样当达到 100 并发的时候,才会执行相应的接口请求。

20.  性能测试指标

20.1.  用户数

1 注册用户数
注册用户数指软件中已经注册的用户,这些用户是系统的潜在用户,随时都有可能上
线。这个指标的意义在于让测试工程师了解系统数据中的数据总量和系统最大可能有多少用
户同时在线。
 
2 在线用户数
在线用户数是指某一时刻已经登录系统的用户数量。在线用户数只是统计了登录系统
的用户数量,这些用户不一定都对系统进行操作,对服务器产生压力。
 
3 并发用户数
 不同于在线用户数,并发用户数是指某一时刻向服务器发送请求的在线用户数,他是
衡量服务器并发容量和同步协调能力的重要指标,从这个含义上讲,我们可能会如下两种理
解:  同一时刻向服务器发送相同或者不同请求的用户数,也就是说,既可以包括对某一业务的
相同请求,也可以包括对多个业务的不同请求 同一时刻向服务器发送相同请求的用户数,仅限于某一业务的相同请求

20.2.  事务的响应时间
事务是指用户在客户端做一种或多种业务所做的操作集,事务的响应时间就是衡量用户执行这些操作集所花费的时间。在性能测试中,一般通过计算事务的开始时间和结束时间的差值来获取事务的响应时间。
一个事务表示一个“从用户发送请求->web server 接受到请求,进行处理-> web server 向 DB获取数据->生成用户的 object(页面),返回给用户”的过程,一般的响应时间都是针对事务而言的。

20.3.  每秒点击数
 每秒点击数是指每秒钟像 web 服务器提交的 HTTP 请求数,它是衡量服务器处理能力的一个常用指标。需要注意的是,这里的相应时间并非鼠标的一次单击操作,因为在一次单击操作中,客户端可能向服务器发出多个 HTTP 请求,切勿混淆。

20.4.  吞吐率
吞吐率通常指单位时间内从服务器返回的字节数,也可以单位时间内客户提交的请求数。吞吐率是大型 web 系统衡量自身负载能力的一个重要指标,一般来说,吞吐率越大,单位时间内处理的数据就越多,系统的负载能力也强。吞吐率与很多因素有关,服务器的硬件配置,网络的宽带及拓扑结构,软件的技术架构等。

20.5.  业务成功率  指多用户对某一业务发起操作的成功率。例如,测试网络订票系统的并发处理性能,在早上 8:00——8:30 半小时的高峰里,要求能支持 10 万比订票业务,其中成功率不少于 98%。也就是说系统允许 200 笔订票业务超时或者因其他原因导致未能订票成功。

20.6.  TPS
TPS 表示服务器每秒处理的事务数,他是衡量系统处理能力的一个非常重要的指标,
在性能测试中,通过检测不同用户的 TPS,可以估算出系统处理能力的拐点。

20.7.  资源利用率
资源利用率就是指资源的使用情况
CPU 使用率 70%—80%,内存使用率 80%以下
网络带宽利用率  100Mbps=12.5MB/s

21.  计算并发用户数
21.1.  根据 PV 计算公式:
比如一个网站,每天的 PV 大概 1000w,根据 2/8 原则,我们可以认为这 1000w  pv 的 80%
是在一天的 9 个小时内完成的(人的精力有限),那么 TPS 为:
   1000w*80%/(9*3600)=246.92 个/s,取经验因子 3,则并发量应为: 246.92*3=740

21.2.  根据系统用户数计算:
如果是新系统,就要根据多种因素考量,相关的说法有:
1、在线用户或者终端数:即同时在使用应用系统的用户,可能在浏览,可能在做交易。如果是知道了,一般并发用户数取在线用户的 10%-30%。(思考时间适当调短或者不用,不要使用回放录制的思考时间)
2、交易总数和预期响应时间:如果你知道了每天(8 小时)要完成 20000 笔交易,每笔交易希望在 5 秒内,那么可以预估并发用户数为 20000/(8×3600)×5,当然这个并发数还要根据你实际测出的响应时间再调整
3、八二原则:一般可以认为 80%的用户在 20%的时间内完成工作,所以峰值压力的时候,一般并发数要乘以 80%/20%=4
4、如果你的系统终端数量是固定的,比如就有 100 个客户端,那么极限压力就是这 100 个客 户 端 都 疯 狂 工 作 , 所 以 峰 值 并 发 数 也 就 是 100 , 去 掉 脚 本 中 的 思 考 时 间 。

 

 

标签:请求,响应,求职,性能,测试综合,并发,测试,用户数,软件测试
From: https://blog.51cto.com/jcy58/6434247

相关文章