首页 > 其他分享 >性能测试-Notes

性能测试-Notes

时间:2023-05-18 20:14:42浏览次数:26  
标签:脚本 事务 Notes 用户 lr 测试 性能

1、web端项目性能测试

从事web端项目性能测试需要借助于LoadRunner 11.0.

全栈软件测试要求测试人员掌握多种技术,包括前后端,利用多种工具完成产品的独立测试和验收。

2、前端与后端的区别

前端注重用户界面设计、交互效果、页面加载速度等与用户直接接触的方面。

后端则更注重业务逻辑、数据库设计、服务器配置、负载均衡、API设计等与用户不直接接触,但对系统运行十分重要的方面。

前后端协同工作,共同保证Web应用的性能、安全和稳定性。

3、性能测试的概念:

性能测试是通过自动化的测试工具模拟多种正常、峰值以及异常负载条件来对系统的各项性能指标进行测试。负载测试和压力测试都属于性能测试,两者可以结合进行。

4、性能测试的目的:

性能测试重点不是去找bug,而是找出系统的性能瓶颈,把风险减轻到最低的程度。

负载测试:不断的加压,找出性能瓶颈的过程。

压力测试:在系统达到性能瓶颈时一直运行看能否坚持住。

5、并发数:LoadRunner中的虚拟用户数指的就是并发数。

系统用户数:系统注册用户数。

在线用户数:系统登录用户数。

并发用户数: 对服务器产生压力的用户数。

7、题目:现有两组对象1和对象2.两者的关系为选课:

对象1:学生(姓名、学号、系别)

对象2:课程(课程名、课程编号、学分)

请画出表示以上关系的E-R图

ER图核心三要素:实体、属性、关系。实体就是一个个对象,比如猫;属性就是实体所有的某个属性。比如猫的性别;关系就是实体和实体之间或者实体内部之间的关系。

开发人员能够根据ER图快速的建模。

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

8、针对web端项目系统进行性能调优的解决方案有大致五种:

a、控制在线的并发用户数

b、升级服务器,提升其性能。

c、更换较优质的CPU中央处理器。

d、增加一块内存条,使其运行内存充足,达到性能提升效果。

e、关闭占用cpu资源较大的进程,达到性能提升的效果。

f、提升带宽速率

集合点:对应于真实用户中的并发点。它可以让所有的虚拟用户集合在某一点,然后一起对事件进行触发,从而实现真正意义上的并发。

场景:在LR中主要表现为Controller中设计与执行测试用例中的用户场景。主要工作有,在Controller中选择虚拟用户脚本,设置虚拟用户数量、配置虚拟用户运行时的行为、选择负载发生器设置执行时间等等。

思考时间:为了在模拟时更加接近用户的真实行为而引进的概念。在实际中,用户进行一系列操作后往往会进行等待处理,例如浏览网页内容时,用户往往会等待几秒思考要浏览什么样的内容,因此在虚拟用户脚本中使用函数lr_think_time()来模拟用户等待时间的过程,那么执行该函数时,用户线程会按照相应的time值进行等待。

6、事务:LoadRunner通过事务来衡量服务器的性能。在业务上事务代表用户的一个或一系列操作,而在程序上则表现为一段代码区块。测试人员可以将一个或多个操作步骤定义为一个事务,以便衡量这部分用户并发的响应时间。

事务的特点:

1、事务是成对出现的。

2、事务中不能夹杂跟业务无关的操作(比如检查点、思考时间、if判断)保持事务的纯净。

3、事务里面不能放事务,也就是说事务不能嵌套

4、事务中只能放跟业务相关的操作

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

虚拟用户:对应于现实中的真实用户,使用LR模拟的用户称为虚拟用户。

9、评判系统软件性能的几项重要指标有哪些呢?

1、事务响应时间(RT)

事务响应时间是一个统计量,是评价系统软件性能的重要参数。定义好事务后,在场景执行过程和测试结果分析中即可看到对应事务的响应时间。通过对关键或核心事务的执行情况进行分析,可以快速定位出性能问题。RT=网络响应时间+应用程序响应时间。

2、点击率(Hit per Second)

每秒钟用户向服务器提交的http请求数量。注意:点击一次并不代表客户端只向服务端发送一个http请求,而是发出多个http请求。点击率越大对server造成的压力就越大。

3、TPS(Transaction Per Second)

每秒钟系统处理的事务数量。它是基于事务统计出来的,如果不添加事务,则根本无法看出它的TPS.

4、吞吐量(Throughput)

单位时间内系统处理客户的请求数量。

5、吞吐率

