• 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

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

热门文章

    最新讲堂

      • 推荐阅读
      • 换一换
          •   质量控制过程确保产品的制造标准得到维持和改进。 质量控制过程使公司能够满足客户的期望,同时确保产品质量的一致水平。 采用这些标准创造了一种公司文化,鼓励所有员工追求高质量的生产标准。 对于希望将数据和分析数字化的质量控制团队来说,低代码和无代码软件可以改变游戏规则。  为什么要实施质量控制?  质量控制的主要目的是在制造过程中寻找任何纠正措施来改进产品。质量控制的一个重要组成部分是建立一个检查系统,概述可接受的产品参数并标准化生产过程。在整个生产线上建立和评估标准,员工在生产线上组装原材料并生产成品。在其开发的不同阶段测试每个产品有助于识别生产问题并快速修复它们。  公司通常会雇用专业人员...
            0 0 469
            分享
          • 写作单元测试代码的好处熟悉单元测试技术,了解相关的基本原理;掌握代码,积累代码编写经验,积累调试经验,积累分析问题、解决问题的经验;训练动手能力,单元测试代码不是业务代码,开发、维护过程中不需要特别关注质量要求,底限是达到验证业务代码逻辑性的目的,因而比修改代码要省心、省事;不需要准备项目运行环境,单元测试代码在运行时的外部依赖比较少,执行验证、调试代码的代价会很低;降低新手程序员进入项目的门槛,有助于积累信心。项目过程中写单元测试的好处一边写代码,一边检查代码中的小错误或者小疏忽,提前解决代码中可能存在的笔误;为了让单元测试代码更好写,需要花点心思在思考类和方法的结构,好处是可以有效的提升代...
            0 0 1121
            分享
          • 入门自动化测试必读自动化测试概念自动化测试是把以人为驱动的测试行为转化为机器执行的一种过程。通常,在设计了测试用例并通过评审之后,由测试人员根据测试用例中描述的规程一步步执行测试,得到实际结果与期望结果的比较。在此过程中,为了节省人力、时间或硬件资源,提高测试效率,便引入了自动化测试的概念。好处自动化测试可以替代大量的手工机械重复性操作,测试工程师可以把更多的时间花在更全面的用例设计和新功能的测试上;自动化测试可以大幅提升回归测试的效率;自动化测试适合在非工作时间执行测试,工作时间分析失败用例;自动化测试可以高效地实现某些手工测试无法完成或者代价巨大的测试类型,比如关键业务 7×24...
            0 0 955
            分享
          • 快捷键首先,我们进入具体命令的info界面。如使用info grep 或者 info info命令。即可进入如下界面:此时再单击h键,即可查看info内的帮助。如下图:即可查看info中可以使用的快捷键说明:操作:x:关闭 info内帮助界面Ctrl + g:取消当前操作(如搜索)页面内移动:↑:移动到上一行↓:移动到下一行Tab:移动到下一个超链接处(menu或交叉引用),按Enter键跳转链接deletebackPage Up:移动到上一屏空格键Page Down:移动到下一屏node间移动:Home:移动到node的开始End:移动到node的结束l:返回到上一个查看的node[:移动到...
            0 0 1392
            分享
          • 一、 测试工程师:1、 国内定位和发展前景:测试工程师,软件质量的把关者,工作起点高,发展空间大。我国的软件测试职业还处于一个发展的阶段,所以测试工程师具有较大发展前景。目前传统的软件行业还是以软件测试工程师为主,但是在新兴的互联网行业大多还是以QA来命名这个职位,也就是质量保证。2、 工作职责:编写测试计划、规划详细的测试方案、编写测试用例;根据测试计划搭建和维护测试环境;执行测试工作,提交测试报告。包括编写用于测试的自动测试脚本,完整地记录测试结果,编写完整的测试报告等相关的技术文档;对测试中发现的问题进行详细分析和准确定位,与开发人员讨论缺陷解决方案;提出对产品的进一步改进的建议,并评估...
            12 12 1599
            分享
      • 51testing软件测试圈微信