Ch11-软件测试自动化-STMT.ppt
《Ch11-软件测试自动化-STMT.ppt》由会员分享,可在线阅读,更多相关《Ch11-软件测试自动化-STMT.ppt(72页珍藏版)》请在三一办公上搜索。
1、软件测试方法和技术-Ch.11软件测试自动化,Zhu.K,朱少民Kerry Zhu,第十一章 软件测试自动化,Zhu.K,11.1测试自动化的内涵11.2 测试工具的分类和选择11.3 测试工具的主流产品介绍 11.4 IBM-Rational产品的整体解决方案11.5 Mercury Interactive产品的整体解决方案11.6 Compuware产品的整体解决方案,11.1测试自动化的内涵,Zhu.K,11.1.1 为什么要软件测试自动化11.1.2 自动化测试的引入和应用11.1.3 测试自动化的基本结构11.1.4 测试自动化的原理和方法 11.1.5 测试自动化普遍存在的问题,手
2、工测试的局限性,Zhu.K,通过手工测试无法做到覆盖所有代码路径;许多与时序、死锁、资源冲突、多线程等有关的错误通过手工测试很难捕捉到 在系统负载、性能测试时,需要模拟大量数据、或大量并发用户等各种应用场合时,也很难通过手工测试来进行 在进行系统可靠性时,需要模拟系统运行十年、几十年,以验证系统能否稳定运行,也是手工测试无法模拟的。如果有大量(几千)的测试用例,需要在短时间内完成,手工测试又怎么办呢?测试可以发现错误,并不能表明程序的正确性。,自动测试定义软件系统功能规格书(Spec)只是从书面上的一套软件产品是由一套完整的可运行的测试来定义的测试所有可能情况将遭遇“组合爆炸”问题Win98,
3、WinME,WinNT,Win2k,WinXP,WinXP TablePC Ed,WinXP MediaCenter Ed,Longhorn,etcEnglish,German,Japanese,Chinese,Arabic,ThaiOffice 97,Office2000,Office XP,Office 2003X86 32-bit,Intel 64-bit,AMD 64-bit,Alpha,MIPSSQL Server 6.5,SQL Server 7.0,SQL Server 2000 Visual Studio 6,VS.NET,VS.NET 2003,Whidbey,手工测试的局限
4、性(2),Zhu.K,代码全部Code Path测试覆盖也几乎不可能每一个ifelse或switch语句就会把情况增加一倍许多异常处理代码在正常使用中不会碰到许多与时序,死锁,资源冲突,多线程有关的错误很难捕捉到每一个产品都会有不同的版本外加各自的SP与QFE(Quick Fix Engineering,又称Hot fix)NT4,VS6 SP1SP5,Windows 2000 SP1-SP4VS.NET,SQL Server SP1 SP3可重复使用的自动测试对产品未来版本与Service Pack的测试将有事半功倍的效果,手工测试的局限性(2),Zhu.K,自动化测试带来的好处,1.缩短周
5、期 Testing cycle-Regression Testing2.Attributes of TA,Speed 速度Efficiency 效率Accuracy and Precise 准确、精确 Relentlessness 无情3.容易实施、结果可靠4.做手工不能做,Zhu.K,手工测试,耗费时间低可靠性人力资源不一致性仅对于一次性的测试有益,速度 可重复 覆盖率 可靠 可以再度使用 重复测试节省时间,手工测试 vs.自动测试,Zhu.K,正确认识测试自动化,不现实的期望注定测试自动化的失败测试自动化能:显著降低重复手工测试的时间建立可靠、重复的测试,减少认为错误增强测试质量和覆盖率测
6、试自动化不能:完全替代手工测试和手工测试工程师保证100%的测试覆盖率弥补测试实践的不足,Zhu.K,各自特点,软件测试自动化(TA)虽然具有很多优点,但只是对手工测试的一种补充,TA绝不能代替手工测试,有各自的特点:在系统功能逻辑测试、验收测试、适用性测试、涉及物理交互性测试时,多采用黑盒测试的手工测试方法;单元测试、集成测试、系统负载或性能、稳定性、可靠性测试等比较适合采用TA;对那种不稳定软件的测试、开发周期很短的软件、一次性的软件等不适合测试自动化 工具本身并没有想象力和灵活性,根据经验报道,自动测试只能发现15%的缺陷,而手工测试可以发现85%的缺陷;TA工具在进行功能测试时,其准确
7、的含义是回归测试工具,因为工具不能发现更多的新问题,但可以保证对已经测试过部分进行测试的准确性和客观性,Zhu.K,测试自动化项目的本质,定义:利用GUI自动化测试工具来开发和执行测试脚本,从而验证是否满足需求本质:测试自动化项目本质上是软件开发项目一个测试自动化项目必须具有:清晰定义并严格实施的过程来自组织各级的支持周密的计划具体的设计和架构,Zhu.K,测试自动化成本/收益分析,Zhu.K,自动化测试的引入和应用,找准测试自动化的切入点 把测试开发纳入整个软件开发体系 测试自动化依赖测试流程和测试用例 软件测试自动化的投入较大 进行资源的合理调度,Zhu.K,自动化测试工作流程,收集测试信
8、息,测试需求是什么?那里能得到用到的数据?,建立基本测试,纪录用户的操作核实成功回放,提高基本测试,插入测试点驱动测试数据,整体测试,关联数据建立综合的测试场景,Zhu.K,测试自动化的基本结构,拷贝测试文件,拷贝测试结果,分派工作,分派工作,查询结果,Build系统编译,获取测试任务、数据,更新显示,软件包,Zhu.K,发布指令,测试自动化的原理和方法,代码分析:类似于高级编译系统,在工具中定义类/对象/函数/变量等定义规则、语法规则等,在分析时对代码进行语法扫描,找出不符合编码规范的地方。捕获和回放:代码分析是一种白盒测试的自动化方法,捕获和回放则是一种黑盒测试的自动化方法。,Zhu.K,
9、对象识别,编辑框,下拉框,按钮,QuickTest 在支持应用中识别、确定每一个对象是什么类型,复选框,选择框,Zhu.K,对象识别 2,逻辑名称是对象属性之一的值数值 用于识别对象名称,Zhu.K,对象识别 3,对象库 是本地在测试结构范围内 存储对像信息.,对象库,例如对象(属性)包含登陆窗口在记录过程中捕获的:-Agent Name field-Password field-OK button-Cancel button-Help button,Zhu.K,脚本技术,线性脚本,是录制手工执行的测试用例得到的脚本,这种脚本包含所有的击键、移动、输入数据等,所有录制的测试用例都可以得到完整的
10、回放。结构化脚本,类似于结构化程序设计,具有各种逻辑结构、函数调用功能。共享脚本,是指某个脚本可以被多个测试用例使用。数据驱动脚本,将测试输入存储在独立的(数据)文件中,而不是存储在脚本中。关键字驱动脚本,是数据驱动脚本的逻辑扩张,Zhu.K,Example-1,GUI Script(.rec)Low-Level scriptVU Script(.S)GUI Shell Script(.rec)Project Header File(.sbh)SQABasic File(.sbl),Zhu.K,Script example-2,Zhu.K,GUI Scripts types,TS-script
11、It include the script which can not be re-used,we often use it to generate test log.B-scriptTA Building block,it include the script which can be re-used.U-scriptUsed to make sure all code in a function can work normally.,Zhu.K,Sample script,=Section Two-header file,public variables and constants dec
12、laration area=$include rtpCMCSanity0225_BB_X.sbh$Include rtpCMC5_BB.sbh$include rtpReportLog.sbh=Section Three-Unit test scripting area for this subroutine or function Sub Main CallScript rtpCMCSanity0225_init Dim Result As Integer Dim meetingTopic As String If there already a meeting meeting,didnt
13、start again SQASuspendLogOutput Result=WindowVP(Exists,Caption=*+MEETING_CLIENT_CAPTION+*,VP=Window Existence;Wait=1,3)SQAResumeLogOutput If Result=0 ThenResult=func_MiscScheduleStartMeetingSimple(PAGE_CAPTION,meetingTopic,MEETING_PASSWD)ElseEnd If,Zhu.K,SQAGetProperty Result=SQAGetProperty(ObjectRe
14、c,State,CheckState)SQAGetPropertyAsString Result=SQAGetPropertyAsString(;Caption=Notepad-(Untitled),WindowState,StateString)SQASetProperty SQASetProperty Name=FirstName,Text,Michael“SQAWaitForObject Result=SQAWaitForObject(Type=PushButton;Text=OK,120000),Object Scripting commands,Zhu.K,CheckBox Chec
15、kBox Click,Name=OverdraftComboBox,ComboListBoxEditBoxHTMLDocument,HTMLImage,HTMLLink InputKeysInputKeys This is Robot.Enter,User Action commands,Zhu.K,自动比较,静态比较和动态比较,简单比较和复杂比较,敏感性测试比较和健壮性测试比较,。比较过滤器,Zhu.K,ComboBoxVPEditBoxVPFileVPHTMLLinkVP HTMLDocumentVP ListViewVPWindowVPJavaListViewVP,Syntax of W
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Ch11 软件 测试 自动化 STMT
链接地址:https://www.31ppt.com/p-6281079.html