第10章软件测试自动化.ppt_第1页
第10章软件测试自动化.ppt_第2页
第10章软件测试自动化.ppt_第3页
第10章软件测试自动化.ppt_第4页
第10章软件测试自动化.ppt_第5页
已阅读5页,还剩92页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

,软件测试,计算机科学与工程系,北华航天工业学院,第10章软件测试自动化,第10章软件测试自动化,教学内容10.1软件测试自动化概述10.2自动化测试的原理和方法10.3使用QTP进行功能测试10.4使用LoadRunner进行性能测试,第10章软件测试自动化,教学目标理解软件自动化测试的基本概念了解常用自动化测试工具掌握使用QTP进行功能测试的方法;掌握使用LoadRunner进行性能测试的方法。,10.1软件自动化测试概述,一、自动化测试的必要性软件测试的工作量很大;测试中的许多操作是重复性的、非智力性的和非创造性的,并要求做准确细致的工作;软件自动化测试的定义它是相对手工测试而存在的,主要是通过所开发的软件测试工具、脚本等来实现,具有良好的可操作性、可重复性和高效率等特点。,10.1软件自动化测试概述,二、自动化测试的优点,提高了测试执行速度,节省了时间。提高了测试效率。提高了准确度和精确度。更好地利用资源。模拟测试条件。,自动测试和手工测试相比较的优点,10.1软件自动化测试概述,三、自动化测试的适用情况回归测试;大量不同数据输入的功能测试;用手工测试完成难度较大的测试,如性能测试、负载测试、强度测试等。,四、自动化测试的认识误区1、自动化测试完全取代人工测试手工测试不可替代的优点:测试用例的设计:测试人员的经验和对错误的猜测能力是工具不可替代的。界面和用户体验测试:人类的审美观和心理体验是工具不可模拟的。正确性的检查:人们对是非的判断和逻辑推理能力是工具不具备的。2、测试用例可完全由测试工具自动生成;3、测试工具可在任何场合使用;4、自动化后测试效率立刻提高;,10.1软件自动化测试概述,10.1软件自动化测试概述,五、自动化测试工具测试工具可以从两个不同的方面去分类。根据测试方法不同,自动化测试工具可以分为:白盒测试工具、黑盒测试工具根据测试的对象和目的,自动化测试工具可以分为:单元测试工具、功能测试工具、负载测试工具、性能测试工具、Web测试工具、数据库测试工具、回归测试工具、嵌入式测试工具、页面链接测试工具、测试设计与开发工具、测试执行和评估工具、测试管理工具等,(一)主流测试工具1、测试管理工具用于对测试进行管理,负责对测试计划、测试用例、测试的实施进行管理。还能对产品缺陷进行跟踪管理、产品特性管理等。代表:IBMRational公司的TeamManager、HPMercuryInteractive公司的TestDirector(QualityCenter);,10.1软件自动化测试概述,测试工具,(一)主流测试工具2、功能测试工具用于检测程序能否达到预期的功能要求并正常运行。(QTP:QuickTestProfessional)3、性能测试工具用于确定软件和系统的性能。(LoadRunner)4、白盒测试工具(XUnit系列),10.2自动化测试的原理和方法,(一)脚本技术脚本是一组测试工具执行的指令集合,也是计算机程序的一种形式。脚本可以通过录制测试的操作产生,然后再做修改,这样可以减少脚本编程的工作量。当然,也可以直接用脚本语言编写脚本。脚本技术可以分为以下几类:线性脚本是录制手工执行的测试用例得到的脚本。结构化脚本类似于结构化程序设计,具有各种逻辑结构(顺序、分支、循环),而且具有函数调用功能。数据驱动脚本、关键字驱动脚本、共享脚本。,10.2自动化测试的原理和方法,(二)录制和回放录制和回放是一种黑盒测试的自动化方法。录制是将用户每一步操作都记录下来。这种记录的方式有两种:程序用户界面的像素坐标或程序显示对象(窗口、按钮、滚动条等)的位置,以及相对应的操作、状态变化或是属性变化。所有的记录转换为一种脚本语言所描述的过程,以模拟用户的操作。回放时,将脚本语言所描述的过程转换为屏幕上的操作,然后将被测系统的输出记录下来同预先给定的标准结果比较。这可以大大减轻黑盒测试的工作量,在迭代开发的过程中,能够很好地进行回归测试。,10.2自动化测试的原理和方法,(三)代码分析代码分析类似于高级编译系统,一般针对不同的高级语言去构造分析工具,在工具中定义类、对象、函数、变量等定义规则、语法规则;在分析时对代码进行语法扫描,找出不符合编码规范的地方;根据某种质量模型评价代码质量,生成系统的调用关系图等。,10.3使用QTP进行功能测试,10.3.1QTP简介QTP是一种基于Web的企业级自动化功能测试工具。使用QTP进行自动化测试的好处:快速(Fast)、可靠(Reliable)、可重复(Repeatable)、可程序化(Programmable)、广泛性(Comprehensive)、可再使用(Reusable),10.3使用QTP进行功能测试,10.3.1QTP简介1、QTP安装;2、QTP启动;3、QTP界面;,QTP程序界面,QTP程序界面,QTP界面主要元素:标题栏:显示当前测试脚本的名称。菜单栏:包含QTP的所有菜单命令项。文件工具条:,QTP程序界面,QTP界面元素:测试工具条:包含了在创建、管理测试脚本时要使用的按钮。,QTP程序界面,QTP界面元素:调试工具条:包含在调试测试脚本时要使用的工具条。,QTP程序界面,QTP界面元素:测试脚本管理窗口,提供了两个可切换的窗口,分别通过图形化方式和VBScript脚本方式来管理测试脚本。DataTable窗口,用于测试的参数化。状态栏,显示测试过程中的状态。ActiveScreen窗口,10.3使用QTP进行功能测试,10.3.2QTP操作流程1、准备录制;2、进行录制;3、加强测试脚本;4、调试脚本;5、执行测试脚本;6、分析结果,报告问题;,QTP测试过程,1、准备录制打开你要对其进行测试的应用程序,并检查QuickTest中的各项设置是否适合当前的要求。2、进行录制打开QuickTest的录制功能,按测试用例中的描述,操作被测试应用程序。,3、加强测试脚本通过加入检查点、参数化测试,以及添加分支、循环等控制语句,来增强测试脚本的功能,使将来的回归测试真正能够自动化。4、调试脚本调试脚本,检查脚本是否存在错误。,QTP测试过程,5、在回归测试中执行测试脚本在对应用程序的回归测试中,通过QuickTest回放对应用程序的操作,检验软件正确性,实现测试的自动化进行。6、分析结果,报告问题查看QuickTest记录的运行结果,记录问题,报告测试结果。,QTP测试过程,MercuryTours示范网站,MercuryTours示范网站是一个提供机票预订服务的网站:1首先要注册一个账号。2登录网站并预订机票在使用网站时,从FindFlight网页开始,按照画面上的指示预订机票。3结束订票动作完成订票动作后,在网页上点选SignOff按钮。4关闭浏览器,10.3.3QTP测试过程,(一)录制前的准备在录制脚本前,首先要确认以下几项:已经在MercuryTours示范网站上注册了一个新的使用者账号。在正式开始录制一个测试之前,关闭所有已经打开的IE窗口。关闭所有与测试不相关的程序窗口。,10.3.3QTP测试过程,(二)录制测试脚本使用QuickTest录制一个测试脚本,在MercuryTours范例网站上预定一张机票。C/S结构录制:B/S结构录制:,(二)录制测试脚本,1.执行QuickTest并开启一个全新的测试脚本2.开始录制测试脚本3停止录制与保存脚本4.录制结果分析,(二)录制测试脚本,1.执行QuickTest并开启一个全新的测试脚本开启QuickTest,加载“Web”add-ins。在“Add-inManager”窗口中选择“Web”选项,点击“OK”关闭“Add-inManager”窗口,进入QuickTestProfessional主窗口。,(二)录制测试脚本,2.开始录制测试脚本(1)设置RecordandRun:选择”AutomationRecordandRunSettings”显示如图“录制、运行设置对话框在Web标签页,选择“Openthefollowingaddresswhenarecordorrunsessionbegins.”单选按钮,浏览器选择“MicrosoftInternetExplorer”为浏览器的类型,在“Address”中添入:1080/WebTours/,这样在录制的时候就能打开IE连接到服务器上,(二)录制测试脚本,对于Windows程序,选择WindowsApplication选项卡:1、如果选择“RecordandruntestonanyopenWindows-basedApplication”单选按钮,则在录制过程中,QuickTest会记录你对所有的Windows程序所做的操作。2、如果选择“Recordandrunonlyon单选按钮,则在录制过程中,QuickTest只会记录对添加到“Applicationdetails”列表框中的应用程序的操作。,(二)录制测试脚本,(二)录制测试脚本,2.开始录制测试脚本(2)脚本录制,点击“New”项,创建一个新的测试。点击Record按钮,开始录制脚本。KeywordView显示了QTP录制了每一个操作步骤分析KeywordView中的测试脚本。,开始录制脚本,(二)录制测试脚本,3.停止录制与保存脚本,在QuickTest中,选择“Stop”命令,录制停止。在QuickTest中,选择“FileSave”菜单命令,保存录制的测试。在保存时,要确保保存对话框中的“SaveActiveScreenfiles”复选框被选中,保存为Recording。,(二)录制测试脚本,4.录制结果分析,分析KeywordView中的测试脚本,Item:以阶层式的图标显示每个操作步骤所作用到的组件、工具对象、函数调用或脚本Operation:要在当前组件上执行动作,如点选(Click),选取(Select)Value:执行的动作参数,例如当鼠标点选一张图片时是用左键还是右键Assignment:所用到的变量,分析KeywordView中的测试脚本,Comment:在测试脚本中加入的批注Documentation:自动产生用来描述此操作步骤的英文解释选择ViewExpendAll检测测试脚本的每一个步骤,运行分析测试,选择”ToolOptions”菜单,如图选择Run标签页:注意“Savestillimagecapturestoresults”这一项,它是用来设置需要在测试结果中保存哪些图象信息的。一般情况下我们选择“Forerrors”或“Forerrorsandwarnings”,即在回放测试过程中出现问题时,保存图象信息。为了更多的展示QuickTest的功能,我们在这里暂且选择“Always”。,执行RUN,选择AutomationRun菜单;确定将本次测试运行结果的保存位置。,分析测试结果,测试执行完成后显示测试结果,窗口左半部分是一个树状视图,以树叶的形式列出了测试执行过程中的每一个操作步骤;窗口右半部分给出了本次测试执行过程的概要信息,10.3使用QTP进行功能测试,10.3.2QTP操作流程1、准备录制;2、进行录制;3、加强测试脚本;4、调试脚本;5、执行测试脚本;6、分析结果,报告问题;,(三)加强测试脚本,加强测试脚本1、建立检查点2、参数化设置,10.3.4建立检查点,“检查点”是将指定属性的当前值与该属性的期望值进行比较的验证点。这能够确定网站或应用程序是否正常运行。当添加检查点时,QuickTest会将检查点添加到关键字视图中的当前行并在专家视图中添加一条“检查检查点”语句。运行测试或组件时,QuickTest会将检查点的期望结果与当前结果进行比较。如果结果不匹配,检查点就会失败。可以在“测试结果”窗口中查看检查点的结果。,5.4.4建立检查点,检查点的种类,检查对象步骤,打开或创建测试脚本选择检测点的位置加入对象检测点保存设置,选择检测点位置,选中检查点如“PassFirst0”,在Actionscreen会显示BookaFlight网页,而且被选取的对象也会被框起来。将鼠标定位在填写用户名的编辑框中,点击鼠标右键。,插入标准检查点,在对象上点击右键打开ObjectSelection-CheckpointProperties;点选OK,开启CheckpointProperties界面,点击OK。,保存设置,QuickTest会在你选取的步骤之前建立一个标准的检查点选择Filesave菜单命令,保存;接下来你可以按照以上的步骤建立其他类型的检查点,插入文字检查点,选取要建立检查点的文字建立文字检查点储存测试脚本,选择要建立检查点的文字,建立文字检查点,点选InsertTextCheckpoint开启TextCheckpointProperties对话窗口,当CheckedText出现在下拉式清单中时,在Constant字段会显示你刚刚选取的文字。这也就是QuickTest在执行测试时所要检查的文字。,储存测试脚本,点选OK关闭对话窗口。QuickTest会在测试脚本上加上一个文字检查点,这个文字检查点会出现在FlightConfirmation:Mercury网页上。点选FileSave或是点选工具列上的Save按钮,10.3.5参数化设置,参数化应用:需要对多种不同的测试数据,针对同样的操作或功能进行测试。例:验证不同用户的登录操作功能。(1)将将一个用户的登录操作录制下来;(2)使用QuickTest的参数化功能,把用户名和密码参数化;(3)建立数据表,输入各组测试数据;(4)执行QuickTest测试脚本,完成测试。,定义数据表参数,打开或新建测试脚本。选取要参数化的文字;然后再点选参数图示会开启ValueConfigurationOptions对话窗口。,设定要参数化的属性,点选Parameter。可以使用参数值来取代NewYork这个常数值。请选择DataTable这个选项,这个选项表示此参数的值会从QuickTest的DataTable中取得。Name字段表示参数名称。,value字段的值是从DataTable中的departure字段中取得。QuickTest会在DataTable中显示参数值。DataTable中加入更多条数据,让QuickTest可以使用这些资料执行测试脚本。,参数化结果,实验四使用QTP进行功能测试,10.4使用LoadRunner进行性能测试,简介使用概述使用VuGen开发脚本使用Controller创建场景使用Analysis分析运行结果,一、简介,LoadRunner是MercuryInteractive用来测试应用程序性能的工具。LoadRunner通过模拟一个多用户并行工作的环境来对应用程序进行负载测试。通过使用最少的硬件资源,这些虚拟用户提供一致的、可重复并可度量的负载,像实际用户一样使用所要测试的应用程序。LoadRunner深入的报告和图提供了评估应用程序性能所需的信息。,LoadRunner通过使用虚拟用户Vuser代替实际用户。这些Vuser模拟实际用户的行为,运行实际的应用程序。因为一台计算机上可以运行许多Vuser,因此LoadRunner减少了对硬件的要求。LoadRunnerController可以从一个单一的控制点简单有效地控制所有的Vuser。LoadRunner联机监视应用程序的性能。LoadRunner在测试过程中会自动记录应用程序的性能。LoadRunner可检查出现性能延迟的地方:网络或客户端延迟、CPU性能、I/O延迟、数据库锁定和数据库服务器上的其他问题。LoadRunner将监视网络和服务器资源以帮助改进性能。,一、简介-LoadRunner解决方案,一、简介-LoadRunner测试过程,LoadRunner测试过程:制定负载测试计划开发测试脚本创建运行场景执行测试监视场景分析测试结果,二、LoadRunner使用概述,LoadRunner包含很多组件,其中最常用的有VirtualUserGenerator(简称VuGen)、Controller,Analysis。1、Mercury虚拟用户生成器(VuGen)创建脚本VuGen通过录制应用程序中典型最终用户执行的操作来生成虚拟用户(Vuser)。VuGen将这些操作录制到自动虚拟用户脚本中,以便作为负载测试的基础。,二、LoadRunner使用概述,2、MercuryLoadRunnerController设计和运行场景Controller是用来创建、管理和监控负载测试的中央控制台。使用Controller可以运行用来模拟真实用户执行的操作的脚本,并可以通过让多个Vuser(虚拟用户)同时执行这些操作来在系统中创建负载。3、MercuryAnalysis分析场景MercuryAnalysis提供包含深入的性能分析信息的图和报告。使用这些图和报告,可以标识和确定应用程序中的瓶颈,并确定需要对系统进行哪些更改来提高系统性能。,三、使用VuGen开发脚本,使用VuGen开发脚本的步骤:录制测试脚本完善测试脚本配置Run-TimeSettings项单机运行测试脚本创建运行场景,三、使用VuGen开发脚本-录制测试脚本,点击开始-MercuryLoadRunner-Applications-VirtualUserGenerator或:开始-MercuryLoadRunner-LoadRunner-LoadTesting-Create/EditScripts来启动VuGen。,启动VuGen后,可以选择新建单协议脚本,多协议脚本,打开脚本等。,三、使用VuGen开发脚本-录制测试脚本,选择协议,新建一个用户脚本,选择系统通讯的协议,这里我们需要测试的是Web应用,所以我们需要选择Web(HTTP/HTML)协议,确定后,进入主窗体。,三、使用VuGen开发脚本-录制测试脚本,设置录制选项,Applicationtype中选择应用程序类型InternetApplicationURL中输入要测试的网址Workingdirectory中设置工作目录RecordintoAction中选择要把录制的脚本放到哪一个部分,建议选择Action,三、使用VuGen开发脚本-录制测试脚本,设置录制选项,VuGen中的脚本分为三部分:vuser_init、vuser_end和Action。其中vuser_init和vuser_end都只能存在一个,不能再分割,而Action还可以分成无数多个部分(通过点击New按钮,新建ActionXXX)“Recordtheapplicationstartup”默认情况下是选中的,说明应用程序一旦启动,VuGen就会开始录制脚本;如果没有选中,应用程序启动后,VuGen出现下图所示对话框,并且暂时不会开始录制脚本,用户操作应用程序到需要录制的地方,按下“Record”按钮,VuGen才开始录制。,三、使用VuGen开发脚本-录制测试脚本,录制工具条介绍,录制过程中,在屏幕上会有一个工具条出现。,录制完成后,按下“结束录制”按钮,VuGen自动生成用户脚本,退出录制过程。,三、使用VuGen开发脚本-录制测试脚本,查看脚本录制结束后,可以通过两种方式来查看脚本:脚本视图及树视图,1、脚本视图脚本视图是一种基于文本的视图,列出了作为API函数的Vuser操作。要在脚本视图中查看脚本,请单击工具栏上的“ViewScript”按钮或者选择“View”“ViewScript”。在脚本视图中,VuGen将在编辑器中显示带有彩色编码的函数及其变量值的脚本。,三、使用VuGen开发脚本-录制测试脚本,1、脚本视图,三、使用VuGen开发脚本-录制测试脚本,查看脚本,2、树视图树视图是基于图标的视图,列出了作为步骤的Vuser操作.要在树视图中查看脚本,请单击工具栏上的“ViewTree”按钮或者选择“View”“ViewTree”。对于录制期间所执行的每一步骤,VuGen都在测试树中生成一个图标和一个标题。在树视图中,将看到作为脚本步骤的用户操作。大多数步骤都附带相应的录制快照。,三、使用VuGen开发脚本-录制测试脚本,查看脚本,2、树视图,运行脚本Vuser-Run设置运行属性:Vuser-Run-timeSettings查看结果View-TestResults,三、使用VuGen开发脚本-录制测试脚本,三、使用VuGen开发脚本-完善测试脚本,当录制完一个基本的用户脚本后,在正式使用前还需要完善测试脚本,增强脚本的灵活性。例如,可以在脚本中插入名为内容检查的步骤,以验证某些特定内容是否显示在返回页上。可以修改脚本来模拟多用户行为,也可以用事务来度量特定的业务流程。,三、使用VuGen开发脚本-完善测试脚本,事务,事务(Transaction):为了衡量服务器的性能,我们需要定义事务。比如:在脚本中有一个数据查询操作,为了衡量服务器执行查询操作的性能,可以把这个操作定义为一个事务,这样在运行测试脚本时,LoadRunner运行到该事务的开始点时,就会开始计时,直到运行到该事务的结束点,计时结束。这个事务的运行时间会在结果中显示。插入事务操作可以在录制过程中进行,也可以在录制结束后进行。LoadRunner运行在脚本中插入不限数量的事务。,三、使用VuGen开发脚本-完善测试脚本,在需要定义事务的操作前面插入事务的“开始点”,通过菜单或者工具栏插入。,插入事务的方法,输入事务的名称。注意:事务的名称最好要有意义,能够清楚的说明该事务完成的动作,三、使用VuGen开发脚本-完善测试脚本,插入事务的方法,插入事务的开始点后,在需要定义事务的操作后面插入事务的“结束点”。同样可以通过菜单或者工具栏插入。,默认情况下,事务的名称列出最近的一个事务名称。一般情况下,事务名称不用修改。事务的状态默认情况下是LR_AUTO。一般情况下,我们也不需要修改。,三、使用VuGen开发脚本-完善测试脚本,添加参数的方法,打开测试脚本-选择要替换的参数-右键,编辑参数,三、使用VuGen开发脚本-完善测试脚本,三、使用VuGen开发脚本-单机运行测试脚本,运行脚本可以通过菜单或者工具栏来操作:,执行“运行”命令,VuGen先编译脚本,检查是否有语法等错误。如果有错误,VuGen将会提示错误。双击错误提示,VuGen定位到错误所在行。如果编译通过,即开始运行并显示出现运行结果。,三、使用VuGen开发脚本-单机运行测试脚本,运行时设置:Vuser-Run-TimeSettings,设置各运行参数.查看测试结果:View-TestResults,四、使用Controller创建场景-新建场景窗口介绍,Loadrunner的场景描述在测试活动中发生的各种事件。一个场景包括一个运行虚拟用户活动的LoadGenerator机器列表,一个测试脚本的列表以及大量的虚拟用户和虚拟用户组。,在VuserGenerator中,Tools-CreatControllerScenario或:在LoadRunner中使用RunLoadTest打开LoadRunnerController,自动弹出NewScenario窗口。,四、使用Controller创建场景-新建场景窗口介绍,在新建场景的窗口,有两种场景类型:ManualScenario:手动的设置场景(1)选择该项后,在场景中我们需要定义要使用的虚拟用户的总数,LoadGeneratormachine机器集,然后我们为每一个脚本分配要运行的虚拟用户的百分比。GoalOrientedScenario(2):在测试计划中,一般都包括性能测试要达到的目标。选择该项后,LoadRunner基于这个目标,自动为你创建一个场景。在场景中,我们只要定义好我们的目标即可。,四、使用Controller创建场景-新建场景窗口介绍,新建场景窗口:,四、使用Controller创建场景-Controller设计窗口概述,Controller窗口的“设计”选项卡包含两个主要部分:场景计划和场景组,四、使用Controller创建场景-Controller设计窗口概述,Controller窗口的选项卡包含两个主要部分:场景计划和场景组。,场景计划:在“场景计划”部分中,可以设置负载行为以精确地描绘用户行为。还可以确定将负载应用于应用程序的速率、负载测试持续时间以及如何停止负载。场景组:可以在“场景组”部分中配置Vuser组。在此部分中,可以创建代表系统典型用户的各种组。可以定义这些典型用户运行的操作、运行的Vuser数以及Vuser运行时所用的计算机。,四、使用Controller创建场景-Controller运行窗口概述,Controller窗口中的“运行”选项卡是用来管理和监控测试的控制中心。“运行”视图包含的5个主要部分:场景组,场景状态,可用图树,图

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论