赞
踩
浅谈软件测试中的性能测试
一、性能测试概念
二、性能测试指标
三、性能测试种类
四、性能测试流程
1、性能测试流程
2、性能测试流程分析
五、结束语
很多时候,我们都知道软件有黑白盒测试,但往往还遗漏掉了一个性能测试。
在下面的这篇文章中,就带领大家来了解性能测试。一起来学习吧~
一、性能测试概念
1、为什么要有性能测试?
(1)2007年10月,北京奥组委实行2008年奥运会门票预售,一时间订票官网访问量激增导致系统瘫痪,最终奥运会门票暂停销售5天。
(2)2009年11月22日,由于圣诞临近, eBay 网站的商品交易量比去年同期增长 33% ,正是由于多出的这33%使得 eBay 网站不堪重负而崩溃,导致卖家蒙受当日销售额 80% 的损失,可谓损失惨重。
(3)12306订票网站,自2010年上线以来就饱受诟病,每年春运期间,总会因为抢票高峰而崩溃,用户在买票时出现无法登陆的现象。2014年,12306网站甚至出现了安全问题,用户可以轻易获取陌生人的身份证号码、手机号码等信息。
通过以上例子我们可以清楚的认识到,不管是奥运会的门票预售系统,还是12306的订票系统崩塌,都是由于软件系统没有经过性能测试或者性能测试不充分而引发的问题。因此,作为一名测试人员,除了要对软件的基本功能测试之外,还需要对软件性能进行测试,软件性能测试也是非常重要且非常必要的一项测试。
2、性能测试是什么?
所谓性能测试,就是通过性能测试工具模拟正常、峰值及异常负载状态下对系统的各项性能指标进行测试的活动。性能测试能够验证软件系统是否达到了用户期望的性能需求,同时也可以发现系统中可能存在的性能瓶颈及缺陷,从而优化系统的性能。
3、性能测试的目的
性能测试的目的主要有以下四点:
二、性能测试指标
性能测试指标有以下6个指标:
1、响应时间
响应时间 (Response Time) 系统对用户请求作出响应所需要的时间。
这个时间是指用户从软件客户端发出请求到用户接收到返回数据的整个过程所需要的时间,包括各种中间件(如服务器、数据库等)的处理时间。
一般来说,响应时间越短,表明软件的响应速度越快,性能越好。但是响应时间需要与用户的具体需求相结合,例如火车订票查询功能响应时间一般2s内就可以完成,而在网站下载电影时,如果一部电影能够在几分钟内完成下载,则说明该网站就已经很快了,所以需要依据实际情况而定。
2、吞吐量
吞吐量 (Throughput) 是指单位时间内系统能够完成的工作量,它衡量的是软件系统服务器的处理能力。
吞吐量的度量单位可以是请求数/秒、页面数/秒、访问人数/天、处理业务数/小时等。
吞吐量是软件系统衡量自身负载能力的一个很重要的指标,吞吐量越大,系统单位时间内处理的数据就越多,系统的负载能力就越强。
3、并发用户数
并发用户数是指同一时间请求和访问的用户数量。
并发用户数量越大,对系统的性能影响越大,并发用户数量较大可能会导致系统响应变慢、系统不稳定等问题。软件系统在设计时必须要考虑并发访问的情况,测试工程师在进行性能测试时也必须进行并发访问的测试。
4、TPS(Transaction Per Second)
TPS 是指系统每秒钟能够处理的事务和交易的数量,它是衡量系统处理能力的重要指标。
5、点击率
点击率是指用户每秒向 Web 服务器提交的 HTTP 请求数,这个指标是 Web 应用特有的一个性能指标,通过点击率可以评估用户产生的负载量,并且可以判断系统是否稳定。点击率只是一个参考指标,帮助衡量 Web 服务器的性能。
6、资源利用率
资源利用率是指软件对系统资源的使用情况,包括CPU利用率、内存利用率、磁盘利用率等,资源利用率是分析软件性能瓶颈的重要参数。
三、性能测试种类
性能测试种类主要有以下六种:
负载测试
压力测试
并发测试
配置测试
可靠性测试
容量测试
接下来将围绕着以上这六种性能测试种类进行讲解。
1、负载测试
(1)定义
负载测试是指逐步增加系统负载,测试系统性能的变化,并最终确定在满足系统性能指标的情况下,系统所能够承受的最大负载量。
(2)举个例子
负载测试类似于举重运动,通过不断给运动员增加重量,确定运动员身体状况保持正常的情况下所能举起的最大重量。
对于负载测试来说,前提是满足性能指标要求,例如一个软件系统的响应时间要求不超过 2s ,则在这个前提下,不断增加用户访问量,当访问量超过1万人时,系统的响应时间就会变慢,响应时间会超过 2s 。因此,可以确定系统响应时间不超过 2s 的前提下最大负载量是1万人。
2、压力测试
(1)定义
压力测试也叫强度测试,它是指逐步给系统增加压力,测试系统的性能变化,使系统某些资源达到饱和或系统崩溃的边缘,从而确定系统所能承受的最大压力。
(2)压力测试与负载测试的区别
负载测试是在保持性能指标要求的前提下系统能够承受的最大负载,而压力测试则是使系统性能达到极限的状态。
压力测试可以揭露那些只有在高负载条件下才会出现的 Bug ,如同步问题、内存泄露等。
(3)峰值测试
性能测试中还有一种压力测试叫做峰值测试,它是指瞬间(不是逐步加压)将系统压力加载到最大,使测试软件系统在极限压力下的运行情况。
3、并发测试
(1)定义
并发测试是指通过模拟用户并发访问,测试多用户并发访问同一个应用、同一个模块或者数据记录时是否存在死锁或其他性能问题。
(2)举个例子
并发测试一般没有标准,只是测试并发时会不会出现意外情况,几乎所有的性能测试都会涉及到一些并发测试,例如多个用户同时访问某一条件数据,多个用户同时在更新数据,那么数据库可能就会出现访问错误、写入错误等异常情况。
4、配置测试
(1)定义
配置测试是指调整软件系统的软硬件环境,测试各种环境对系统性能的影响,从而找到系统各项资源的最优分配原则。
(2)举个例子
配置测试不改变代码,只改变软硬件配置,例如安装版本更高的数据库、配置性能更好的CPU、内存等,通过更改外部配置来提高软件的性能。
5、可靠性测试
(1)定义
可靠性测试是指给系统加载一定的业务压力,使其持续运行一段时间(如 7*24h ),测试系统在这种条件下是否能够稳定运行。
6、容量测试
(1)定义
容量测试是指在一定的软硬件及网络环境下,测试系统所能支持的最大用户数、最大存储量等。
(2)举个例子
容量测试通常与数据库、系统资源(如 CPU 、内存、磁盘等)有关,用于规划将来需求增长(如用户增长、业务量增加等)时,对数据库和系统资源的优化。
最后感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:
这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!有需要的小伙伴可以点击下方小卡片领取
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。