自动化测试教程PPT学习课件_第1页
自动化测试教程PPT学习课件_第2页
自动化测试教程PPT学习课件_第3页
自动化测试教程PPT学习课件_第4页
自动化测试教程PPT学习课件_第5页
已阅读5页,还剩23页未读 继续免费阅读

下载本文档

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

文档简介

软件自动化测试教程,1,2020/5/2,1.何为软件测试?,软件自动化测试,2.软件自动化测试?,3.自动化测试好处?,节省人力、时间或硬件资源,提高测试效率,便引入了自动化测试的概念。,是把以人为驱动的测试行为转化为机器执行的一种过程。,软件测试就是在预设条件下运行系统或应用程序,评估运行结果,预先条件应包括正常条件和异常条件,2,2020/5/2,实施自动化测试之前需要对软件开发过程进行分析,以观察其是否适合使用自动化测试。通常需要同时满足以下条件:,1)软件需要变动不频繁。,2)项目周期足够长。,3)自动化测试脚本可重复使用。,3,2020/5/2,通常适合于软件测试自动化的场合:,(1)回归测试,重复单一的数据录入或是击键等测试操作造成了不必要的时间浪费和人力浪费;,(2)此外测试人员对程序的理解和对设计文档的验证通常也要借助于测试自动化工具;,(3)采用自动化测试工具有利于测试报告文档的生成和版本的连贯性;,(4)自动化工具能够确定测试用例的覆盖路径,确定测试用例集对程序逻辑流程和控制流程的覆盖;,随着测试流程的不断规范以及软件测试技术的进一步细化,软件测试自动化已经日益成为一支不可忽视的力量。,4,2020/5/2,MercuryInteractive的主要产品包括:TestDirector基于WEB集成的测试管理工具,组织和管理整个测试过程。WinRunner/XRunner企业功能测试工具,测试Windows和X-Windows应用是否能正确地工作。QuickTest一个革命性的技术,能简化、加速测试。LoadRunner负载测试工作,预测系统的性能和表现。TestSuiteEnterprise一整套的自动测试软件包,包括LoadRunner,Win/Runner,和TestDirector,成立于:1989年8月上市:1993年10月美国NASDAQ业务领域:企业测试和性能管理解决方案公司总部:California全世界的办事机构:60+办事处分布于20个国家员工:1500+,MercuryInteractive公司及产品的简单介绍:,2006年被HP收购,5,2020/5/2,QTP学习四个阶段,从无到有-初级篇这个过程主要是熟悉QTP的界面设置,以及一些基本的用法,包括最基础的录制回放,低级录制,参数化,OUTPUT输出,验证点。总体来说这个阶段还是属于一个入门,比较容易能够接受,也是大多数测试人员能够达到的层次水平。从有到懂-中级篇这个过程中我们已经有了一些基础知识,这个时候我们不可以把自己再停留在录制回放了,而是需要在专家视图进行自行编写测试脚本,我们需要熟悉QTP的各种内置保留对象,需要熟悉QTP对象库的原理,描述性编程以及GETRO,GETTO,SETTO的用法,DATATABLE的方法应用,自定义REPORT,能够熟练的使用F7脚本生成器来编写脚本,随后我们需要对VBS有一定的了解,可以先学习一下VBS的一些基础知识,并能够熟练的运用它,,6,2020/5/2,从懂到熟-高级篇在这个过程中我们已经有能力可以熟练的在专家视图中进行编写脚本,以及可以使用简单的VBS对脚本进行修改以及优化,到了这一步我们就需要学习一些QTP的相对高级用法,熟悉com组件包括fso,wsh,eom,aom,ado中的一些方法属性学会使用DOM,DLL,DOTNETFACTORY,WIN32API特殊情况处理,比如鼠标事件,WEBTABLE中WebCheck处理,有时可以通过借助自己写的小工具来解决异常情况处理,通过VBS判断来把异常情况包括进去,包括VBS中的错误处理,QTP中的场景恢复从熟到精-精通篇到了这个过程,其实已经可以说是一个半高手了,可以独立解决各种测试中碰到的难题,接下来可以尝试去读高手写的一些代码,比如REPORTMANAGER,saffron等,精通的话不是人人都可以达到的,这个过程还需要学会框架的设计,保留对象的扩展,插件的扩展开发,等等以及各方面的综合扩展能力,对于最新的一些技术也要实时了解,达到这个层次之后你已经可以说对QTP了如指掌了。,7,2020/5/2,培训Q&A,泽林承诺,培训内容,联系我们,QTP的测试脚本语言采用的是VBScript,而QTP的专家视图其实就是一VBScript脚本编辑器,因此,测试人员可以利用简单易用而不失强大和灵活特性VBScript脚本语言来增强自动化测试。什么是VBS?VBScript,简称VBS,是VB的一个安全子集。VBScript是脚本语言,它与其它脚本语言有很多共同的特点,例如变量无关、解释执行等。,VBScript脚本,8,2020/5/2,1基本键:一般来说,要发送的按键指令都可以直接用该按键字符本身来表示,例如要发送字母“x”,使用“WshShell.SendKeysx”即可。当然,也可直接发送多个按键指令,只需要将按键字符按顺序排列在一起即可,例如,要发送按键“cfan”,可以使用WshShell.SendKeyscfan2特殊功能键:对于需要与Shift、Ctrl、Alt三个控制键组合的按键,SendKeys使用特殊字符来表示:Shift+;Ctrl;Alt%3一般功能键:F1F12,方向键,回车键,等实现了一定功能的按键。Wshshell.Sendkeys“enter”4.组合键:如要发送的组合按键是同时按下CtrlE,需要用“WshShell.SendKeyse”表示,如果要发送的组合按键是按住Ctrl键的同时按下E与C两个键,这时应使用小括号把字母键括起来,书写格式为“WshShell.SendKeys(ec)”,这里要注意它与“WshShell.SendKeysec”的区别,后者表示组合按键是同时按住Ctrl和E键,然后松开Ctrl键,单独按下“C”字母键。由于“+”、“”这些字符用来表示特殊的控制按键了,如何表示这些按键呢?只要用大括号括住这些字符即可。例如,要发送加号“+”,可使用WshShell.SendKeys+如果需要发送多个重复的单字母按键,不必重复输入该字母,SendKeys允许使用简化格式进行描述,使用格式为“按键数字”。例如要发送10个字母“x”,则输入“WshShell.SendKeysx10”即可。,第一个方法sendkeys,9,2020/5/2,VBScript常数与变量,VBScript常数常数是具有一定含义的名称,用于代替数字或字符串,其值被创建后就不允许再被改变。VBScript定义了许多内部常数。例如:MsgBox提示信息:&vbCrLf&操作成功,vbInformation,Title创建常数使用Const语句在VBScript中创建用户自定义常数。使用Const语句可以创建名称具有一定含义的字符串型或数值型常数,并给它们赋原义值。例如:ConstconUserName=“songfunConstPI=3.1415926535897ConstconOlympicDate=#08/08/08#最好采用一个命名方案以区分常数和变量。这样可以避免在运行脚本时对常数重新赋值。例如,可以使用“vb”或“con”作常数名的前缀,或将常数名的所有字母大写。将常数和变量区分开可以在开发复杂的脚本时避免混乱。常用常数vbCr回车符vbLf换行符vbCrLf回车符与换行符。vbNewLine新行字符VBS中,只有一种变量,叫变体变量。,10,2020/5/2,VBScript运算符,算术运算符比较运算符逻辑运算符描述符号描述符号描述符号求幂等于=逻辑非Not负号-不等于逻辑与And乘*小于整除小于等于=加+减-字符串连接&,11,2020/5/2,VBS程序的输出函数,输出函数msgbox(“”)MsgBox(prompt,buttons,title)vbOKOnly0只显示“确定”按钮(缺省值)VbOKCancel1显示“确定”和“取消”按钮VbAbortRetryIgnore2显示“终止”、“重试”和“忽略”按钮VbYesNoCancel3显示“是”、“否”和“取消”按钮VbYesNo4显示“是”和“否”按钮VbRetryCancel5显示“重试”和“取消”按钮返回值常数值说明vbOK1确定vbCancel2取消vbAbort3终止vbRetry4重试vbIgnore5忽略vbYes6是vbNo7否实例演示:,12,2020/5/2,VBS程序的输入函数,输出函数inputbox(“”)InputBox(prompt,title,default)Prompt必需的。作为对话框消息出现的字符串表达式。prompt的最大长度大约是1024个字符,由所用字符的宽度决定。如果prompt包含多个行,则可在各行之间用回车符(Chr(13)、换行符(Chr(10)或回车换行符的组合(Chr(13)&Chr(10)来分隔。Default可选的。显示文本框中的字符串表达式,在没有其它输入时作为缺省值。如果省略default,则文本框为空。实例演示:,13,2020/5/2,VBScript条件语句,使用条件语句和循环语句可以控制脚本的流程。使用条件语句可以编写进行判断和重复操作的VBScript代码。在VBScript中可使用以下条件语句:If.Then.Else语句条件为True时运行语句,例如:IfmyDateNowThenmyDate=Now单行不需要加EndIf条件为True和False时分别运行某些语句。If条件thenElseEndif对多个条件进行判断SelectCase语句SelectCaseiValueCase1MsgBoxHelloWorld!Case2MsgBoxHelloSoftwareTesting!CaseElseMsgBoxHelloZELINEndSelect,14,2020/5/2,VBScript循环语句,循环用于重复执行一组语句。循环可分为三类:一类在条件变为False之前重复执行语句,一类在条件变为True之前重复执行语句,另一类按照指定的次数重复执行语句。在VBScript中可使用下列循环语句:Do.Loop:当(或直到)条件为True时循环。While.Wend:当条件为True时循环。For.Next:指定循环次数,使用计数器重复运行语句。ForEach.Next:对于集合中的每项或数组中的每个元素,重复执行一组语实例演示,15,2020/5/2,VBScript中的With语句,对一个对象执行一系列的语句。语法:WithobjectstatementsEndWith例如:WithMyLabel.Height=2000.Width=2000.Caption=这是MyLabelEndWith当程序一旦进入With块,object就不能改变。因此不能用一个With语句来设置多个不同的对象。With语句可以嵌套,16,2020/5/2,VBScript过程,在VBScript中,过程被分为两类:Sub过程和Function过程。Sub过程Sub过程是包含在Sub和EndSub语句之间的一组VBScript语句,执行操作但不返回值。Sub过程可以使用参数(由调用过程传递的常数、变量或表达式)。如果Sub过程无任何参数,则Sub语句必须包含空括号()。Function过程Function过程是包含在Function和EndFunction语句之间的一组VBScript语句。Function过程与Sub过程类似,但是Function过程可以返回值。Function过程可以使用参数(由调用过程传递的常数、变量或表达式)。如果Function过程无任何参数,则Function语句必须包含空括号()。Function过程通过函数名返回一个值,这个值是在过程的语句中赋给函数名的。Function返回值的数据类型总是Variant。,17,2020/5/2,VBScript过程,Sub语句sub1()msgbox(thisissub1)endsubsubsub2()msgbox(thisissub2)endsub,18,2020/5/2,dimaa=split(“a,b,c,d”,“,”)msgboxubound(a)a返回一个下标从0到ubound(a)的数组,数组元素共ubound(a)+1个获取数组的最大下标:ubound(a)获取数组的最小下标:lbound(a)获取数组的元素个数:ubound(a)-lbound(a)+1,Split函数的使用,19,2020/5/2,functionfun1()msgbox(thisisfun1)a=100fun1=aendfunctionfunctionfun2(a,b)msgbox(thisisfun2)fun2=a+bendfunctiona1=fun1()a2=fun2(3,4)msgbox(a1)msgbox(a2),20,2020/5/2,setfso=createobject(scripting.filesystemobject),setfile=fso.opentextfile(a.txt,1,true),file.atendofstreamtrue,文件的读写1、打开文件:使用opentextfile方法如:setts=fso.opentextfile(“c:kk.txt”,1,true)说明:第二个参数为访问模式1为只读、2写入、8为追加第三个参数指定如文件不存在则创建。2、读取文件:read(x)读x个字符;readline读一行;readall全部取如:setffile=fso.opentextfile(“c:kk.txt”,1,true)value=ffile.read(20)line=ffile.readlinecontents=ffile.readall,21,2020/5/2,使用dictionary对象VBS中存在一个特殊的对象dictionnary,是一个集合对象。一般情况霞,我把这个特殊的集合想象为数组,可以使用其中内建的函数完成存储和操纵数据等基本任务,无须担心数据是在哪些行列,而是使用唯一的键进行访问或者是一个只能运行在内存中的数据库,并只有两个字段分别是:key和item,在使用中,字段key是索引字段。setsdict=CreateObject(Scripting.Dictionary)sdict.adda,applesdict.addb,bananasdict.addc,copyforeachkeyinsdict.keysmsgbox键名&key&是&=&sdict(key)nextsdict.removeall,22,2020/5/2,VBS脚本修改注册表SetOperationRegistry=CreateObject(“WScript.Shell”)上述这些代码就创建了一个能与操作系统沟通的对象OperationRegistry对象的方法有了以上这个对象,并不等于就能马上对注册表进行操作,我们还必须弄清该对象对注册表进行操作的几种重要方法.1.对注册表的读操作RegRead2.对注册表的写操作RegWrite3.对注册表的删操作RegDelete,23,2020/5/2,VBScript的常用函数(1),字符串函数Len函数Left函数Mid函数Right函数InStr函数InStrRev函数LTrim、RTrim和Trim函数LCase函数UCase函数Replace函数StrComp函数Split函数Join函数,24,2020/5/2,VBScript的常用函数(2),转换函数Asc函数Chr函数Str函数Val函数CBool函数CByte函数CCur函数CDate函数CDbl函数CInt函数CLng函数CSng函数CStr函数,25,202

温馨提示

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

评论

0/150

提交评论