吞吐率=吞吐量/测试时间,反应单位时间内服务器处理客户提交的请求数,通常吞吐量越大,吞吐率也越大,说明被测系统的负载能力越强。

6、资源利用率

CPU利用率、内存、磁盘利用率(I/O)、网络资源等的实际使用情况。比如我们可以在分析整体系统的基础上,找出影响服务器整体性能的瓶颈,确定相应的升级需求:服务器硬盘负载较重,需增加硬盘、加或更新CPU、网卡性能偏低,需更换光纤网卡、内存资源短缺,需增大内存等等。

针对机票系统项目流程有:机票首页、登录、下单(购买机票)、查看订单、退出/注销。

10、项目性能测试一般流程:

1、熟悉项目性能需求。

2、制定性能测试计划。

3、创建性能测试环境。

4、开发性能测试脚本。

5、创建并运行场景。

6、执行测试

7、监控场景

8、分析测试结果。

11、LoadRunner重要的组件有:Virtual User Generator、Controller、Analysis.

Virtual User Generator(VUG):开发设计性能测试脚本。

Controller:是用来设计、管理和监控负载测试的中央控制台。

Analysis:分析测试报告,以确定系统性能瓶颈,最后进行性能调优。

12、LR脚本中用户名参数化有四种方式:

a、手写参数名,然后直接替换即可。

b、直接在"P"选项卡中先设置参数,然后回到脚本页面,进行使用替换即可。

c、预先准备文档,事先写入用户名及其对应的值,然后直接从"P"选项卡导入即可。

d、直接在"P"选项卡中编辑记事本内容,然后回到脚本页面进行替换即可。

保存函数:lr_save_string("www.taobao.com","ip");

思考时间函数:lr_think_time(3); 设置思考时间为3秒。

输出函数:lr_output_message("当前用户名为:%s",lr_eval_string("jojo"));

添加事务的函数:lr_start_transaction("事务的名称");lr_end_transaction("事务的名称",LR_AUTO);

添加集合点函数:lr_rendezvous("一起点击登录按钮");

文本检查点函数:web_reg_find("Text=文本名称","SaveCount=userCount",LAST);

如:web_reg_find("Text=jojo",LAST);

图片检查点函数:web_image_check("hp_logo","src=images/hp_logo.png",LAST);

统计找到文本检查点的次数的函数:if(atoi(lr_eval_string("{userCount}"))>0)

​ {

​ lr_output_message("海江,恭喜你,一会儿可以去厕所饱餐一顿。");

​ }else{

​ lr_error_message("诗琪,你的腰好些了吗?");

​ }

13、LR脚本中文本检查点添加有三种方式:

a、手写文本检查点函数。

b、在树视图对应的快照中进行捕捉。

c、借助于函数参考。

脚本回放时,回放界面为辅,主要还是看回放日志。

LR中C语言脚本都是放在Action里面。

15、LoadRunner做自动化测试的步骤:

1、确定测试需求

2、写测试计划

3、写测试用例

4、搭建测试环境

5、安装LR,并开发自动化脚本

6、分析脚本(去除掉不相干的脚本、杂质)

7、优化脚本(去除冗余脚本)

8、强化脚本(设置好相关的文本、图片检查点以及参数化)

