• 0
  • 0
分享

前言

性能测试是通过性能的测试工具模拟多种正常、峰值以及异常负载条件来对系统的各项性能指标进行测试。

负载测试和压力测试都属于性能测试,两者可以结合进行。通过负载测试,确定在各种工作负载下系统的性能,目标是测试当负载逐渐增加时,系统各项性能指标的变化情况。压力测试是通过确定一个系统的瓶颈或者不能接收的性能点,来获得系统能提供的最大服务级别的测试。

术语:

场景(Scenario):场景即测试场景。在LoadRunner的Controller部件中,可以设计与执行用例的场景,设置场景的步骤主要包括:在Controller中选择虚拟用户脚本、设置虚拟用户数量、配置虚拟用户运行时的行为、选择负载发生器(Load Generator)、设置执行时间等。

负载发生器(Load Generator):用来产生压力的机器,受Controller控制,可以使用户脚本在不同的主机上执行。在性能测试工作中,通常由一个Controller控制多个Load Generator以对被测试系统进行加压。

虚拟用户(Virtual User/Vuser):对应于现实中的真实用户,使用LoadRunner模拟的用户称为虚拟用户。性能测试模拟多个用户操作可以理解为:这些虚拟用户在跑脚本,以模拟多个真正用户的行为。

虚拟用户脚本(Vuser script):通过Vuser Generator录制或开发的脚本。这些脚本用来模拟用户的行为。

事务(Transaction):测试人员可以将一个或多个操作步骤定义为一个事务,可以通俗的理解事务为“人为定义的一系列请求(请求可以是一个或者多个)”。在程序上,事务表现为被开始标记和结束标记圈定的一段代码区块。Loadrunner根据事务的开头和结尾标记,计算事务响应时间、成功/失败的事务数。

一、测试阶段

1、性能测试需求分析阶段

根据用户使用习惯和实际业务的性能需求,生成性能测试需求调查表

根据性能测试需求及系统重要业务调研,选取典型业务

了解业务模型及业务架构

2、性能测试设计阶段

编写性能测试用例

结合性能测试用例录制/修改/完善测试执行脚本

结合用户应用场景设计性能测试执行场景

3、性能测试执行阶段

利用LoadRunner性能测试工具中的Controller应用,按照并发用户数执行场景,并保存测试结果(Jmeter同理)

利用LoadRunner性能测试工具监控被测试环境下的服务器CPU,内存,磁盘等系统资源的使用情况

在需要的情况下利用第三方监控工具监控被测试系统的资源使用情况

在对于可靠性测试,长时间执行测试,查看系统是否会出现内存泄漏,宕机等情况

4、性能测试分析阶段

利用LoadRunner性能测试工具中的Analysis应用,分析场景执行后的结果

在需要的情况下借助其他辅助工具对系统进行监控,如Linux系统top等命令或其他辅助工具,进一步分析系统资源使用情况

5、性能测试调优阶段

通过与以前的测试结果进行对比分析,从而确定经过调整以后系统的性能是否有提升。

在进行性能调整的时候,最好一次只调整一项内容或者一类内容,避免一次调整多项而引起性能提高,却不知道是由于调整哪项关键指标而改善性能的。通常,我们是按照由易到难的顺序

系统性能进行调优。系统调优由易到难的先后顺序如下:

硬件问题

网络问题

应用服务器,数据库等配置信息

源代码,数据库脚本问题

系统架构问题根据性能测试执行结果,分析结果是否满足用户需求并生成性能测试报告

二、试启动标准

1、系统待测版本定版

2、测试环境部署完毕

包括:

系统安装并调试成功,并经过相应优化,初始数据量满足测试要求

应用软件安装成功,待测试版本已正确部署

测试客户端机器到位,系统软件安装完毕

网络配置正确,连接通畅,可以满足压力测试需求

3、测试方案审核

批准完毕,项目组签字确认。

三、测试暂停/再启动标准

1、暂停准则

测试中发现问题,需求对系统进行代码修改,调优或需要更换,调整硬件资源(CPU、内存等)

测试环境受到干扰,比如服务器被临时征用,或服务器的其他使用会对测试结果造成干扰

2、再启动准则

测试中发现的软、硬件问题得以解决

测试环境恢复正常

四、测试完成标准

完成测试计划中规定的测试内容和轮次。

已达到性能测试计划完成时间,但因非测试方原因未完成测试场景的执行,客户方决定不再顺延该阶段的测试。

五、性能测试的测试目的/准备和方法

1、测试目的

主要目的是检查系统处于压力情况下时应用系统的表现,重点在于系统有无出错信息产生,考察系统应用的响应时间、TPS、资源状况等。

针对系统可靠性进行测试,主要检查系统在高负荷压力的情况下是否会出现如宕机、应用异常终止、资源竞争异常、资源死锁等问题。

通过压力测试,获得系统可能存在的性能瓶颈、发现、定位系统中可能存在的性能缺陷。

2、测试准备

功能测试已经结束

性能测试环境已经准备完毕

已将模拟数据提前准备完毕(被测试系统需要的测试数据)

相关技术支持人员的支持

3、测试方法

利用LoadRunner性能测试工具中的Virtual User Generator应用,录制性能测试执行脚本。

