自动化测试介绍ppt课件.ppt
广州南天,自动化测试介绍,广州南天,什么是自动化测试自动化测试的优势自动化测试的方法比对自动化测试流程经验总结及分析建议,主要内容,广州南天,什么是自动化测试,自动化测试适用于各种大型系统,尤其是投入运营后变更频繁或者多期开发的系统。可以为B/S系统、字符终端、C/S系统。,广州南天,什么是自动化测试自动化测试的优势自动化测试的方法比对自动化测试流程经验总结及分析建议,主要内容,广州南天,自动化测试的优势,降低大型系统的由于变更或者多期开发引起的大量的回归测试的人力投入,广州南天,自动化测试的优势,2 减少重复测试的时间,实现快速回归测试。,广州南天,3增强测试的覆盖率,从而提高产品质量,降低潜在风险,自动化测试的优势,广州南天,4 通过自动化测试发现系统的隐患,保证了系统上线后的稳定运行,避免了由于系统缺陷造成的损失。,手工测试,自动化测试,自动化测试的优势,广州南天,创建优良可靠的测试过程,减少人为错误; 可以运行更多更繁琐的测试; 可以执行一些手工测试困难或不可能进行的测试; 更好的利用资源; 测试具有一致性和重复性; 测试脚本的重用性;,5 其他优势:,自动化测试的优势,广州南天,什么是自动化测试自动化测试的优势自动化测试的方法比对自动化测试流程经验总结及分析建议,主要内容,广州南天,自动化测试常用的方法按照脚本的编写方法分为:录制方式描述性编程的方式按照脚本的组合方式分为:QTP方式QTP+QC方式QTP+其它辅助工具的方式按照脚本的action数分为:单个action的方式多个action的方式。,自动化测试的实现方法比对,广州南天,例如:Browser(管理系统).Page(管理系统).Link(我的工作日志).Click,录制方式和描述性编程的比较,录制方式,描述性编程方式,例如:Browser(“creationTime:=”¤twin).Page(“index:=0”). Link(“text:= 我的工作日志”, “visible:=true”,“index:=).Click,广州南天,共同点 都通过识别界面对象,实现功能的自动化不同点录制方式需要使用对象库,描述性编程不需要对象库,对象是运行时实时在页面中获取的。录制方式的脚本后期需要维护对象库录制方式脚本不灵活,不能随着环境的改变而变化,录制方式和描述性编程方式的比较,广州南天,脚本组合方式的简单介绍:QTP方式:QTP中编写脚本,在QTP自带的工具中执行组装及运行。QTP+QC方式: QTP中编写脚本,将脚本保存到QC的“业务组件”模块中,然后通过模块“测试计划”将一个个单独的脚本按照每个案例的要求进行组合,最后在“测试实验室”模块中设置每个业务流、执行流或者单个的脚本的执行顺序,实施执行。 现在的很多公司都是使用QTP+QC方式这种方式,例如:百度、TATA、移动等QTP+其他辅助工具的方式: 这里的辅助工具可能是只实现运行时配置数据的功能;也可能是集脚本的组合、脚本的调用、数据的配置为一体的功能;还可能是为了更好的识别对象加载的其他自动化工具。(如辅助工具:TAR插件、autoit3插件、word、excel、FER等)根据辅助工具的不同,脚本的组合与调用方式也不同。,QTP方式、QTP+QC方式、QTP+辅助工具的方式,广州南天,数据层,业务层,脚本层,设计层,QTP+QC方式实现了业务层、脚本层的分离;QTP+其它辅助工具的方式则实现了数据层、业务层、脚本层三层分离,分工明确,各有所专,提高测试质量和效率,QTP+QC方式、QTP+其它辅助工具的方式,广州南天,QTP+QC方式、QTP+加辅助工具的方式的不同:脚本的编写:QTP+QC方式:编写的脚本只能为录制方式的;QTP+其它辅助工具的方式:可以是录制方式也可以为描述性编程方式。函数调用:QTP+QC方式:只能调用本脚本中编写的函数,不能调用公共函数;QTP+其它辅助工具的方式:通过在资源中加载公共函数,脚本中可以直接调用。数据配置:QTP+QC方式:每次运行时必须一个一个业务流或者执行流的配置数据;QTP+其它辅助工具的方式:辅助工具可以将本次执行的脚本用的所有参数进行统一配置。,QTP+QC方式、QTP+其它辅助工具的方式,广州南天,QTP+QC方式、QTP+其它辅助工具的方式的不同:执行目的的直观性:QTP+QC方式:脚本按照一定顺序组成的业务流或者执行流,不能快速直观地看到每个流的具体验证目的;QTP+其它辅助工具的方式:辅助工具一般采用EXCEL方式,每个脚本后都有备注部分,为了能够快速的了解脚本在各种流中的执行目的。缺陷的提交方式:QTP+QC方式:脚本执行时的发现的缺陷可以直接提交到QC的缺陷管理中;QTP+其它辅助工具的方式:通过查看并且分析实际的执行结果,手动提交缺陷。,QTP方式、QTP+QC方式、QTP+其它辅助工具的方式,广州南天,单个action方式比多个action方式的优势:颗粒度:单个action方式:每个脚本实现一个最基本的系统功能;多个action方式:每个脚本实现多个系统的基本功能,脚本分解颗粒度比较大。复杂性:单个action方式:每个脚本中只实现一个基本功能,脚本简单,容易阅读;多个action方式:每个脚本中由一个主控action控制其余几个action的运行,脚本相对比较复杂,阅读困难。复用性单个action方式:脚本颗粒度小,根据不同的业务流,可以随意的组合脚本,脚本组合方便;多个action方式:脚本颗粒度大,不同的业务流,脚本组合比较繁琐,复用性相对比较低。,单个action与多个action的方式,广州南天,什么是自动化测试自动化测试的优势自动化测试的方法比对自动化测试流程经验总结及分析建议,主要内容,广州南天,自动化测试流程,设计人员,设计评审人员,脚本开发人员,业务测试人员,业务评审人员,脚本评审人员,执行测试的计算机,缺陷报告,广州南天,什么是自动化测试自动化测试的优势自动化测试的方法比对自动化测试流程经验总结及分析建议,主要内容,广州南天,自动化测试的实施建议(即以往工作经验总结):1、“灵活性” 在运行中若遇到非QTP自身的问题,程序不应以“Run err”终止,而是由我们脚本进行控制,通过“micFail”和“exittest”结束。 2、“便于维护性” 脚本中尽量多用参数化,包括对象名,提示框信息等。另一方面脚本中增加尽可能多的report语句,以便于快速准确地定位缺陷的位置。 3、“重用性” 脚本颗粒度划分越小越好。脚本颗粒度越小,脚本的重用性越强,后期脚本的维护工作量越小。4、“准确性” 尽可能多增加检查点,保证我们信息与数据的准确性。5、“可依赖性” 尽可能多的增加评审与交叉,保证我们各阶段成果的质量。,经验总结及分析建议,广州南天,经验总结及分析建议,描述性编程在自动化测试中的应用:1、采用描述性编程的方式,不仅可以减少后期脚本的维护工作量,而且可以通过编写公共函数,尽力减少脚本的重复性代码,代码达到简洁并且容易阅读。2、实现了三层分离的方法,也就是数据层、脚本层、业务层三层分离的方法,能够发挥测试人员、业务人员、脚本编写人员的各种人员所长。3、加入autoit3组件,使之更好的识别windows对象。 4、使用com组件、api函数增强脚本,优化脚本。 5 、利用正则表达式、模拟键盘操作等技术识别对象。,广州南天,经验总结及分析建议,采用QTP+其它辅助工具的方式的过程中,建议注意以下几点:1、脚本采用一个脚本只包含一个action(或function)的方式2、尽力做到一个脚本只实现系统的一个基本功能,也就是脚本颗粒度分解要尽力的小,这样不仅可以增强脚本的复用性,而且便于脚本的组合及流程案例的实现。3、为了保证每个阶段成果的准确性,建议增加各阶段的交互工作或者评审过程。4、制定各阶段工作的文档模版,保证各阶段工作的内容全面及衔接顺畅。5、另外也从经验总结中提出的 “灵活性”“便于维护性”“重用性”“准确性”“可依赖性”五个方面进行考虑。,广州南天,感谢您的关注,Q&A,