9、测试脚本的导通性(编译脚本

10、执行脚本

11、查看日志

12、分析日志,收集测试数据。

一般来说,cpu使用率低于75%都算正常,若高于75%说明系统快遇到瓶颈。

在命令提示符中输入:perfmon可以查看系统性能监视状况。

设置迭代方法:vuser-run time setting-运行逻辑-迭代次数(3)

SessionID和Token都是为了保护网站数据安全而采用的技术。

SessionID是一个动态的值,用于验证用户身份,并防止恶意用户绕过验证码直接进入网站从事非法行为;

Token则是在数据传输前进行核对的暗号,不同的Token被授权不同的数据操作。例如,在USB3.0协议中,就定义了Token包来保护数据传输。

LR中有两种录制方式分别为:

1、web_submit_form(相当于get请求),依赖url地址。

2、web_submit_data(相当于post请求),不依赖于url地址。

如何知道有没有关联函数存在呢?我们可以从以下途径寻找突破点:

1、可以直接问开发,毕竟他才知晓哪里做了关联。

2、寻找hidden,就一定可以找到动态值。

3、若发现一串数字和字母的组合,那么很可能此处就是需要做关联。

4、使用post方式连续录制两遍脚本,两者相对比,如果发现有一处不同,则表明此处有关联函数。

如何在日志中打印每一次的动态值?

lr_output_message("%s", lr_eval_string("{userSession}"));

做负载测试时候,需要做好数据结果统计:

​ 打开机票首页 登录 下单 查看订单 注销 TPS(AVG) CPU% memory(内存使用率) I/O(磁盘读写率) network(队列)

01vuser: 0.453s 0.440s 0.811s 0.205s 0.404s 0.6 16%

05vuser: 0.728s 0.646s 1.349s 0.503s 0.651s 1.1 53%

10vuser: 0.879s 0.776s 1.765s 0.957s 0.750s 1.7 90%

50vuser 0.272s 0.4 100%(直接卡住,动弹不了,那么肯定遇到瓶颈无疑。)

得出结论:该系统只能允许10个并发用户数进行业务操作,否则CPU将会卡主,动弹不了,导致系统遇到瓶颈。

使用LoadRunner针对机票系统的性能测试具体步骤:

1、确定机票系统项目测试需求

2、确定机票系统性能测试计划

3、确定性能测试用例

4、搭建性能测试环境(开启机票服务)

5、安装LR,并且开发业务性能测试脚本。

6、分析脚本、优化脚本、强化脚本。

7、测试脚本的导通性。

8、设置场景策略。

9、运行场景,添加监控。

10、分析测试结果,出具性能测试报告。

11、对软件系统进行性能调优。

设置场景策略

1、在VUG中打开脚本,点击Tools->Create Controller Scenario 进入到controller控制器组件

2、点击场景日程->添加计划名称->添加计划方式->添加运行模式

3、点击全局计划->确定启动并发数及测试时间并停止测试策略

4、观察全局计划每一步的设置是否与交互计划图的曲线图一一对应

5、点击run选项卡观察到对应的脚本准备完毕

针对“人力资源管理系统”,你(测试经理)是如何开展性能测试工作?

a、首先我会花时间与产品经理、开发经理一起探讨、研究性能需求分析说明书,确定是目标需求还是负载测试出性能瓶颈,如果是手动压测系统瓶颈,我就申请召开项目性能需求评审会议,会上提出此次是手动压测出软件系统瓶颈,最终确定需求点并且带领测试部门员工进一步熟悉项目业务流程。

b、接下来我就根据性能需求文档开始制定性能测试计划,最终确定性能测试计划,然后传达各个部门。

c、待测试计划确定后,我就开始和测试团队一起搭建性能测试环境,我们公司当时使用的工具是LoadRunner.

d、我们当时把人力资源项目所有业务流程都部署在LR工具中,然后开发并强化性能测试脚本。

e、接下来我们通过LR第二大组件Controller创建并运行场景,包括设置并发用户数、运行时间、运行策略等。

f、在运行选项卡点击“运行场景”,进行执行测试。

g、在执行期间,我便安排测试人员在监视图中添加各种事务对应的监控图,从而方便我们监视人力资源项目系统的各项性能指标。

h、根据性能指标的曲线图,分析测试结果。

i、最后我就搜集性能测试数据结果,记录系统瓶颈,并且提出对人力资源管理系统调优的解决方案。

H5就是一个现在比较流行的做网站或是手机app页面的一个技术。所谓H5测试,也就是测试网站页面或是手机app页面的功能是否正常及页面布局是否合理。

Fiddler工具的原理:

Fiddler是最强大最好用的web调试工具之一,它能记录所有客户端和服务器的http和https请求,允许你监视,设置断点,甚至修改输入输出数据的抓包工具。

如何使用Fiddler抓取web端数据包?

1、下 载安装fiddlersetup. exe程序。
2、打开IE浏览器,设置代理网址(127.0.0.1) 和代理端口号: 8888。
3、打开fidgler.工具,设置好对应的代理地址和端口号。
4、在浏览器中可以进行一发系列的操作,比如搜索刘德华
5、返回到fiddler界面,可以看到相关抓取到的图片或者文本。
如何使用fiddler抓取手机app数据包?
1、开启fiddler, 设置好端口号: 8888
2、在本机上安装一个免 费WiFi,并且查找出无限WiFi的IP地址 (192.168.1.3)
3、准备一部手机,使其连接上电脑的WiFi,并且修改网络配置,输入对应的IP地址和端口号。
4、随意的在手机上进行一系列操作,则可以在fiddler.上查看数据。

如何通过fiddler做弱网测试?
1、开启fiddler,设置好端口号:8888
2、在本机上安装一个免费WiFi,并且查找出无限WiFi的IP地址
3、准备一部手机,使其连接上电脑的WiFi,并且修改网络配置,输入对应的IP地址和端口号。
4、随意的在手机上进行一系列操作,则可以在fiddler上查看数据。
5、点击Rules-Customis rules,弹出一个Customis rules脚本
6、向脚本中添加oSession[“request-trickle-delay”] = “3000”;让请求延迟3秒,达到弱网环境。(响应延迟亦是如此)
7、可以在手机上点击一列操作,就可以进行弱网测试。

标签:脚本,事务,Notes,用户,lr,测试,性能
From: https://www.cnblogs.com/xiaoxiangstudy/p/17413129.html

相关文章

  • 笔记本显卡天梯图2023 笔记本显卡性能天梯图2023
    2023最值得入手的笔记本选哪个版本好这些点很重要看过你就懂了http://www.adiannao.cn/dy一、RTX3080Ti笔记本显卡1、将旗舰3080Ti显卡引入笔记本电脑,笔记本将搭载16GBGDDR6显存。2、RTX3080Ti笔记本电脑的起售价为2499美元。3、满功耗的RTX3080Ti可以达到175W功能,带来的......
  • 软件测试03:软件工程和软件生命周期(未完全)
    软件测试03:软件工程和软件生命周期软件危机软件危机是指落后的软件生产方式无法满足迅速增长的计算机软件需求,从而导致软件开发与维护过程中出现一系列严重问题的现象。软件工程基本软件危机对于计算机发展的阻碍,1968年,在联邦德国召开的国际会议,北大西洋公约组织的计算机科......
  • APP-Notes
    常用ADB命令#查看当前PC连接的设备号adbdevices#进入设备adbshell#退出设备Ctrl+D或exit#进入指定设备adbconnect设备号例:adbconnect127.0.0.1:52001(同一局域网下使用)adb-s设备号例:adb-semulator-554shell(通过USB数据线连接下使用)#查询设备的ID和序列......
  • Postman+Newman生成HTML接口测试报告
    NewMan是官方提供的专门用于posman进行自动化的命令行工具环境配置:Node.js:Newman是基于Node.js,所以安装NewMan之前需要保证本地有安装Node.jsNewMan:npminewman-g,安装成功后输入newman-v来检查版本,显示出版本即表示安装成功html格式报告的插件:npminstall-gnewman......
  • 软件测试系列:移动端安卓APP测试必备之ADB命令 (二)
    adb常见命令1、查看日志adblogcat-vtime表示打印时间adblogcat-vcolor表示使用不同的颜色来显示每个优先级adblogcat-f<filename>表示将日志输出到文件(文件存在手机上),例如,adblogcat-f/sdcard/log.logadblogcat>log.log表示保存日志到PC上adblogca......
  • 车载测试系列:CANoe中环境变量和系统变量的区别
    环境变量和系统变量相同点:都可以作为ECU、面板和CAPL程序相连接的媒介。例如,在CAPL程序中,通过改变或监控某一环境变量的值可以触发特定的动作,同样,环境变量的值也可以与面板上控制控件或显示控件相关联。历史原因:1、CANoeV6.0版本之前,只能采用环境变量传输软件仿真过程中的数据......
  • 车载测试系列:汽车ECU通信之时间同步测试验证
    时钟同步功能给车载系统提供统一的时间基准,在高级别智能驾驶、视音频时钟同步、数据上传分析等场景中发挥着越来越重要的作用。目前以太网时钟同步协议中,使用最多的为精准时钟同步协议(GeneralizedPrecisionTimeProtocol,gPTP),遵循IEEE802.1AS标准。在AUTOSAR中也有对应的......
  • 第四十届中国软件质量大会:APP专项测试
    结合我自身的经验与本次大会宋琦(俊逸)老师的讲解,我将从以下几个方面来说为什么进行APP专项测试和如何进行。1.什么是专项测试,手机的专项测试有哪些?   专项测试是为了与区分pc端开来,移动端所特有的,例如:弱网,安装升级卸载,系统兼容(安卓(各个厂商),ios),系统交互,性能等;2.为什么进行专项......
  • 测试心得:一个不断总结,不断思考的过程
    1.测试不仅仅是我写了多少用例,测了多少需求多少功能点,搞了多少自动化脚本,更要对整个项目进行把控,把握项目存在的风险,督促项目进度。一个亲身经历:一位同事在测试的时候,最后收尾阶段发现了三个新的问题,两个是第三方平台的问题,无法解决,一个问题可以解决,项目经理给出了5天的时间,同事同......
  • 功能测试用例模板
    功能测试就是对产品的各功能进行验证,根据功能测试用例,逐项测试,检查产品是否达到用户要求的功能。在功能测试中,注意的检测重点包括:界面操作是否符合用户习惯:测试人员要确保软件界面的操作符合用户的使用习惯,如按钮的位置、字体大小、颜色等是否合适,操作是否简单、方便、快捷。......