性能测试之大促带来的灾难
作者:网络转载 发布时间:[ 2015/7/28 14:40:29 ] 推荐标签:软件测试技术 性能测试
性能测试是产品测试流程的必经之路,产品性能的好坏不但关系到产品的用户体验,对于像电子商务这一的应用来说,性能的好坏直接关系到客户的网站是否有好的用户忠诚度,从而也影响到订单转化率等跟客户盈利直接相关的指标。
客户与用户
客户指的是购买我们产品的企业,他们购买了产品之后,经过定制上线,展示给终的用户来使用。因此客户非常关心用户的使用感受,因为这直接决定他们的网站或者终端是不是受欢迎,能不能留住用户。
对于一个应用服务的性能来说,客户的关注点:
页面/客户端的响应时间: 直接影响终用户的使用体验,在很大程度上影响用户忠诚度
服务器的吞吐量:系统每小时处理的业务量
大并发用户数:在响应时间合理的情况下,能够承受的并发用户数
是否能稳定的长期运行,大数据规模等。
如何理解性能测试?
简单的说,是给系统一些压力,看系统跑得快不快,好不好。说得文一些,是让系统工作在一定的负载状态下,把系统工作的性能指标与期望的性能指标相比较。
性能测试策略和方法的出发点,是要模拟客户对系统的访问行为,包括并发、压力、长时间的访问等。
性能测试的分类:
客户端性能测试:关注用户体验,即访问应用程序时的响应时间。
服务器端性能测试:注重在不同负载条件下的应用程序的健壮性。
性能测试的类型:
压力测试:
抢购,是一种短时间内把系统负载压到极限的例子,测试时,一般通过压力测试来模拟。
压力测试主要考察让系统运行在比较大的负载条件下的性能表现。可以发现系统工作在多任务并发情况下可能出现的性能问题。由于压力测试下系统工作在非常高的负载情况下,所以衡量性能运行指标一般为吞吐率和错误率,而不包括响应时间。
压力测试的目的:
发现并解决在并发、长时间运行或者大量数据情况下才出现的系统缺陷,如数据库死锁,代码级死锁,内存泄漏等。
在指定并发用户数下是否能达到吞吐率目标。
从上述两个方面可以得知,压力测试按照目的的不同可以分成两类:
系统的性能瓶颈:通过标准是系统在CPU运算能力饱和状态下(CPU占有率大于95%)的吞吐率和错误率。
系统的崩溃点:不关心具体的吞吐率和错误率指标,关注考察吞吐率、错误率指标与负载关系曲线。
--->什么是吞吐率?
通常吞吐率是指应用系统在单位时间内实际处理的交易数量(交易吞吐率)或页面点击数量(页面点击吞吐率)。
压力测试通过的标准:
在承受指定负载的前提下,系统的吞吐率是否达标、并发用户数是否达标、出错率是否达标。
吞吐率测试往往可以用于产品新旧版本之间的比较试验。比如,在新版本增加某个新功能之后,你想验证新功能的引入会不会对性能产生负面的影响,可以通过在相同的硬件条件下做吞吐率的比较试验来确认。
响应时间测试:
响应时间测试是另一个常见的衡量系统快慢的运行指标。一般来说,响应时间越短越好。
响应时间测试测的是在正常负载状态下,被测系统的服务器端和客户端响应时间(不考虑外部网络传输影响)。即,响应时间的测试结果更接近通常状态下系统真实性能表现。
响应时间测试的目的:正常负载(CPU使用率50%左右)前提下,保证服务器或者客户端的操作响应时间不超过规定的标准。
--->网页响应时间的组成:在网络上传输数据、在服务器端处理、服务器将响应数据传回到客户端、在浏览器中显示。
在网络上数据传输的时间取决于页面数据量的大小、网络速度和网络上的拥挤程度。
在浏览器中显示的时间取决于客户端程序(JavaScript, Dojo,Flash等)的复杂程度以及运行浏览器的客户计算机的处理速度。
相关推荐
更新发布
功能测试和接口测试的区别
2023/3/23 14:23:39如何写好测试用例文档
2023/3/22 16:17:39常用的选择回归测试的方式有哪些?
2022/6/14 16:14:27测试流程中需要重点把关几个过程?
2021/10/18 15:37:44性能测试的七种方法
2021/9/17 15:19:29全链路压测优化思路
2021/9/14 15:42:25性能测试流程浅谈
2021/5/28 17:25:47常见的APP性能测试指标
2021/5/8 17:01:11