性能测试知识点

关于性能测试,十大错误说法:

1   应用程序必须通过功能测试后才可以测试性能。×

应该尽早的进行性能测试。性能测试可以发生在各个测试阶段中,即使是在单元层,一个单独模块的性能也可以使用白盒测试来进行评估,然而,只有当整个系统的所有成分都集成到一起后,才能检查一个系统的真正性能。

性能测试从早开始,完成一个小模块,对小模块的接口进行性能测试,一般耗费资源很少,但可以防止问题在项目最后出现,花费很大的精力去修改。

在系统代码开发和功能测试完成之后,进行性能测试的说法,是为了检查系统整体性能的做法。一般经常出现在验收性能测试中。

2   软件性能测试需要向功能测试一样,覆盖到所有功能。×

性能测试的主要目的是为了系统调优。不可能对所有的系统功能都进行性能测试。在测试设计时需要结合当时的实际系统,先分析软件可能存在的瓶颈,此时可依据 80/20原则分析:对系统资源的利用、数据大量传输、数据转换、用户使用频率、逻辑复杂度等进行分析,选择要执行的功能和场景,再依次制定性能测试的方案。

3  系统吞吐率随着并发量增加而增加。×

随着并发量的增加吞吐率并不是线性增长的。并发量从小逐渐增大,开始阶段吞吐率随着并发量的增加线性变化;当并发量达到某一值时,系统处理能力趋于饱和(也可能某一硬件条件达到临界值),此时再逐渐增大并发,会有一些请求处于等待状态,所以响应时间变慢,吞吐率趋于稳定;当并发量达到系统的最大处理能力后,再增加并发,系统处理能力会下降,吞吐率也会下降,最终可能发生宕机。

4  压力/负载/容量测试等不同类型的测试需要分开来测试  ×

现实场景是复杂的,测试也需要尽可能的模拟负载的场景。在一个整体的系统性能测试场景中,应该包括各个类型的测试。而需要检查某一个方面的指标或分析某个性能问题时,尽量保证场景简单、单一、容易模拟。

5  客户给出性能指标,我们一定要想法设法达到。×

根据用户提供的指标进行可行性分析,分析这些指标在理想状态下是否可以达到。比如有这么一个要求:有一台服务器,希望能承载10000个用户每秒 200kb的传输。从CPU、Disk、网卡等方面分析都是很难达到的,也是很难测试的。需要和客户商讨增加硬件配置或者通过其他途径来解决。

6  性能测试主要就是性能测试工具的使用。×

测试工具可以自动生成我们所需要的报表;依靠性能测试工具就能准确定位系统瓶颈;

测试工具在测试中只能起到辅助性作用。而测试方案、测试场景的分析、问题的定位这才是性能测试的关键。不要期望测试工具能够生成我们想要的东西(报表、瓶颈分析),工具只是尽可能多的提供我们分析的依据。

7  在线用户数就是并发用户数,在线用户数高意味着PV大。×

在线用户数

侠义上来说,可以理解为已登录系统的用户数;广义来说,可以理解为当前时间访问系统的用户数。用户登录了,可以不进行操作,只有不退出就是在线用户数

在线用户数只是统计了登录系统的用户数量,这些用户不一定都对系统进行操作,对服务器产生压力。

并发用户数

可以分两种:

1)同一时间点或时间段,执行同一(业务)操作的用户数

2)同一时间点或时间段,执行不同(业务)操作的用户数

“并发”顾名思义,就是同时操作。而这种操作可以是实际的执行功能,也可以只是“连接”(此时通常叫做“并发连接”)。从计算机工作原理的角度出发,“并发”也只是一个相对较短时间段内的概念,而从信息系统的角度出发,也是与的总的操作时间相比,相对较短的一时间段中的同时性。因此,“并发”与考察问题的粒度有关

系统用户数

侠义上来说,可以理解为系统注册用户数;广义上来说,可以理解为所有访问过系统的用户数,这个指标的意义在于让测试工程师了解系统数据中的数据总量和系统最大可能有多少用户同时在线。

在线用户数和并发用户数的区别和关系

区别:

1、在线用户数是不可测的,是由系统统计出来的;并发用户是可测的,测试工具设置多少用户,就是测试多少并发用户数

2、在线用户数不是所有用户都正在并发交互,如一个网页,可能有20%是在浏览,20%在提交事务,50%在挂着没操作,所以真正的并发的用户不多。

关系:一般测试的时候并发用户取在线用户的20%-30%进行测试,来推测系统的在线用户数

并发用户数*用户访问页面数=PV

8  测试或开发环境都可以用来做进行性能测试。×

性能问题分析可以在类生产环境上进行,配置可以有些差别,但是整体性性能测试、验收性性能测试要尽量在用户生产环境下进行。

9  提高硬件配置就可以提高性能。×

随着软件规模的扩大,提高硬件配置只是解决性能问题的一个基本手段。因为如果软件自身存在性能问题,再多的资源可能也不够用,例如:内存泄露问题,随着时间的增加,内存终究会被耗尽,最后导致系统崩溃;数据库连接等配置信息、数据库死锁是和硬件很难挂钩的;算法逻辑问题导致程序缓慢。即使要提高配置,也要首先用性能测试的方式得出哪些硬件可能存在瓶颈。

10  性能测试独立于功能测试. ×

一方面,整体性能测试的场景设计要求的系统功能非常熟悉;

另一方面,功能测试可以发现性能问题,性能测试也能发现功能问题。很多性能问题时由于软件自身功能缺陷引起的。如果应用系统功能不完善或者代码运行效率低下,通常会带来一些性能问题。功能测试可能会发现这些问题。

描述HTTP请求重定向过程

重定向简介

HTTP中的重定向就是当客户端访问一个服务器不可用的资源后,服务器会返回一个响应包,响应包中带有另一个链接,然后浏览器会自动跳转到另一个链接,无需用户点击,是浏览器自动跳转的。

重定向原理

1、 客户端访问了一个不可用的资源,然后服务器返回了一个响应包。

响应包有以下特点:

1、 status code = 3xx,表示这是一个重定向包

2、 响应头中有一个location属性,对应的值为需要跳转到的新链接。

3、 浏览器自动发起一个http请求访问新链接

4、 服务器返回新链接响应的数据,在浏览器中展示

永久重定向和临时重定向

status code = 301 永久重定向,搜索引擎或者浏览器会自动将书签、历史记录、搜索引擎对应的记录中旧链接更新为新链接。下次就访问新链接。

status code = 302 临时重定向,原来的URL仍然有效,下次还访问旧链接。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值