自动化功能测试及用例设计46394.pptx
《自动化功能测试及用例设计46394.pptx》由会员分享,可在线阅读,更多相关《自动化功能测试及用例设计46394.pptx(166页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。
1、自动化功能测试及用例设计自动化功能测试及用例设计袁玉宇yuyu_本部分课程目标本部分课程目标l测试与自动化测试lWinRunner介绍l测试用例设计自动化自动化自动化是对策略、经验、工具及工件的使用,它减少了对手工或人的干预或非技能方面的介入,及重复或冗长工作需要。测试自动化测试自动化l自动化测试直接依赖于整个软件流程的可自动化成熟度。l包括:测试流程、持续编译、持续集成、测试系统发布、测试执行、测试管理、缺陷测试跟踪等多个方面的自动化实现和整合。测试和自动化的区别测试和自动化的区别自动化测试的误区自动化测试的误区l期望自动化测试能够完全取代手动测试l期望自动化测试发现大量的新缺陷l期望自动化
2、测试能够智能的完成绝大多数工作l期望自动化测试是一劳永逸的自动化测试的目的自动化测试的目的l缩短测试周期,加快测试进度,从而加快产品发布进度l实现更大规模、更大频率的测试l减少手工测试的人力资源投入,降低测试成本l提高测试覆盖率l保证回归测试的可控性和一致性自动化测试的目的自动化测试的目的l提高测试用例执行的可靠性l在不降低质量的情况下由低技能的人员完成l定义清晰的测试过程,降低和避免测试人员的个体对整体测试的影响l提高测试人员的工作效率,并使更高技能的人员有时间和资源,对产品进入更深层次的测试。l辅助测试人员完成手工无法完成的测试工作。测试用例的质量指标测试用例的质量指标l检测软件缺陷的有效
3、性l测试用例的可仿效性l测试用例执行、分析和调试的经济性l测试用例的可修改行Keviat图图适合做自动化测试情况适合做自动化测试情况l产品型项目l大型增量式开发、持续集成项目l能够自动编译、自动发布的系统l需要多次重复机械性动作的测试适合做自动化测试情况适合做自动化测试情况l简单而烦琐的基于命令行交互方式的测试l完成一些手工难以完成的测试目标l涉及大量第三方软件或设备的测试不适合做自动化测试情况不适合做自动化测试情况l按需定制型项目(通常为一次性的短期项目)l项目周期很短的项目l业务规则复杂的项目不适合做自动化测试情况不适合做自动化测试情况l依赖于人类的习惯、感官或智力的测试内容l不需要频繁测
4、试的软件l软件不稳定被测软件产品被测软件产品 l提供API的软件l基于命令行的接口l基于GUIl基于终端接口自动化测试的最佳实践l自动化测试的代码效率不是越高越好l自动化测试的执行过程和记录应便于分析l自动化测试的设计和脚本可读性越好越好自动化测试的最佳实践l自动化测试的脚本可维护性是重中之重l完整性是自动化测试成功的前提l自动化测试脚本之间是松耦合或彼此独立的自动化技术自动化技术 l模拟/虚拟技术l对象管理技术l脚本技术l比较技术自动化技术自动化技术l执行技术l录制、回放技术l同步技术l健壮性技术自动化测试的脚本技术l线性脚本l结构化脚本l共享脚本l数据驱动脚本l关键字驱动脚本线性脚本线性脚
5、本l线性脚本是录制手工执行的测试事例得到的脚本。l如果用户只使用线性脚本技术,即录制每个测试事例的全部内容,则每个测试事例可以通过脚本完整地被回放。l几乎任何重复的操作都可以使用线性脚本技术自动化。线性脚本的优点线性脚本的优点l简单,只需坐在计算机前录制手工任务。l可以快速开始自动化。l对实际执行操作可以审计跟踪。l用户不必是编程人员(如果不修改)线性脚本的缺点线性脚本的缺点l无共享或重用脚本。l容易受软件变化的影响。l修改代价大。l如果回放脚本时发生了录制脚本时没有发生的事情,引起整个测试失败。结构化脚本结构化脚本l结构化脚本类似于结构化程序设计,结构化脚本中含有控制脚本执行的指令。l控制脚
6、本执行的指令:顺序,选择和叠代。结构化脚本例子结构化脚本例子Part of the Scribble test scriptSelectOption File/CloseFocuso On CloseLeftMouseClickYesFocusOnSave AsType countries2LeftMouseClickSaveIf Message=Replace existing file?LeftMouseClickyesEnd ifFocusOn ScribbleSelectOptionFile/Exti结构化脚本的优缺点结构化脚本的优缺点l健壮性好,对一些容易导致测试失败的特殊情况进行处
7、理。l可以执行许多其他类似的功能,如重复的指令可以使用循环结构。l可以作为模块被其他脚本调用。l脚本变得更加复杂,而且测试数据仍然捆绑在脚本中。共享脚本共享脚本l脚本可以被多个测试事例使用。这意味着脚本语言允许一个脚本被另一个脚本调用,而这多少已成为所有测试执行自动化工具的标准。l这种技术思路是产生一个执行某种任务的脚本,而不同的测试要重复这个任务,当要执行这个任务时只需要在每个测试事例的适当地方调用这个脚本。共享脚本例子共享脚本例子ScribbleOpen(FILENAME)LeftMouseClickScribbleFocusOnScribbleSelectOptionFile/OpenF
8、ocusOnOpenTypecountriesLeftMouseClickOpen共享脚本例子共享脚本例子ScribbleSaveAs(FILENAME)FocusOnScribbleSelectOptionFile/CloseFocusOnCloseLeftMouseClickYesFocusOnSave AsType FILENAMELeftMouseClickSaveFocusOnScribbleSelectOptionFile/Exit共享脚本例子共享脚本例子Call ScribbleOpen(countries)FocusOnScribbleSelectOptionList/Add
9、ItemFocusOnAdd ItemTypeFranceLeftMouseClickOKFocusOnScribble SelectOptionList/Add ItemFocusOnAdd ItemTypeGermanyLeftMouseClickOKFocusOnScribbleCall ScribbleSaveAS(TEST2)共享脚本的优点共享脚本的优点l以较少的开销实现类似的测试。l维护开销低于线性脚本。l删除明显的重复。l可以在共享脚本中增加更智能的功能。共享脚本的缺点共享脚本的缺点l需要跟踪更多的脚本,文档、名字、以及存储,很难找到适当的脚本。l对于每个测试仍需要一个特定的测试
10、脚本。因此维护成本比较高。l共享脚本通常是针对被测软件的某个部分。数据驱动脚本数据驱动脚本l数据驱动脚本技术将测试输入存储在独立的数据文件中,而不是存储在脚本中。脚本中存放控制信息(如菜单导航)。执行测试时,从文件中而不是直接从脚本中读取测试输入。这种方法的最大好处是同一个脚本可以运行不同的测试。数据驱动脚本例子数据驱动脚本例子Controlscript:ScribbleControlOpenFileScribbleDataForeachrecordinScribbleDataReadINPUTFILEReadNAME1ReadNAME2ReadOUTPUTFILE数据驱动脚本例子数据驱动脚本
11、例子Call ScribbleOpen(INPUTFILE)FocusOnScribbleSelectOptionList/Add ItemFocusOnAdd ItemType NAME1LeftMouseClickOKFocusOnScribble SelectOptionList/Add ItemFocusOnAdd ItemType NAME2LeftMouseClickOKFocusOnScribbleCall ScribbleSaveAS(OUTPUTFILE)EndFor数据驱动脚本例子数据驱动脚本例子Datafile:ScribbleDataCountries,Sweden,U
12、SA,test1Countries,France,Germany,test2Countries,Austria,Italy,test3Countries,Spain,Finland,test4数据驱动脚本优点数据驱动脚本优点l可以很快增加类似的测试。l测试者增加新测试不必具有工具脚本语言的技术或编程知识。l对第二个测试及后续测试无额外的脚本维护开销。数据驱动脚本缺点数据驱动脚本缺点l初始建立的开销较大;l需要专业编程支持;l必须易于管理。关键字驱动脚本关键字驱动脚本l就是较复杂的数据驱动技术的逻辑扩展。l分为三层结构:一是控制脚本;二关键字动作描述;三是数据或测试用例。WinRunner定义定
13、义lWinRunner是一个自动化企业功能测试工具,能够用来测试应用程序是否按照预料的结果进行运行。通过录制脚本,校验和自动的对用户的交互进行回放,WinRunner能够确定出应用中的缺陷,并且保证跨越多个应用和数据库的业务过程,能够在初次和以后的时间里面稳定的无缝的运行。手工测试和自动化测试的区别手工测试和自动化测试的区别执行用户操作等待处理完成检查应用是否具有预期功能重复以上操作直到所有应用得到验证1234生成自动测试脚本加入同步点加入检查点运行一个脚本或一组脚本1234WinRunnerl标准版WinRunner配置Web、VisualBasic、PowerBuilder、ActiveX
14、等四种Add-inslDelphi、Java、Baan、Wap等附加的Add-insl利用一个测试工具WinRunner能够测试大部分的企业应用l利用检查点很容易对数据进行检查市场上最为强大的功能测试工具市场上最为强大的功能测试工具市场上最为强大的功能测试工具市场上最为强大的功能测试工具WinRunner支持最为广泛的企业环境支持最为广泛的企业环境Legacy 3270 Emulators 5250 Emulators VT100 EmulatorsCustom C/SVB4,5,6PB4,5,6,6.5OracleDev2000Forte3.0.l.3Delphi2,3,4ERP/CRM B
15、aanIVc,VSAPR/33,4OracleApps10,10.7,11Peoplesoft6,7,7.5SiebelE-Biz IE 4.x,IE 5.x NS 4.0&higher DHTML XML AWT from JDK 1.1.7 JFC JDK Symantec Visual Caf ActiveX Oracle Jinitiator Oracle NCA Animated ImagesWinRunner自动化测试过程自动化测试过程1.1.设置初始化条件设置初始化条件2.2.记录用户的操作记录用户的操作3.3.设置结束条件设置结束条件4.4.运行测试脚本运行测试脚本生成自动测试
16、脚本生成自动测试脚本生成自动测生成自动测试脚本试脚本1加入检查点加入检查点执行测试执行测试3加入同步点加入同步点24记录并且生成脚本记录并且生成脚本#Automobile Purchase Form set_window(Automobile Purchase Form,10);edit_set(Customer Name,Thomas Paine);edit_set(Address,234 Willow Drive);Depart Date:_/_/_From City.:_To City.:_Flight.:_Order Number.:_Customer.:_Billing Date.:
17、edit_set(Date,12/12/03);list_select_item(Make,BMW);button_press(Insert Sale);Thomas Paine234 Willow Drive12/12/03BMW19732002tii edit_set(Model,2002tii);edit_set(Year,1973);回放脚本回放脚本Depart Date:_/_/_From City.:_To City.:_Flight.:_Order Number.:_Customer.:_Billing Date.:Thomas Paine234 Willow Drive12/1
18、2/03BMW19732002tiiPurchaseCompleted.#Automobile Purchase Form set_window(Automobile Purchase Form,10);edit_set(Customer Name,Thomas Paine);edit_set(Address,234 Willow Drive);edit_set(Date,12/12/03);list_select_item(Make,BMW);button_press(Insert Sale);edit_set(”Model,”2002tii);edit_set(”Year,”1973);W
19、inRunner自动化测试过程自动化测试过程生成自动生成自动测试脚本测试脚本1加入检查点加入检查点执行测试执行测试3加入同步点加入同步点24加入同步点加入同步点1.1.与被测应用保持同步与被测应用保持同步2.2.加入同步点加入同步点什么是同步点什么是同步点脚本中的一行程序,目的是等待用户脚本中的一行程序,目的是等待用户应用的一个确定的响应,之后继续脚应用的一个确定的响应,之后继续脚本的运行。本的运行。Client/Server处理单个用户请求处理单个用户请求Server响应时间响应时间Database ServerClient/Server处理几个用户请求处理几个用户请求Server响应时间响
20、应时间Database ServerClient/Server处理多个用户请求处理多个用户请求Server响应时间响应时间Database ServerClient/Server处理响应时间示例处理响应时间示例几个用户0.61多个用户1.00单个用户0.33响应时间响应时间为什么加入同步点为什么加入同步点不加同步点不加同步点加同步点加同步点发送数据到数发送数据到数据库服务器据库服务器输入数据到输入数据到被测软件被测软件接受输入数据接受输入数据Run scriptScriptAUT发送数据到数发送数据到数据库服务器据库服务器试图执行试图执行下一步下一步继续执行继续执行客户端确认传客户端确认传送完
21、成送完成输入数据到输入数据到被测软件被测软件接受输入数据接受输入数据ScriptAUTRun script等待等待服务器处服务器处理数据理数据服务器返服务器返回结果回结果Synchronization point等待服务器响等待服务器响应,不能继续应,不能继续脚本错脚本错误中止误中止确定同步类型确定同步类型等待一个等待一个窗口出现窗口出现窗口窗口没有可视的提示,只是等待一段时间延时延时等待一个图等待一个图片的刷新片的刷新位图位图等待一个对等待一个对象的状态象的状态对象状态对象状态WinRunner自动化测试过程自动化测试过程1.1.检查点介绍检查点介绍2.2.GUI检查点检查点3.3.位图检查
22、点位图检查点4.4.数据库检查点数据库检查点生成自动生成自动测试脚本测试脚本1加入检查点加入检查点执行测试执行测试3加入同步点加入同步点24加入检查点加入检查点什么是检查点什么是检查点WinRunner脚本中的语句,可脚本中的语句,可以比较预期结果和实际结果并且以比较预期结果和实际结果并且报告比较结果。报告比较结果。WinRunner中的检查点中的检查点lGUI对象检查l数据库检查l图片检查l文本检查WinRunner检查点的创建和执行检查点的创建和执行WinRunner比较实际的结果比较实际的结果和期待的结果和期待的结果3WinRunner在回放脚本时捕在回放脚本时捕获到一个真正的结果获到一
23、个真正的结果21WinRunner在录制的脚本里面储在录制的脚本里面储存了一个期待的结果存了一个期待的结果WinRunner报告结果里面包含报告结果里面包含比较的结果是比较的结果是PASS还是还是FAIL4GUI对象检查点对象检查点 窗口的大小是否是正确窗口的大小是否是正确的大小?的大小?OKOK按钮是否是按钮是否是enabledenabled状态?状态?文本框的信息是什么?文本框的信息是什么?检查检查GUIGUI对象的状态或属性对象的状态或属性数据库检查点数据库检查点检查数据库的内容检查数据库的内容和大小和大小即时的验证与数据即时的验证与数据库相连的交易库相连的交易图片检查点图片检查点l通过
24、捕捉图象来检查软件的非GUI对象区域l捕捉窗口,对象或屏幕的一个区域的图象文本检查点文本检查点读取和检查图片区域或者非GUI方式的用户界面的文本信息(比如ASCII)WinRunner预期与实际比较预期与实际比较检查通过检查通过检查未通过检查未通过不匹配的不匹配的内容内容WinRunner自动化测试过程自动化测试过程1.1.准备数据驱动的数据准备数据驱动的数据 2.2.运行测试并查看结果运行测试并查看结果执行测试执行测试生成自动生成自动测试脚本测试脚本1加入检查点加入检查点执行测试执行测试3加入同步点加入同步点24数据驱动测试数据驱动测试invoke_application(“flight1a
25、.exe,C:,SW_SHOW);set_window(Login,10);edit_set(userid,“Josephine”);edit_set(password,Mercury);button_press(OK);set_window(Flight Reservation,10);win_check_gui(Flight Reservation,list1.ckl,gui1,1);menu_select_item(File;Exit);测试脚本“Josephine”“Josephine”Highlight the Highlight the hard coded valuehard c
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 自动化 功能 测试 设计 46394
限制150内