在性能测试的学习过程中,对峙头脑与工具(分开)并行,当前面世面上的性能测试册本大多把理论与loadrunner融为一体解说,如许做是精确的,由于有一些性能名词概念也源于工具。但是,性能测试不是loadrunner,全部的作者也是这么以为的。但他们在讲性能测试的时间讲的就是loadrunner有,只是讲的多少差别罢啦。
你是否以为我对loadrunner有仇?我之以是将其分开来学,只是渴望自己在学习性能测试的时间不要被loadrunner范围了而已。只是以为在做性能测试时不要带loadrunner的头脑,如许更容易把握性能测试的本质。
性能测试工具,从广义上讲,在性能测试过程中使用到的全部工具都可以称其为性能测试工具。从狭义上来讲,我们可以把性能测试工具分为服务器端性能测试工具与前段性能测试工具。
服务器端性能测试工具也我们测试职员通常所以为的性能测试工具。LoadRunner、JMeter、SilkPerformance、服务器端压力性能工具须要支持产生压力和负载,录制和天生脚本,设置和摆设场景,产生并发用户和向体系施加连续的压力。
前端性能测试工具应用比力广泛,开辟职员,前端开辟职员、测试职员都会经常用到。Firebug 、fildder2、Yslow 、前端性能测试工具只须要关于心欣赏器等客户端工具对详细须要显现的页面的处置惩罚过程。
服务器性能测试工具原理
性能测试工具的紧张作用是通过模拟生产情况中的真实业务操纵,对被测试体系实行压力负载测试,监视被 测试体系在差别业务、差别压力性能下的性能表现,找出潜伏的性能瓶颈举行分析、优化。
客户端与服务器相称于两个人,通过信息来举行交换。由于初次见面不美意思直接交换,与是找来了中央传话人,客户端把信息告诉给传话人,由传话人来转达给服务器。那么服务器反馈的信息也由传话人转达给客户端。一样寻常性能测试工具都须要录制或编写客户端举动脚本。
如许转达人就有了客户端的举动本事,从而假扮客户端来诱骗服务器,与之举行通讯。有了客户端举动了转达人可以举行自我复制。从而变出N多个转达人对服务器进通讯。---这个转达人的举动和本事也就是性能测试工具的根本特质。(突然以为性能工具像圈外人插足,而且是可以自我复制疯狂失常的圈外人,哈哈!)
对于现在盛行的性能测试工具,他们的根本工作原理都是同等的。在客户端通过多线程或多进程模拟假造用户访问,对服务器端施加压力,然后在过程中监控 和网络性能数据。
性能测试工具应该具备什么的特质呢?
1、工具自己占用体系资源少,可扩展性好,可用性强。
2、能模拟真实业务变乱操纵,在并发时能真正产生业务压力。(这一点是焦点)
3、对压力测试结果能很好地举行性能分析,快速找出被测试体系的瓶颈。
4、测试脚本的重复性强。
服务器性能测试工具的架构
·用户举动天生部门
我为什么说的这么昏黄,对于认识loadrunner的朋侪,我说成假造用户脚本天生器,你更容易明白,这个脚本,我们可以录制,也可以手工编写。你不要以为这是天生用户举动的唯一方式。由于在JMeter成中是添加各种组件,通过对组件的设置来完成用户举动的,固然也可以通过录制。而在相对大略的性能测试工具curl_loader(linux情况下的运行的),他是通过编写设置文件的情势来形貌用户形为的。
我前面也有提了,固然性能测试工具由差别的情势来形貌,但他们的原理是一样的,都是通过Proxy方式来实现,详细来说,Proxy作为客户端和服务器之间的中央人,吸收客户端的数据包。
·压力产生器
压力产生器用于根据脚本内容产生现实的负载,在性能测试工具中,压力产生器饰演着“产生负载”的脚色。也就根用户的设置,举行自我复制来天生多个客户端向服务器发送哀求。对于工具来说,每复制出来的一份就是一个进程或线程,进程和线程的运行是要占用体系资源的。以是,对一台压力测试机来说能运行的假造用户数也是有限的。根基测试机的设置而定。那么这个时间就要通过多台测试机相助,来模拟更多的假造用户向服务器发哀求。
那么,对于性能测试来说,很紧张的一点就是产生“并发”的哀求,否则就不会对服务器产生压力。那多台机子怎样产生“步调同等”的假造用户呢?使用“用户署理”
·用户署理
用户署理是运行在负载机上的进程,该进程与产生负载压力的进程或线程协作,吸收调治体系的下令,调治产生负载压力的进程或线程,从这个意义上看,用户署理也是压力产生器的一部门。
·调治本事
我们在做复杂的性能测试时,经常管帐划各种场景,差别的假造用户数,差别变乱的用户比例,运行时间,设置同步点等,这个时间也须要我们的测试工具有压力调治本事。从而才华更真实的模拟我们所计划的运行场景。
·监控 体系
监控 体系是性能测试工具直接与用户举行交互的紧张部门,监控体系,紧张用户在压力测试过程中对各种软硬件举行监控,如对数据库、应用服务器,服务器的紧张性能表现情况举行监控。用于判定体系当前处于什么状态。
固然,监控体系不是性能工具必须的部门,可以通过软硬件体系自身的监控工具大概第三方监控工具举行监控。但是否有强盛的性能计数器监控体系是衡量性能测试工具是否强盛的指标之一。
·压力结果分析
压力结果分析工具可以用来辅助举行测试结果的分析,性能测试工具一样寻常都能将监控体系获取的性能技能数器值天生曲线图,折线图等各种图表。通过显现性能测试过程中的各种参数指标,来供测试职员举行分析。
但这里须要夸大的是,压力结果分析工具自己不能取代分析者举行性能结果分析,而只是提供多种差别的数据显现和出现方法而已。对于这些数据举行分析肯定要依靠测试工程师对体系性能分析的知识和履历。
对上面先容的性能测试工具架构的构成部门,不是第一个性能测试工具都具备,而所具备的强盛水平也不雷同。好比,有些性能测试工具不具备用户署理能,有些监控体系能监控的资源很有限或大略,有些结果分析数据的出现不敷过细等。
总结:
感谢每一个认真阅读我文章的人!!!
作为一位过来人也是渴望各人少走一些弯路,如果你不想再体验一次学习时找不到资料,没人解答标题,对峙几天便放弃的感受的话,在这里我给各人分享一些自动化测试的学习资源,渴望能给你进步的路上带来资助。
软件测试口试文档
我们学习肯定是为了找到高薪的工作,下面这些口试题是来自阿里、腾讯、字节等一线互联网大厂最新的口试资料,而且有字节大佬给出了权势巨子的解答,刷完这一套口试资料信托各人都能找到满意的工作。
视频文档获取方式:
这份文档和视频资料,对于想从事【软件测试】的朋侪来说应该是最全面最完备的备战堆栈,这个堆栈也伴随我走过了最艰巨的路程,渴望也能资助到你!以上均可以分享,点下方小卡片即可自行领取。
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!qidao123.com:ToB企服之家,中国第一个企服评测及软件市场,开放入驻,技术点评得现金 |