新手入门:全面讲解Web性能测试知识点
Posted 博为峰
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了新手入门:全面讲解Web性能测试知识点相关的知识,希望对你有一定的参考价值。
我们都知道,Web系统是一个功能复杂、结构庞大的应用系统。由此,在做Web系统的测试时,我们需要做的测试种类非常多,涉及面也非常广,比如:并发测试、压力测试、负载测试、稳定性测试、配置测试、网络测试以及大数据量测试,等等。
今天,我们主要为测试新手们提供一些Web性能测试的内容,希望通过回顾知识点+经验总结的方式,能让大家在做Web系统测试时上手更快。
针对服务器而言,性能测试主要关注响应时间、系统吞吐量、点击率、系统访问量、服务器资源等。
相比C/S架构的应用系统来说,Web应用系统在数据获取方面,需要通过与应用服务器,后台数据库交互来实现。(这是因为所有的用户数据都存储在数据库服务端,数据持久化只能通过前后端交互得以实现。)
而对于用户来说,用户更加关注打开页面需要多长的加载(响应)时间。由此可见,用户更加关注减少加载时间的方法。即,如何缩短页面加载时间,提升请求响应速度等。
那么,针对不同业务、不同的板块,我们应该做哪些方面的测试呢?
1)单业务
单业务,通常指Web系统的核心业务和用户使用频繁的业务。这是Web系统性能测试的重点,针对单业务需要进行:
并发测试:常规情况下,不同并发用户数的平均响应时间,检查程序或数据库的连接及交互是否存在问题。
压力测试:用来获取最大并发数,找系统中的性能瓶颈在哪里。
负载测试:用来获取TPS指标,检查服务器的处理能力。
2)组合业务
在页面系统中,组合业务更符合用户的实际使用情况,也是我们重点需要维护的地方。因此,我们将它作为性能测试的核心。针对组合业务,我们需要做:
并发测试:主要用来检查程序对多业务交互时,可能产生的性能问题,和数据库锁的处理方式。
负载测试:用来获取最佳负载数,检查系统在不同负载情况下的处理能力及其资源利用率情况。
压力测试:用来获取服务器的最大负载数,检查服务器的稳定性。
3)大数据量
大数据量型,主要是针对一些数据储存、传输、统计、查询等业务,可能存在运行时引入的大数据量,或历史数据引起的大数据量(比如,大数据量的查询测试,需要在数据库表中存有上百万甚至上千万的数据等)等问题,所进行的性能测试。
在这种情况下,我们主要通过获取查询的响应时间,数据表结构的设计,表间的关联,索引等的设置是否合理。
4)第三方接口
这里主要说一下,关于Web端中第三方接口的性能测试。常见的第三方接口,比如,登录时无须注册,可以通过QQ、微信、微博等账号直接登录;还有就是,在Web系统中,还可能涉及到支付和实名认证等问题。针对这些因素的存在,因此,在做测试时,我们主要需进行:
接口并发测试:主要检测第三方接口支持的在不同并发用户数下的响应情况。
接口负载测试:主要检测第三方接口支持的最大负载数。
5)Web前端性能
Web前端更多地指客户端浏览器,这里以用户访问某网站为例,简单分析一下浏览器都做了哪些事情:
用户输入网址 –> 浏览器解析域名 -> 客户端(向服务端)请求页面 -> 解析页面并发送页面中的资源请求 -> 渲染资源 -> 输出页面 -> 监听用户操作 -> 重新渲染。
我们可以通过合理设置浏览器缓存机制,从而对传输资源进行压缩,以便节省网络带宽资源;同时,尽量减少Cookies的传输。
这是由于HTTP协议是无状态的应用层协议,减少请求的数目可以有效提高访问性能。因为每次请求,都需要建立通信进行数据传输,并且每次都需要进行DNS解析。
而减少HTTP请求的手段,主要就是在一次访问请求中,打包合并需要访问的内容即可。另外,合理的设置浏览器缓存,也可以减少HTTP请求。当然,如果传输过程中资源文件太多,最好采取压缩的方式传递数据。
下面为大家介绍一下,在对前端性能进行优化时,如何恰当地使用Cookie和Session。
(1)Cookie
通常情况下,Cookie可以用来判断用户是否访问过网站,是否为合法用户,以及记录用户访问过的一些数据信息,以便在下一次访问时直接获取等。对于浏览器中的Cookie来说,一般一个浏览器最多可存300个Cookie,且每个不能超过4KB,每个Web站点能设置的Cookie总数不能超过20个。
(2)Session
Session可以理解为会话。当用户访问Web系统时,服务器将在服务端为该用户生成一个Session,并将相关数据记录在内存中;同时服务端生成一个Session ID,并通过响应发送到浏览器,浏览器将Session保存到Cookie中。
(3)Cookie与Session的区别
Cookie存储在客户端,而Session是存储在服务器端。相对于Session而言Cookie的安全性不高,很容易被窃取或篡改。所以,当我们需要存储涉及个人隐私的信息的内容时,考虑到安全问题,我们通常存放在Session中。但是Session会在服务器端保存一段时间,当访问过多时会影响服务器的性能,考虑到减轻服务器性能时,应该使用Cookie。
所以在测试Web前端时,需要关注Session和Cookie的使用。特别在优化Web前端性能测试时,需要关注Session和Cookie对性能的影响。
点击下方 “阅读原文” ,挑战年薪20W~
以上是关于新手入门:全面讲解Web性能测试知识点的主要内容,如果未能解决你的问题,请参考以下文章