《性能测试工具介该用户绍耳朵软.ppt》由会员分享,可在线阅读,更多相关《性能测试工具介该用户绍耳朵软.ppt(37页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、性能测试工具介绍 武汉软通测试组:胡婷婷一、性能测试的重要性 性能测试是软件测试过程中的重要组成部分,一个合格的软件除了完成需求中的功能之外,性能上的要求也逐渐变的重要。如果在测试过程中发现性能问题,修复起来是非常艰难的,因为这常常意味着程序的算法不好,结构不好,或者设计有问题。因此在产品开发的开始阶段,就要考虑到软件的性能问题。二、性能测试准备工作 要测试什么或测试的对象是谁?要测试什么问题或我们想要弄清楚或是论证的问题?哪些因素会影响测试结果?需要怎样的测试环境?应该怎样进行测试?三、主要性能测试工具介绍 LoadRunner LoadRunner 是一种预测系统行为和性能的工业标准级负载
2、测试工具。通过以模拟上千万用户实施并发负载及实时asdfghuj阿萨德法国户籍性能监测的方式来确认和查找问题,LoadRunner 能够对整个企业架构进行测试。Winrunner WR 可以帮助你自动处理从测试开发到测试执行的整个过程。你可以创建可修改和可复用的测试脚本,而不用担心软件功能模块的变更。当你在软件操作中点击 GUI(图形用户界面)对象时,WR 会用一种类C的测试脚本语言(TSL)生成一个测试脚本。你可以用手工编阿萨德风格化预计看收到法规和健康ixcfvghjk是地方刚回家现场vbhnjk是地方刚回家先吃饭vghj程的方法编辑这个脚本。WR 包括的功能生成器(Function Ge
3、nerator)可以帮助你快速简便的在已录制的测试中添加功能。Rational Robot IBM 公司提供的 Rational Robot 可开发三种测试脚本:用于功能测试的 GUI 脚本、用于性能测试的 VU 以及 VB 脚本。四、LoadRunner 测试工具介绍1.制定负载测试计划 在任何类型的测试中,测试计划都是必要的步骤。测试计划是进行成功的负载测试的关键。任何类型的测试的第一步都是制定比较详细的测试计划。一个比较好的测试计划能够保证 LoadRunner 能够完成负载测试的目标。分析应用程序 确定系统的组成 画出系统的组成图。组成图要包括系统中所有的组件,以及相互之间是如何通讯的
4、。描述系统配置 对于一个项目,试着回答以下问题,对系统的组成图进行完善。1.预计有多少用户会连到系统2.客户机的配置情况(硬件、内存、操作系统、软件工具等)3.服务器使用什么类型的数据库以及服务器的配置情况4.客户机和服务器之间如何通讯5.还有什么组件会影响 Response Time 指标6.通讯装置(网卡、路由器等)的吞吐量是多少?每个通讯装置能够处理多少并发用户 分析最普遍的使用方法 了解该系统最常用的功能,确定哪些功能需要优先测试、什么角色使用该系统以及每个角色会有多少人、每个角色的地理分布情况等,从而预测负载的最高峰出现的情况。确定测试目标 根据我们的调查和分析确定我们要进行测试的目
5、标。2.开发测试脚本 录制测试脚本注意事项:1.只有选择合适的协议,才能录制出有用的脚本。2.尽量在录制过程中加入事务,集合点以及注释。对于事务和集合点,应该给一个代表具体含义的名字 3.Action 的内容要尽量简单,避免包含过多的操作。录制步骤:输入正确的 url 地址,对按钮 option.的设置;点击确定后,开始进行脚本的录制;在录制过程中,我们可以根据需要增加多个 Action,事务,集合点等对象,使得我们的脚本更加容易阅读;录制完成后,LR 会自动生成测试脚本。为你的脚本取个名字并保存,一个简单的测试脚本就录制完成了。Runtime Settings Run logic:Numbe
6、r of iterations Think time:ignore Think time Others:Use Defaults参数化输入 如果用户在录制脚本过程中,填写提交了一些数据,比如要增加数据库记录。这些操作都被记录到了脚本中。当多个虚拟用户运行脚本时,都会提交相同的记录,这样不符合实际的运行情况,而且有可能引起冲突。为了更加真实的模拟实际环境,需要各种各样的输入。参数化输入是一种不错的方法。用参数表示用户的脚本有两个优点:可以使脚本的长度变短。可以使用不同的数值来测试你的脚本。参数化包含以下两项任务:在脚本中用参数取代常量值。设置参数的属性以及数据源。参数化仅可以用于一个函数中的参量
7、。你不能用参数表示非函数参数的字符串。参数化输入 DateTime:很简单,在需要输入日期/时间的地方,可以用DateTime 类型来替代。其属性设置也很简单,选择一种格式即可。当然也可以定制格式。Group Name:暂时不知道何处能用到,但设置比较简单。在实际运行中,LoadRunner使用该虚拟用户所在的Vuser Group 来代替。但是在VuGen 中运行时,Group Name将会是None Load Generator Name:在实际运行中,LoadRunner 使用该虚拟用户所在LoadGenerator 的机器名来代替。Iteration Number:在实际运行中,Loa
8、dRunner 使用该测试脚本当前循环的次数来代替。Random Number:随机数。很简单。在属性设置中可以设置产生随机数的范围 File:需要在属性设置中编辑文件,添加内容,也可以从现成的数据库中取数据参数化输入 Unique Number:唯一的数。在属性设置中可以设置第一个数以及递增的数的大小。注意:使用该参数类型必须注意可以接受的最大数。这里说的递增意思是各个用户取第一个值的递增数,每个用户相邻的两次循环之间的差值为1。举例说明:假如起始数为1,递增为5,那么第一个用户第一次循环取值1,第二次循环取值2;第二个用户第一次循环取值为6,第二次为7;依次类推。Vuser ID:设置比较
9、简单。在实际运行中,LoadRunner 使用该虚拟用户的ID 来代替,该ID 是由Controller 来控制的。但是在VuGen 中运行时,Vuser ID 将会是 1。User Defined Function:从用户开发的dll 文件提取数据。3.创建运行场景 运行场景描述在测试活动中发生的各种事件。一个运行场景包括一个运行虚拟用户活动的 Load Generator 机器列表,一个测试脚本的列表以及大量的虚拟用户和虚拟用户组。我们使用 Controller 来创建运行场景。4.运行测试5.监视场景 常用的监视器:Running Vusers Trans Response Time T
10、hroughput Windows Resources Unix Resources6.分析测试结果 LoadRunner 提供的 Analysis 工具自动对测试运行后的结果进行分析。五、WinRunner 工具使用介绍 WinRunner主窗口 主窗口包括以下部分:a).WinRunner title bar 标题栏 b).Menu bar 菜单栏 c).Standard toolbar 标准工具栏,包含运行测试时常用的命令 d).User toolbar 用户工具栏,包含创建测试时常用的命令 e).Status bar 状态栏 WinRunner测试过程 WR 的测试过程分六个步骤:创建
11、 GUI map 创建测试 调试测试 执行测试 查看测试结果 报告发现的错误两种录制模式 环境判断模式(Context Sensitive mode)当你进行录制时间,WR会对你选取的每个对象做唯一描述并写入GUI map(映射)中。GUI map和测试脚本被分开保存维护。模拟模式(Analog mode)这种模式记录鼠标点击、键盘输入和鼠标在二维平面上(x轴和y轴)的精确运动轨迹。执行测试时,WR让鼠标根据轨迹运动。录制测试脚本的相关概念 同步点 同步点让你解决测试和被测软件之间的时间占用问题。例如:如果你创建一个打开数据库软件的测试,你可以插入一个同步点让测试等待直到在数据库中的记录在屏幕
12、上被加载。检查点 检查点让你比较软件当前版本和以前版本的区别。同步点用来处理测试运行中可能发生的时间控制和窗体位置等问题。在脚本中可以插入以下四类检查点:GUI检查点检验GUI对象信息。比如:你可以查看一个 button 是否可用或一个清单中哪个项目被选定了。位图检查点做一个窗体或区域的截图,并把这张图片和以前版本进行比较。文本检查点读取GUI对象和位图中的文本,使你可以检验文本内容。数据库检查点检查一定数量的行和列组成的集合(这个集合由你在数据库中创建)的内容。GUI map file模式的选取 计划和创建测试时,你需要确定 GUI map 的工作模式。作为 WR 新手或 GUI map 只
13、使用一次,可以使用GUI Map File Per Test 模式。这种模式下,每次新建测试就自动新建一个 GUI map file。在你保存测试时,GUI map file 自动保存;在你打开测试时,GUI map file 自动加载。作为 WR 老手或 GUI map 将被不同测试共享,建议使用更有效率的 模式。这是 WR 的默认模式。WR6.02 或更低版本都是使用这种模式,且只能使用这种模式。下面是两种模式的优缺点比较:录制测试 录制时有以下要点:开始录制前,关闭所有无关的程序。使用 invoke_application 语句打开被测软件。录制窗体中的对象前,点击窗体的标题栏来录一个
14、win_activate 语句。这是用来激活窗体的。创建可以自我复原的测试。当测试结束时,测试环境必须恢复到测试前的状态。录制时,你可以把 WR 最小化而使用 User 工具条(需要先把工具条和菜单分开)。这样你就可以全屏录制程序了。所有主要命令都在工具条上,当然你也可以自定义工具条的内容。录制过程中,在一个窗体中移动时尽量使用鼠标,不要用 Tab 键。在 Analog 模式下录制时,尽量使用热键插入检查点,不要用 WR 菜单或工具条。在 Analog 模式下录制时,避免超前输入。如果你需要打开一个窗口,就等窗口完全打开后再继续操作。避免按住一个鼠标键不放,尤其是当这个动作会造成重复操作时(如
15、点在滚动条上来移动屏幕显示的内容)。因为这样会造成一个无法被回放的时间感应(time-sensitive)操作。如果真的需要对鼠标键连续操作,可以多点击几下。WR 支持 RTL-style(从右到左)的窗体属性。包括菜单从右到左排列和输入、在左侧的滚动条、附加文本在 GUI 对象的右上角。WR 还支持输入时同时按下 CTRL 和 SHIFT(或 ALT 和 SHIFT)切换语言。WR 支持下拉和类菜单的工具条(比如 IE)。虽然类菜单的工具条看上去和菜单一模一样,但两者属于不同的类,而且WR录制起来也不同。工具条中被选定的项目会被录成 toolbar_select_item 语句,菜单中的则是 menu_select_item 语句。如果一个测试文件夹或测试脚本文件在系统中被标记成只读,WR 就不能对它进行任何修改操作。调试测试 WR 的脚本(TSL)是采用类 C 的语言编写的。你可以自己编写代码,使脚本能够更真实的模拟实际环境。执行测试 对于一个录制好的脚本,WR 提供三种测试模式:Verify 真正的执行测试,并且保存测试结果。Debug 检查脚本是否执行流畅,是否有错误,只保存最后一次执行的测试结果。Update 当想要更新检查点的预期值时。Thanks!
限制150内