对性能测试脚本进行修改、调试、完善并保存测试脚本。利用LoadRunner性能测试工具中的Controller应用,按性能测试用例执行设计的场景并保存场景。

利用被测服务器自带监控工具和LoadRunner监控被测环境下服务器的CPU、网络流量等系统资源的使用情况。利用LoadRunner性能测试工具中的Analysis应用,分析场景执行后的结果。

4、测试分析范围

针对“测试业务及性能需求”的内容,对系统响应时间、系统业务处理容量(TPS)、被测试环境下服务器资源使用情况(如CPU、内存、磁盘等)进行监控。

六、总结

任何人都不可能一帆风顺地成功,也没有任何事情,是不需要付出努力就能完成的!当我们遇到挫折时,当我们因为各种原因而后退时,我们就必须重新认识自我。只有在正确认识自我的基础上,我们才能重新找回自己的航行坐标,朝胜利的方向前进!

世之奇伟、瑰怪、非常之观,常在于险远,而人之所罕至焉,故非有志者不能至也。

生活总是让我们遍体鳞伤,但到后来,那些受伤的地方一定会变成我们最强壮的地方。


作者:测试内卷王

原文链接:https://blog.csdn.net/NanFanzzZ/article/details/126690833

  • 【留下美好印记】
    赞赏支持
登录 后发表评论
+ 关注

热门文章

    最新讲堂

      • 推荐阅读
      • 换一换
          • 一、前言相信不少,应该说绝大数的测试同学都遇到过这样的场景,上线出现了BUG,被质问:为什么没测出来!测试怎么测得?到底会不会测?这对测试来说是灵魂拷问级别不好回答的问题了。那么我们遇到类似这样的提问该如何回答、解决呢?二、如何回答和解决其实当遇到线上出现问题的时候,不管这个问题是谁的锅, 先以解决问题为主, 先复现问题, 再配合开发调试定位问题进行修复, 然后测试完成进行紧急的修复上线才是最应该做的事情!这个时候也不要进行任何甩锅的操作,也不要默不作声的不说话。可以回答说:我们会在这个问题修复上线后进行复盘,找出问题出现的原因,如果是测试团队的问题,我们会主动承担责任并作出总结,避免下次再犯...
            13 12 2433
            分享
          • 前言小伙伴们,好久不见呀,今天呢笔者想和大家聊聊postman参数化,在接口测试中,部分参数每次发送请求是唯一的数值,这时可以采用把测试数据参数化处理的方式实现,postman参数化的形式主要有三种。1、内置变量实现内建变量为postman自带的系统变量,但是不能进行精确化的对比Variable NameDescriptionExamples{{$guid}}添加一个V4风格的GUID“611c2e81-2ccb-42d8-9ddc-2d0bfa65c1b4”{{$timestamp}}添加当前的时间戳,精确到秒1562757107 , 1562757108 , 1562757109{{$ra...
            0 0 4235
            分享
          • 场景一:首次访问检查本地是否存储用户信息(否)页面显示微信用户授权按钮用户点击按钮允许授权使用用户信息页面显示微信用户登录按钮用户点击登录按钮检查数据库中有无用户信息(无)创建新的用户信息查询出新的用户信息本地存储用户信息进入主页场景二:再次访问检查本地是否存储用户信息(有)页面显示微信用户登录按钮用户点击登录按钮进入主页场景三:用户退出(删除本地存储的用户信息)后再访问检查本地是否存储用户信息(否)页面显示微信用户授权按钮用户点击按钮允许授权使用用户信息页面显示微信用户登录按钮用户点击登录按钮检查数据库中有无用户信息(有)本地存储用户信息进入主页优点:用户不退出的情况下,再次访问时不需要查询...
            0 0 1009
            分享
          • 一、安装1.免费官网链接:https://www.getpostman.com/postman,下载好后双击.exe程序安装即可2.注意事项:建议安装在非系统盘,即C盘以外的盘,路径最好用全英文路径3.打开chrome->更多工具->拓展程序->加载本地已解压的postman至chrome中4.打开postman,注册并登录,也可以跳过注册页,不登录也可以直接使用二、postman使用1.基本功能:导入项目:https://www.getpostman.com/collections/c8f98a1120357e0d4a5a环境变量url:http://postmanexam...
            3 3 1715
            分享
          • 前段时间,大众汽车用3万台机器人,50秒造一辆车的新闻,让我们认识了一个既熟悉又陌生的词--"第四次工业革命"。说起工业革命这个词,相信大家都不会陌生,凡是被历史考试蹂躏过的人,都把"工业革命是以机器取代人力,以大规模工厂化生产取代个体工场手工生产的一场生产与科技革命。"这段话背得个滚瓜烂熟了。但是加上"第四次"这个词,就不见得你能搞明白了。本小编今天就让你用3分钟,和这个"第四次工业革命"来个亲密接触。 有人问:"小编,你不是IT行业的么,怎么搞起工业的事情来了?"这句话问的好!因为就这一个问题,直接揭秘了"第四次工业革命"的本质!第一次工业革命,是用机器取代人力;第二次和第三次工...
            4 0 2087
            分享
      • 51testing软件测试圈微信