国外电商网站设计欣赏,友情链接交换工具,wordpress缩略图特效,网站一键搭建浅谈软件测试中的性能测试一、#x1f92a;性能测试概念1、为什么要有性能测试#xff1f;2、性能测试是什么#xff1f;3、性能测试的目的二、#x1f910;性能测试指标1、响应时间2、吞吐量3、并发用户数4、TPS(Transaction Per Second)5、点击率6、资源利用率三、#… 浅谈软件测试中的性能测试一、性能测试概念1、为什么要有性能测试2、性能测试是什么3、性能测试的目的二、性能测试指标1、响应时间2、吞吐量3、并发用户数4、TPS(Transaction Per Second)5、点击率6、资源利用率三、性能测试种类1、负载测试2、压力测试3、并发测试4、配置测试5、可靠性测试6、容量测试四、性能测试流程1、性能测试流程2、性能测试流程分析1分析性能测试需求2制定性能测试计划3设计测试用例4编写性能测试脚本5测试执行及监控6运行结果分析7性能测试报告五、结束语很多时候我们都知道软件有黑白盒测试但往往还遗漏掉了一个性能测试。
在下面的这篇文章中就带领大家来了解性能测试。一起来学习吧~
一、性能测试概念
1、为什么要有性能测试
12007年10月北京奥组委实行2008年奥运会门票预售一时间订票官网访问量激增导致系统瘫痪最终奥运会门票暂停销售5天。 22009年11月22日由于圣诞临近 eBay 网站的商品交易量比去年同期增长 33% 正是由于多出的这33%使得 eBay 网站不堪重负而崩溃导致卖家蒙受当日销售额 80% 的损失可谓损失惨重。 312306订票网站自2010年上线以来就饱受诟病每年春运期间总会因为抢票高峰而崩溃用户在买票时出现无法登陆的现象。2014年12306网站甚至出现了安全问题用户可以轻易获取陌生人的身份证号码、手机号码等信息。 通过以上例子我们可以清楚的认识到不管是奥运会的门票预售系统还是12306的订票系统崩塌都是由于软件系统没有经过性能测试或者性能测试不充分而引发的问题。因此作为一名测试人员除了要对软件的基本功能测试之外还需要对软件性能进行测试软件性能测试也是非常重要且非常必要的一项测试。
2、性能测试是什么
所谓性能测试就是通过性能测试工具模拟正常、峰值及异常负载状态下对系统的各项性能指标进行测试的活动。性能测试能够验证软件系统是否达到了用户期望的性能需求同时也可以发现系统中可能存在的性能瓶颈及缺陷从而优化系统的性能。
3、性能测试的目的
性能测试的目的主要有以下四点
验证系统性能是否满足预期的性能需求包括系统的执行效率、稳定性、可靠性、安全性等。分析软件系统在各种负载水平下的运行状态提高性能调整效率。识别系统缺陷寻找系统中可能存在的性能问题定位系统瓶颈并解决问题。系统调优探测系统设计与资源之间的最佳平衡改善并优化系统的性能。
二、性能测试指标
性能测试指标有以下6个指标
响应时间吞吐量并发用户数TPS (Transaction per Second)点击率资源利用率
接下来将围绕着这6个指标进行一一讲解。
1、响应时间
响应时间 Response Time 系统对用户请求作出响应所需要的时间。
这个时间是指用户从软件客户端发出请求到用户接收到返回数据的整个过程所需要的时间包括各种中间件如服务器、数据库等的处理时间。
如下图所示 从上图中可以看到从客户端发出请求到客户端接收到返回数据的整个过程即为系统的响应时间为 t1t2t3t4t5t6 。
一般来说响应时间越短表明软件的响应速度越快性能越好。但是响应时间需要与用户的具体需求相结合例如火车订票查询功能响应时间一般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 、内存、磁盘等有关用于规划将来需求增长如用户增长、业务量增加等时对数据库和系统资源的优化。
四、性能测试流程
1、性能测试流程
先用一张图来查看性能测试的整个流程。如下图所示 2、性能测试流程分析
1分析性能测试需求
在性能测试需求分析阶段测试人员需要收集有关项目的各种资料并与开发人员进行沟通对整个项目有一定的了解针对需要进行性能测试的部分进行分析确定测试目标。
例如客户要求软件产品的查询功能响应时间不超过 2s 则需要明确多少用户量情况下响应时间不超过 2s 。对于刚上线的产品用户量不多但几年之后可能用户量会巨增那么在性能测试时是否要测试产品的高并发访问以及高并发访问下的响应时间。
2制定性能测试计划
确定测试环境 包括物理环境、生产环境、测试团队可利用的工具和资源等。确定性能验收标准 确定响应时间、吞吐量和系统资源CPU、内存等利用总目标和限制。设计测试场景 对产品业务、用户使用场景进行分析设计符合用户使用习惯的场景整理出一个业务场景表为编写测试脚本提供依据。准备测试数据 性能测试是模拟现实的使用场景例如模拟用户高并发则需要准备用户数量、工作时间、测试时长等数据。
3设计测试用例
性能测试用例是根据测试场景为测试准备数据例如模拟用户高并发可以分别设计 100个 用户并发数量、 1000个 用户并发数量等此外还要考虑用户活跃时间、访问频率、场景交互等各种情况。测试人员可以根据测试计划中的业务场景表设计出足够的测试用例以达到最大的测试覆盖。
4编写性能测试脚本
正确选择协议。根据工具的支持情况和测试人员熟悉程度选取脚本语言。编写测试脚本时要遵循代码编写规范保证代码的质量。做好脚本的维护管理工作。
5测试执行及监控
1了解几个指标
性能指标 本次性能测试要测试的性能指标的变化。
资源占用与释放情况 CPU 、内存、磁盘、网络等使用情况。性能测试停止后各项资源是否能正常释放以供后续业务使用。
警告信息 一般软件系统在出现问题时会发出警告信息当有警告信息时测试人员要及时查看。
日志检查 经常分析系统日志包括操作系统、数据库等日志。
2结果影响
性能测试监控对性能测试结果分析、对软件的缺陷分析都起着非常重要的作用。
在测试过程中如果遇到与预期结果不符合的情况测试人员要调整系统配置或修改程序代码来定位问题。
由于性能测试执行过程需要监控的数据复杂多变它要求测试人员对监控的数据指标有非常清楚的认识同时还要求测试人员对性能测试工具非常熟悉。作为性能测试人员应该不断努力深入学习不断积累知识经验才能做的更好。
6运行结果分析
性能测试完成之后测试人员需要收集整理测试数据并对数据进行分析将测试数据与客户要求的性能指标进行对比若不满足客户的性能要求需要进行性能调优然后重新测试直到产品性能满足客户需求。
7性能测试报告
性能测试完成之后需要编写性能测试报告阐述性能测试的目标、性能测试环境、性能测试用例与脚本使用情况、性能测试结果及性能测试过程中遇到的问题和解决办法等。软件产品不能只进行一次性能测试因此性能测试报告需要备案保存作为下次性能测试的参考。
五、结束语
对于测开人员来说不能只会黑白盒测试还要会性能测试。性能测试对于软件来说也是至关重要的一部分没有经过性能测试的软件一般都会出现bug满天飞的问题。相信通过上文的了解大家对性能测试有一个基础的认识。
性能测试的内容就讲到这里啦如有需要了解软件测试相关的其他内容可到『软件测试』栏目进行查看学习~
同时有不理解或有误的地方也欢迎评论区留言或私信我交流~ 关注公众号 星期一研究室 不定期分享学习干货更多有趣的专栏等你解锁~如果这篇文章对你有用记得点个赞加个关注再走哦~