




已阅读5页,还剩67页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
软件测试方法和技术 Ch 11软件测试自动化 Zhu Kerry KerryZhu 第十一章软件测试自动化 Zhu Kerry 11 1测试自动化的内涵11 2测试工具的分类和选择11 3测试工具的主流产品介绍11 4IBM Rational产品的整体解决方案11 5MercuryInteractive产品的整体解决方案11 6Compuware产品的整体解决方案 11 1测试自动化的内涵 Zhu Kerry 11 1 1为什么要软件测试自动化11 1 2自动化测试的引入和应用11 1 3测试自动化的基本结构11 1 4测试自动化的原理和方法11 1 5测试自动化普遍存在的问题 手工测试的局限性 Zhu Kerry 通过手工测试无法做到覆盖所有代码路径 许多与时序 死锁 资源冲突 多线程等有关的错误通过手工测试很难捕捉到在系统负载 性能测试时 需要模拟大量数据 或大量并发用户等各种应用场合时 也很难通过手工测试来进行在进行系统可靠性时 需要模拟系统运行十年 几十年 以验证系统能否稳定运行 也是手工测试无法模拟的 如果有大量 几千 的测试用例 需要在短时间内完成 手工测试又怎么办呢 测试可以发现错误 并不能表明程序的正确性 自动测试定义软件系统功能规格书 Spec 只是从书面上的一套软件产品是由一套完整的可运行的测试来定义的测试所有可能情况将遭遇 组合爆炸 问题Win98 WinME WinNT Win2k WinXP WinXPTablePCEd WinXPMediaCenterEd Longhorn etcEnglish German Japanese Chinese Arabic Thai Office97 Office2000 OfficeXP Office2003 X8632 bit Intel64 bit AMD64 bit Alpha MIPS SQLServer6 5 SQLServer7 0 SQLServer2000 VisualStudio6 VS NET VS NET2003 Whidbey 手工测试的局限性 2 Zhu Kerry 代码全部CodePath测试覆盖也几乎不可能每一个if else 或switch语句就会把情况增加一倍许多异常处理代码在正常使用中不会碰到许多与时序 死锁 资源冲突 多线程有关的错误很难捕捉到每一个产品都会有不同的版本外加各自的SP与QFE QuickFixEngineering 又称Hotfix NT4 VS6SP1 SP5 Windows2000SP1 SP4VS NET SQLServerSP1 SP3可重复使用的自动测试对产品未来版本与ServicePack的测试将有事半功倍的效果 手工测试的局限性 2 Zhu Kerry 自动化测试带来的好处 1 缩短周期Testingcycle RegressionTesting2 AttributesofTA Speed速度Efficiency效率AccuracyandPrecise准确 精确Relentlessness无情3 容易实施 结果可靠4 做手工不能做 Zhu Kerry 手工测试 耗费时间低可靠性人力资源不一致性仅对于一次性的测试有益 速度可重复覆盖率可靠可以再度使用重复测试节省时间 手工测试vs 自动测试 Zhu Kerry 正确认识测试自动化 不现实的期望注定测试自动化的失败测试自动化能 显著降低重复手工测试的时间建立可靠 重复的测试 减少认为错误增强测试质量和覆盖率测试自动化不能 完全替代手工测试和手工测试工程师保证100 的测试覆盖率弥补测试实践的不足 Zhu Kerry 各自特点 软件测试自动化 TA 虽然具有很多优点 但只是对手工测试的一种补充 TA绝不能代替手工测试 有各自的特点 在系统功能逻辑测试 验收测试 适用性测试 涉及物理交互性测试时 多采用黑盒测试的手工测试方法 单元测试 集成测试 系统负载或性能 稳定性 可靠性测试等比较适合采用TA 对那种不稳定软件的测试 开发周期很短的软件 一次性的软件等不适合测试自动化工具本身并没有想象力和灵活性 根据经验报道 自动测试只能发现15 的缺陷 而手工测试可以发现85 的缺陷 TA工具在进行功能测试时 其准确的含义是回归测试工具 因为工具不能发现更多的新问题 但可以保证对已经测试过部分进行测试的准确性和客观性 Zhu Kerry 测试自动化项目的本质 定义 利用GUI自动化测试工具来开发和执行测试脚本 从而验证是否满足需求本质 测试自动化项目本质上是软件开发项目一个测试自动化项目必须具有 清晰定义并严格实施的过程来自组织各级的支持周密的计划具体的设计和架构 Zhu Kerry 测试自动化成本 收益分析 Zhu Kerry 自动化测试的引入和应用 找准测试自动化的切入点把测试开发纳入整个软件开发体系测试自动化依赖测试流程和测试用例软件测试自动化的投入较大进行资源的合理调度 Zhu Kerry 自动化测试工作流程 收集测试信息 测试需求是什么 那里能得到用到的数据 建立基本测试 纪录用户的操作核实成功回放 提高基本测试 插入测试点驱动测试数据 整体测试 关联数据建立综合的测试场景 Zhu Kerry 测试自动化的基本结构 拷贝测试文件 拷贝测试结果 分派工作 分派工作 查询结果 Build系统编译 获取测试任务 数据 更新显示 软件包 Zhu Kerry 发布指令 测试自动化的原理和方法 代码分析 类似于高级编译系统 在工具中定义类 对象 函数 变量等定义规则 语法规则等 在分析时对代码进行语法扫描 找出不符合编码规范的地方 捕获和回放 代码分析是一种白盒测试的自动化方法 捕获和回放则是一种黑盒测试的自动化方法 Zhu Kerry 对象识别 编辑框 下拉框 按钮 QuickTest在支持应用中识别 确定每一个对象是什么类型 复选框 选择框 Zhu Kerry 对象识别 2 逻辑名称是对象属性之一的值数值用于识别对象名称 Zhu Kerry 对象识别 3 对象库是本地在测试结构范围内存储对像信息 对象库 例如对象 属性 包含登陆窗口在记录过程中捕获的 AgentNamefield Passwordfield OKbutton Cancelbutton Helpbutton Zhu Kerry 脚本技术 线性脚本 是录制手工执行的测试用例得到的脚本 这种脚本包含所有的击键 移动 输入数据等 所有录制的测试用例都可以得到完整的回放 结构化脚本 类似于结构化程序设计 具有各种逻辑结构 函数调用功能 共享脚本 是指某个脚本可以被多个测试用例使用 数据驱动脚本 将测试输入存储在独立的 数据 文件中 而不是存储在脚本中 关键字驱动脚本 是数据驱动脚本的逻辑扩张 Zhu Kerry Example 1 GUIScript rec Low LevelscriptVUScript S GUIShellScript rec ProjectHeaderFile sbh SQABasicFile sbl Zhu Kerry Scriptexample 2 Zhu Kerry GUIScriptstypes TS scriptItincludethescriptwhichcannotbere used weoftenuseittogeneratetestlog B scriptTABuildingblock itincludethescriptwhichcanbere used U scriptUsedtomakesureallcodeinafunctioncanworknormally Zhu Kerry Samplescript SectionTwo headerfile publicvariablesandconstantsdeclarationarea include rtpCMCSanity0225 BB X sbh Include rtpCMC5 BB sbh include rtpReportLog sbh SectionThree UnittestscriptingareaforthissubroutineorfunctionSubMainCallScript rtpCMCSanity0225 init DimResultAsIntegerDimmeetingTopicAsString Iftherealreadyameetingmeeting didn tstartagainSQASuspendLogOutputResult WindowVP Exists Caption MEETING CLIENT CAPTION VP WindowExistence Wait 1 3 SQAResumeLogOutputIfResult 0ThenResult func MiscScheduleStartMeetingSimple PAGE CAPTION meetingTopic MEETING PASSWD Else EndIf Zhu Kerry SQAGetPropertyResult SQAGetProperty ObjectRec State CheckState SQAGetPropertyAsStringResult SQAGetPropertyAsString Caption Notepad Untitled WindowState StateString SQASetPropertySQASetProperty Name FirstName Text Michael SQAWaitForObjectResult SQAWaitForObject Type PushButton Text OK 120000 ObjectScriptingcommands Zhu Kerry CheckBoxCheckBoxClick Name Overdraft ComboBox ComboListBoxEditBoxHTMLDocument HTMLImage HTMLLinkInputKeysInputKeys ThisisRobot Enter UserActioncommands Zhu Kerry 自动比较 静态比较和动态比较 简单比较和复杂比较 敏感性测试比较和健壮性测试比较 比较过滤器 Zhu Kerry ComboBoxVPEditBoxVPFileVPHTMLLinkVPHTMLDocumentVPListViewVPWindowVPJavaListViewVP SyntaxofWindowVPfunction Result WindowVP action recMethod parameters actioncanbeoneoffollowingvalues CompareImageCompareMenuComparePropertiesExists DoesNotExist WindowVP CompareImage Caption Paint VP PICT1A Thisfunctionreturns1iftheactionperformedpassesReturn0iftheactionperformedfails VerificationPointcommands Zhu Kerry 测试自动化普遍存在的问题 不正确的观念或不现实的期望缺乏具有良好素质 经验的测试人才测试工具本身的问题影响测试的质量没有进行有效的 充分的培训没有考虑到公司的实际情况 盲目引入测试工具没有形成一个良好的使用测试工具的环境其它技术问题和组织问题 Zhu Kerry 11 2测试工具的分类和选择 Zhu Kerry 11 2 1测试工具的分类11 2 2测试工具的选择 测试工具是测试自动化的表现 测试工具的研究 软件测试的过程是一项很复杂而费时的工作 它不仅执行每一个测试用例 还要设置运行环境 记录输出 运行后清理并记录失败信息 仅仅依靠测试人员手工完成是很困难的 所以必须研究测试工具以帮助测试人员自动或半自动的完成测试 在资金和人力 时间的供给一定的条件下面 拥有好的测试工具能够提高测试效率从而降低测试成本 则能够选择更高的测试充分性标准进行测试 从而提高软件质量 Zhu Kerry 测试工具的例子 Zhu Kerry 测试工具的分类 CodeanalysisTools Staticanalysis DynamicanalysisTestExecutionTool CaptureandReplay Record Playback MonitorTool StubsandDrivers AutomatedTestingEnvironmentTestcasegenerators Zhu Kerry 测试工具的选择 Zhu Kerry 11 3测试工具的主流产品介绍 Zhu Kerry 11 3 1面向开发的单元测试工具11 3 2负载和性能测试工具11 3 3GUI功能测试工具11 3 4基于Web应用的测试工具11 3 5软件测试管理和其他工具 面向开发的单元测试工具 根据不同的语言进行分类 C C 单元级测试工具PanoramaC C Test NumegaJUnit是一个开发源代码的Java测试框架根据工具的功能特点进行分类 内存资源泄漏检查工具 Numega中的BounceChecker Rational的Purify等代码覆盖率检查工具 Numega的TrueCoverage Rational的PureCoverage TeleLogic公司的Logiscope代码性能检查工具 Logiscope和Macabe等 软件纠错工具RationalPurl等 Zhu Kerry 负载和性能测试工具 Zhu Kerry GUI功能测试工具 将操作应用程序的各种动作和输入记录下来 包括键盘操作 鼠标点击等捕捉 Record 下来 生成一个脚本文件 这个脚本以后可以被 回放 playback 在实际测试过程中 要根据测试需求对录制的脚本进行一些必要的修改或加入一些参数 如选择不同的测试数据 脚本中插入检查点 CheckPoint 进行跟踪调试等 基于GUI功能测试工具主要适合回归测试阶段 当一个应用开发基本完成后 程序界面基本定型 虽然业务的需求会很频繁变化 但测试脚本结构基本不需要改动 只需要做些小调整 就可以自动运行 则可大大提高了测试的效率和测试的准确性 目前主要产品有MI公司的WinRunner Compuware的QARun Rational的SQARobot MSVisualTestSuite等 Zhu Kerry GUI自动化测试 设计测试用例 并手工进行测试 如果测试未通过 则先改正缺陷 再次执行测试 如果测试通过 利用测试工具运行该测试过程 捕获运行过程需要检测的屏幕对象 并保存 在进行回归测试测试 自动利用测试工具运行测试 并比较运行过程的屏幕对象与保存的屏幕对象比较 从而判断测试用例是否通过 Zhu Kerry 基于Web应用的测试工具 基于Web应用的测试工具主要进行链接检查 HTML检查 Web功能和Web站点安全性等各个方面的测试 主要Web测试工具有MI公司的Astra系列 如AstraQuickTest RSW公司的E TestSuite等 Web系统测试工具 WorkBench WebApplicationStressTool WAS 页面链接测试LinkSleuth等 Zhu Kerry Website性能测试测什么 各种操作的响应速度最大并发用户数最大数据容量 ACT ApplicationCenterTest Zhu Kerry ACT测试中的常见术语 RPS RequestPerSecond 并发连接数 SimultaneousBrowserConnections 思考时间 ThinkingTime RPS SBC ThinkingTime Concurrentusers Zhu Kerry ACT测试的步骤 创建测试脚本手工编写VBScript录音并修改运行测试脚本设定并发用户数设定用户身份运行 观察 获取主观体验理解结果报告图表各项性能统计数字日志文件 Zhu Kerry 解读ACT测试结果 TTFB TTLBHTTP错误的含义401403404500 常见的ACT结果图线 Zhu Kerry 其他Web负载发生工具 Microsoft sWebApplicationStressToolCyrano sOpenSTAQuestSoftware sBenchmarkFactoryEmpirix sE TestSuite6 0RadView sWebLoad5 0RationalSoftware sRationalRobotMercuryInterctive sAstraLoadRunner7 5Compuware sQALoad4 7SegueSoftware sSilePerformer5 0 Zhu Kerry 11 4Rational产品的整体解决方案 Zhu Kerry 11 4 1Rational测试产品结构11 4 2Rational全套测试解决方案的特点 TestManager 集中 可伸缩的测试管理平台Robot 传统应用自动化测试工具RobotJ Web Java自动测试工具ClearQuest 缺陷跟踪工具 Rational系统测试方案 Zhu Kerry TestManager 控制中心 Zhu Kerry TestManager和ClearQuest集成 Zhu Kerry TestManager 跨越整个测试周期 Zhu Kerry 自动实现缺陷与需求之间的关联 Zhu Kerry 测试度量 覆盖 趋势等 Zhu Kerry RobotGUI的自动功能测试 2 执行测试脚本 Zhu Kerry 和白盒工具集成 Zhu Kerry RobotJ 测试Java和Web应用 ScriptAssure 技术保证了即使对象名称发生改变 测试脚本也能正常回放 验证动态内容 利用Eclipse这一标准的IDE环境 同时提供与版本控制工具的集成 ProfessionalLanguageandIDE NEWTechnologyforJavaandWebBasedApplications Zhu Kerry ScriptAssure 降低了测试脚本的维护成本 Version1 0 Version2 0 Zhu Kerry 动态数据验证 可伸缩的测试脚本 OrderIDchangeswitheachorderplaced TestFailswhencomparingstaticbaselinetodynamicdata TestPasseswhencomparingpatternbaselinetodynamicdata 动态内容匹配利用模式匹配技术来验证数据 如不是验证 OrderID230 而是 OrderID 当验证应用的行为时 考虑了各种不同的合法响应 Zhu Kerry 业界标准的IDE和测试脚本语言 Eclipse集成环境调试器 代码编辑器使用标准的Java语言作为测试脚本语言 Zhu Kerry Zhu Kerry 11 5 1MI产品结构11 5 2MI三个重量级产品的介绍 11 5MI产品的整体解决方案 MI产品结构 Zhu Kerry 测试 监控 软件 MSP LoadRunner的解决方案 Web服务器 数据库服务器 利用图表工具分析测试结果 利用录制的脚本进行回归测试 运行大量的 VirtualUsers 在不同的机器上 利用 VirtualUsers 代替实际测试人员 通过 Controller 管理 Vusers Zhu Kerry
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 区县医院面试题及答案
- 药库测试试题及答案
- 呼吸内科临床重点专科
- 白内障护理查房
- 2025年 仓储管理员中级考试练习试卷附答案
- 培训学校年终汇报
- 小蚂蚁手工课课件
- 车展新能源技术研讨会举办合同
- 生态公园场地租赁及环保教育合作合同
- 艺术比赛选手成绩PK合同
- 三一挖机合同协议书
- 越秀地产合作协议书
- 上海市普陀区2024-2025学年八年级上学期期末考试物理试题(解析版)
- 胶原蛋白医学科普
- 前厅主管考试试题及答案
- 2025-2030中国焦煤行业市场发展分析及前景趋势与投资研究报告
- 2025年三级电子商务师职业技能鉴定理论考试题库(含答案)
- 带电作业安全课件
- 2025年粮油仓储管理员职业技能竞赛参考试题库(含答案)
- 白蚁防治文保施工方案
- 2025年中国国际技术智力合作集团有限公司招聘笔试参考题库含答案解析
评论
0/150
提交评论