《Silktest自动化测试学习分享.ppt》由会员分享,可在线阅读,更多相关《Silktest自动化测试学习分享.ppt(40页珍藏版)》请在三一办公上搜索。
1、Silktest自动化测试学习分享,自动化测试是什么Silktest工具测试脚本的两种方式自动测试脚本编写步骤广西营业前台自动测试脚本简单介绍对自动化测试的个人想法,自动化测试是什么,概念:通过测试工具提供的测试脚本定制和自动回放的功能来实现测试过程的自动化。自动化测试可以定义测试执行的时间或者周期,完全不需要人工干预。测试脚本:测试工具可以识别的,回放测试时使用的,用于模拟人工操作的脚本语言。SilkTest中使用的是独有的4Test语言。,Silktest工具,背景:silkTest 支持众多的应用环境。未经改动的单一测试脚本能够在Windows NT和Windows 2000,Windo
2、ws XP的多种本地化版本上同时运行。SilkTest 支持包括HTML、JavaScript、ActiveX、Java、Visual Basic,Delphi,.Net和C/C+在内的多种开发平台 限制:但目前我们安装的SilkTest2006R2SP2版本,因此只支持浏览器ie6、ie7,SilkTest工具简介,SilkTest使用代理和被测应用交互。代理将4Test代码转换为GUI命令SilkTest包括两个不同的软件构成部分SilkTest Host 软件SilkTest Agent 软件,SilkTestHost,SilkTestAgent,ApplicationUnder Tes
3、t,4Test 脚本,GUI 命令,SilkTest架构,附图片显示安装步骤现放到svn上,地址:http:/10.10.10.150/svn/doc/NGBOSS/08质量控制/08网上服务/资料共享/silktest/,安装silktest,软件安装中需要注意,识别不到ie,进行重装License的问题在安装过程中尽量关闭其他应用程序,测试脚本的两种方式,录制-回放的方式 采取的是根据xy坐标轴的相对位置来识别动作引入自动测试框架方式(稳定性,可移植性更好)采取的是根据对象的属性来进行操作,录制-回放测试流程,录制-回放测试不足,工作重复,引入自动化测试框架方式优点,1、脚本的可重用性、可
4、扩充性、可维护性 组件化脚本开发,公共函数的抽取,函数三层分离2、测试数据、业务逻辑、测试脚本如何分离管理 借助于外部平台或系统来实现3、场景恢复机制 可自定义应用状态,用于Case执行前后的场景恢复4、参数及数据初始化、恢复机制 在外部平台配置,借助于SilkTest的框架来实现:TestCaseEnterTestCaseExit5、界面控件的管理(映射、公用等)Class Map、Record Accessbility、Window Define,公用窗体抽取6、测试结果报告定制化 脚本执行过程中,将测试步骤信息入库,设计测试报告样式7、基于工具函数和方法的二次封装 函数的开发、类的继承、
5、方法的扩展、外部DLL调用、开发Extension Kit向SilkTest的Agent注册扩展函数,引入框架的自动测试的原理,自动化测试的流程,开始,BaseState(),ScriptEnter(),TestCaseEnter(),执行case.t文件,执行相关ai_boss_func函数,期间又会调用到ai_func,ai_sql里的函数,TestCaseExit(),ScriptExit(),结束,IE场景恢复,判断当前系统,处理多余的弹出提示.,设置环境参数,初始化全局变量,打开日志数据库.,连接后台数据库,(若)初始化sql文件,(若)执行恢复sql文件,断开后台数据库,(若)日志
6、输出到,断开数据库,自动测试脚本编写步骤,环境参数设置录制gui(图形用户界面(Graphical User Interface)(.inc)编写case脚本(.t)编写case中调用函数的脚本(.inc)跟踪调试脚本,目录说明,SilkTest工程和测试计划,SilkTest中主要文件类型,函数集,函数集基本功能函数(ai_func,与被测系统无关的函数集文件)业务公共函数(ai_boss_func,与被测系统相关,可重复调用的函数集文件)业务模块级别函数(ai_svc_func,与被测系统相关,具体的业务模块函数集文件)场景恢复函数(ai_recovery_func,对于系统一些异常等的处
7、理函数集文件,这个函数文件在QTP等工具中存在,在silk中不存在)数据库相关函数(ai_sql_func,与被测系统后台数据库相关的函数集文件)ai_init.inc:主要作用是初始化和场景恢复1.首先分析其界面,录制公共部分的GUI,定义为常量,使其作为主窗口2.定义默认状态appstate BaseState,其功能:首先判断IE是否存在,如果不存在,就调起IE,打开待测系统;如果IE存在,判断IE是否是待测系统,如果是,关闭其它的多余窗口;如果不是,就先关闭打开的窗口,再调起IE,打开待测系统,环境布置,设计到两个地方的参数设置:config.ini 广西网上营业厅.ini 若设计到数
8、据库,则参考广西营业的自动测试脚本,Gui的录制,Tag 与identifierCapture过程中,每个对象都有一个class、tag和identifierClass和tag由SilkTest产生、识别、内部使用,不允许修改;Identifier可以修改,用于脚本中对屏幕对象的标识。,编写case脚本,函数的书写脚本函数脚本调试测试文档,函数的书写,函数结构函数声明函数体(do内部)异常处理(except内部),脚本函数,对于silktest自带的函数,可以通过help查询 对于自己编写的脚本函数,按F12定位到我们编写的函数的位置进行查看,脚本调试,Debug:Run Testcase-D
9、ebugF9:开始运行F8:一步步运行,不进到函数里面F7:一步步运行,进到函数里面,广西营业前台自动测试脚本简单介绍,Case模板的管理Case测试数据模板数据库sql的连接校验,对自动化测试的想法,而完善的自动化测试脚本编写或维护的时间很可能会超过手工测试的时间。自动化测试工具永远都不能主导测试实现自动化。自动化测试是一种理念,引入自动化测试的前提是已经建立了合适的自动化测试体系,自动化测试体系是指能够适用某种环境的测试工具、过程、人员结构、方法的综合,运用于整个项目团队。首先研发的设计、编码实现并没有考虑到自动化,而导致自动化脚本的编写非常吃力。比如产品页面项目的命名不规范,界面提示不统一,没有规范化的开发,导致自动化测试工具很难捕捉这些页面对像。移植性:因为考虑到产品页面项目命名的问题,界面提示的问题,导致了自动测试脚本可移植性下降。,