新手入门之Web性能测试
发布时间:2020-09-15

我们都知道,Web系统是一个功能复杂、结构庞大的应用系统。由此,在做Web系统的测试时,我们需要做的测试种类非常多,涉及面也非常广,比如:并发测试、压力测试、负载测试、稳定性测试、配置测试、网络测试以及大数据量测试,等等。

今天,我们主要为测试新手们提供一些Web性能测试的内容,希望通过回顾知识点+经验总计的方式,能让大家在做Web系统测试时上手更快。

针对服务器而言,性能测试主要关注响应时间、系统吞吐量、点击率、系统访问量、服务器资源等。

相比C/S架构的应用系统来说,Web应用系统在数据获取方面,需要通过调用服务器数据来获取。(这是因为服务器本身存储了大量的用户数据,调用时,只需从服务器端获取即可。)

而对于用户来说,用户更加关注打开页面需要多长的加载(响应)时间。由此可见,用户更加关注减少加载时间的方法。即,提升如何提升浏览器的缓存、减少请求数量和请求大小等。

那么,针对不同业务、不同的板快,我们应该做哪些方面的测试呢?

1)单业务

单业务,通常指Web系统的核心业务和用户使用频繁的业务。这是Web系统性能测试的重点,针对单业务需要进行:

并发测试:用来获取用户的响应时间,检查程序或数据库的问题。

压力测试:用来获取最大并发数,找系统中的性能瓶颈在哪里。

负载测试:用来获取TPS指标,检查服务器的处理能力。

2)组合业务

在页面系统中,组合业务更符合用户的实际使用情况,也是我们重点需要维护的地方。因此,我们将它作为性能测试的核心。针对组合业务,我们需要做:

并发测试:主要用来检查程序对多业务交互时,可能产生的性能问题,和数据库锁的处理方式。

负载测试:用来获取最佳负载数,检查服务器的处理能力。

压力测试:用来获取服务器的最大负载数,检查服务器的稳定性。

3)大数据量

大数据量型,主要是针对一些数据储存、传输、统计、查询等业务,可能存在运行时引入的大数据量,或历史数据引起的大数据量(比如,大数据量的查询测试,需要在数据库表中存有上百万甚至上千万的数据等)等问题,所进行的性能测试。

在这种情况下,我们主要通过获取查询的响应时间,来检查数据库中对索引的使用是否合理。

4)第三方接口

这里主要说一下,关于Web端中第三方接口的性能测试。常见的第三方接口,比如,登录时无须注册,可以通过QQ、微信、微博等账号直接登录;还有就是,在Web系统中,还可能涉及到支付和实名认证等问题。针对这些因素的存在,因此,在做测试时,我们主要需进行:

接口并发测试:主要检测第三方接口支持的最大并发数。

接口负载测试:主要检测第三方接口支持的最大负载数。

5)Web前端性能

Web前端性能主要是通过减少HTTP请求和资源的数量,合理设置浏览器缓存机制,从而对传输资源进行压缩,以便节省网络带宽资源;同时,尽量减少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对性能的影响。

相关阅读
/