已阅读5页,还剩2页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
软件测试基本功之-WinRunner篇前段时间公司需要实施WinRunner来进行回归测试,包括制定一套方案和一套标准脚本,通过实施起来真的是学到了很多东西,还是赶快总结出来,久了可能又忘记了。先说我和我们老大共同制定的一套方案(也是结合网上很多资料制订的),欢迎大家看了后给点意见,不要像上2篇那样,看的人比较多,但留言的一个都没,伤心啊,可能是我水平问题,相信以后会越来越好的。自动化测试方案:1.1. 自动化框架整体流程制定测试计划设计测试实施测试执行测试评估测试回归测试每个测试环节的具体阐述如下:1, 制定测试计划的目的是确定和描述要实施和执行的测试。这是通过生成包含测试需求和测试策略的测试计划来完成的。可以制定一个单独的测试计划,用于描述所有要实施和执行的不同测试类型,也可以为每种测试类型制定一个测试计划。 2, 设计测试的目的是确定、描述和生成测试过程和测试用例。 3, 实施测试的目的是实施(记录、生成或编写)设计测试中定义的测试过程。输出工件是测试过程的测试脚本。 4, 执行测试的目的是确保整个系统按既定意图运行。系统集成员在各迭代中编译并链接系统。每一迭代都需要测试增加的功能,并重复执行以前版本测试过的所有测试用例(回归测试)。 5, 评估测试的目的是生成并交付测试评估摘要。这是通过复审并评估测试结果、确定并记录变更请求,以及计算主要测试评测方法来完成的。测试评估摘要以组织有序的格式提供测试结果和主要测试评测方法,用于评估测试对象和测试流程的质量。1.2. WinRunner测试流程 创建GUI Map文件:WinRunner可以通过它来识别被测试应用程序中的GUI对象。 创建测试脚本:通过录制,编程,或两者的组合创建。在录制测试脚本时,在你想检查被测试应用程序响应的地方插入验证点。 调试脚本:用调试(Debug)的模式运行测试脚本以确保它们可以平稳地运行。还可以使用WinRunner提供的Step, Step Into, Step out功能来调试脚本。 运行测试:用验证(Verify)的模式运行测试脚本来测试你的应用程序。当WinRunner在运行中碰到验证点时,它会将被测应用程序中的当前数据和以前捕捉的期望数据进行比较,如果发现了任何不匹配,WinRunner将会把目前的情况捕捉下来作为真实的结果。 检查结果:确定测试脚本的成功或是失败。在每次测试脚本运行结束之后,WinRunner会将结果显示在报告中。它描述了所有在运行中碰到的重要的事件,例如验证点,错误信息,系统信息或是用户信息。如果发现在运行中有任何不匹配的验证点,你可以在测试结果窗口中查看期望的和实际的结果。 提交缺陷:如果一个测试脚本是由于所测试应用程序中的缺陷而导致失败的,你可以直接从测试结果窗口中提取缺陷的相关信息。1.3. 计划进度1.4. 测试管理1.4.1. 整体框架管理整体框架如下:自动化GUI文件测试报告测试模块1测试模块2测试模块1测试模块2测试支撑库测试脚本测试数据平台支撑产品1支撑产品2支撑产品1产品2产品3测试脚本测试模块1测试模块2目录结构 存放目录要求:1、 产品的脚本与产品的支撑分开放置,将支撑脚本统一管理;支撑统一放到share目录,下面有平台支撑目录,各个产品的支撑脚本目录;2、 每个产品目录下都可分为TestGUI、TestReport、TestScrip;分别用于管理产品测试脚本、测试报告、测试用到的GUI3、 测试脚本中每个模块的测试用例一个目录,每个模块的脚本可以不放置在同一个脚本文件中,但是要求能做到自动调用,每个模块的测试脚本中,还包括测试的数据资源准备;4、 GUI 文件存放在产品的GUI文件夹;统一管理,要求做到与测试脚本的名称相同;5、 为存取及备份方便,目录不能使用中文。使用的名称应该尽量与开发保持一致1.4.2. 脚本管理1, 录制脚本要分开,根据测试用例的流程,拆分为几个小流程,对每个小流程分别录制成不同的脚本。2, 每个测试脚本运行后都要进行清理数据,保持数据库和环境的干净。3, 录制完各单个测试用例的子脚本后,要写一个主脚本进行各子脚本的主次调用处理4, 所有脚本放在一个统一的文件夹下,并且每个脚本名称要和功能相关,如登陆:Login5, 对某个模块的脚本归类到一起1.4.3. GUI管理1, 使用Global GUI Map File Mode模式录制GUI文件,然后把GUI文件统一的放到一个文件夹里,使用gui_load(xxx.gui)这样载入GUI文件,可以把这句写到自定义工具栏,换一个脚本,在加这一句时,就会比较方便了。同时把GUI文件名命名的清楚一点,可以节约自己维护的时间,也能让其他人看的明白。2, 保证干净的测试环境,使用invoke函数启动待测试程序,对需要启动多个应用程序的情况尤其显得重要。(invoke_application ( file, command_option, working_dir, show );)3, 命名GUI对象时,在对象名上加上他所在窗体的名字(或者容易懂的窗体名字简称),这个对菜单、按钮等对象比较有意义。这会在以后的维护中减少阅读工作量,特别是被测试程序版本变化后,对象名称发生变化的情况。4, 建议在用户工具栏添加建立虚拟控件的按钮(learn virtual object),对于少量可以做成按钮识别的控件,可以用虚拟控件做1.4.4. 测试报告管理1, 测试报告统一放到一个测试报告的文件夹,每一个模块的测试报告形成一个文档,并且对于每一个用例的测试报告形成一个文档;2, 测试报告采用HTML 的格式,每个模块的报告通过超链接访问每个用例的测试记录3, 测试报告命名与测试的模块名相同4, 每次测试完成后,将测试报告打包整理;PS:这个是我们的重点。1.4.5. 测试数据管理1, 测试用例中需要的数据放在各个测试脚本目录下,可通过数据驱动调用2,测试数据也可通过对数据库进行操作来使用1.5. 测试设计阶段1.5.1. 自动化测试需求书写出各个需要自动化测试的需求,对各个模块进行前期测试需求,比如登陆模块你希望测试的是1, 正常帐号正常登陆2, 异常帐号异常登陆3, 正常帐号异常登陆4, 正常帐号登陆后,删除该帐号,再登陆等,这些前期的测试需求应该清楚。1.5.2. 自动化测试用例根据测试需求为每个模块,功能设计测试用例,再通过EXCEL输入数据给脚本调用。自动化测试用例设计原则:1, 设计相互独立的测试用例,测试用例的独立性能够保证一个测试用例不依赖另一个测试的成功完成来运行(不依赖于前一个测试用例的结果)。它也确保了即使在无人干预的情况下,自动化测试套件也能得出结果。如果不独立,随后的实验可能无法执行,分离失败的原因变的困难。2, 设计自包含式的(self-contained)测试用例, 具有基准数据库这样基本状态的需求,基本状态消除了测试用例之间的线性依赖。3, 设计基于出发点的(home-based)测试用例。如果每个测试用例都是从一个己知点开始而目结束后会进行清理这样做可以确保每个脚本都与先前测试脚本一样开始于同样的条件有助于保证测试脚本是独立的。4, 设计无重叠的测试用例1.5.3. 测试脚本1 使用基于框架的脚本设计2 实现数据驱动控制3 使用脚本编写规格4 从功能上分解脚本5 构建主脚本和子脚本6 脚本中注释7 脚本中使用的ODBC数据源名称统一命名为WR1.5.4. 测试脚本1 对测试脚本,测试数据和备份计划存储库进行控制2 对GUI文件进行控制3 对测试报告进行控制1.6. 测试实现阶段1, 制定自动化设计标准:如测试脚本编写规格等2, 自动化脚本计划:对脚本进行级别划分,确定那些测试用例不能用于自动化测试3, 测试自动化库:定义一些可重用的脚本放在公共库中,以便重用4, 自动化脚本创建:把脚本创建划分到小组或个人5, 自动化脚本评审:保证开发的脚本符合制定的标准。6, WinRunner和VSS使用此阶段,测试脚本由WinRunner生成。测试数据根据测试用例来制定,然后通过调用EXCEL或者数据库SQL生成。通过VSS将测试脚本与测试需求连接起来以便跟踪和监测测试覆盖。1.7. 测试执行阶段安装了WinRunner测试工具的操作系统为测试执行平台,测试结果会被捕获并显示出来,可通过在WinRunner自带的格式输出,也可输出为HTML格式的结果。自动化测试总结:通过进行自动化测试操作,在其中学习到了很多脚本设计上,技巧上的方法,现总结如下:1, 首先编写测试脚本前,考虑产品可以分为那几个模块,模块中分为那个步骤,测试模块中的那些点,最好是先写一个简单的列表,这样在编写脚本时就比较清晰整体的架构和逻辑。例:在做企业版V2前就是因为没有对整体预先进行设计,导致后面很多地方进行修改,如在设计测试报告输出方面就没考虑到以那种形式进行输出,开始是对整个报告输出到一个HTML文件中,后面改成先有一正个模块的报告来显示那些用例通过,那些失败,然后通过点击通过的或者失败的就可以查看用例测试的详细信息。2, 对于每一个输入条件都要进行判断,判断是否正确,不正确就把不正确的信息写入测试报告中,然后根据需要是否退出整个测试。如加载GUI_PATH路径就要进行判断,判断不存在就输出错误信息并退出测试。3, 所有关于路径方面的变量都应该是相对路径,不能是绝对路径,不管是输出还是输入。如函数库路径LIB,应该这样写(比如static lib_path = getvar(testname) & .sharelib;),就是通过getvar(testname)获取到当前脚本的路径,然后在后加上LIB所在文件夹路径,其他的变量也是一样,最好不要用绝对路径(如:c:abdaaalib),绝对路径对后期维护很差,而且当脚本转移到其他电脑上,放的路径和以前不相同,则测试脚本将跑不成功。4, 脚本中尽量在最前面进行变量定义,然后在脚本中进行调用变量,这样维护脚本就只需要修改变量中定义的值,而不需要去脚本中到处修改。5, 变量名字定义尽量通俗易懂,看到就大概知道定义的什么6, 脚本定义格式:1, 测试模块名称2, 创建日期3, 创建版本4, 修改记录5, 创建人6, 被测程序用的语言7, 测试目的8, 参数9, 返回值7, 注释:定义的变量,测试的步骤都必须进行注释说明8, 函数定义:函数尽量定义成多用,只接受外面传来的参数,在函数中不要进行过多操作。9, 函数格式:1, 函数名称2, 函数目的3, 函数参数4, 函数返回值10, 脚本中加载函数后,在测试结束必须用UNLOAD释放11, GUI整理:1, 可以对某GUI的Logical Name进行修
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年大学《海洋药学-海洋药物提取分离技术》考试备考题库及答案解析
- 舞蹈家协会月度考核评价工作计划
- 食品机械厂成品仓储安全管理制度
- 2025年大学《新媒体技术-新媒体技术概论》考试模拟试题及答案解析
- 电子音乐制作工作室项目审批实施办法
- 2025年公共营养师之二级营养师基础试题库和答案要点
- 第五单元 梨园瑰宝 京剧四大行当和白口(吟诵部分)教学设计 2024-2025学年粤教版花城版(2024)初中音乐七年级上册
- 第一单元 生命之杯《生命之杯》教学设计-2025-2026学年人音版初中音乐八年级下册
- 某包装机械厂原材料采购验收工作方案
- 2025年自考专业(计算机信息管理)试卷附答案详解【典型题】
- 气缸体的认知项目二曲柄连杆机构拆装与调整13课件
- 危重病人床旁交接班流程
- 2024年十大危化品火灾爆炸事故盘点-国内十大火灾爆炸事故
- 《培训的组织与实施》课件
- 培训课件 -面相识人 -识人秘籍内部资料
- 2015海湾消防GST-GM9000消防控制室图形显示装置
- 实训中心管理制度
- 光储充一体化智能充电站项目可行性研究报告建议书
- 大数据专业职业发展路径与规划研究
- 加油站安全生产管理台账21种台账样本完整版
- 中国铁路与国家现代化知到课后答案智慧树章节测试答案2025年春西南交通大学
评论
0/150
提交评论