《自动化功能测试工具》课程教学改革
2017-10-21方智
摘要:Quick Test Pro(简称QTP)是一款惠普公司出品的商用自动化软件功能测试的软件。在QTP11.5版本之后更名为Unified Functional Testing(简称UFT)。选用UFT工具,在高校開展《自动化功能测试工具》课程的教学工作。从教学实践活动中获得了一些教学方面的总结和经验,工具软件每年都可能面临版本更替、软件的淘汰,如何能够对学生授之以渔,降低他们在学习新工具的学习成本,能够尽快上手,这才是在教学改革活动中需要思考的首要问题。本文重点探讨了自动化功能测试工具课程的教学内容、教学资源建设、教学实验思路、课程教学层次四个方面的改革。从而提高教学质量,提升学生的实践能力。
关键词:Unified Functional Testing(简称UFT);自动化功能测试工具;教学改革;
结合CDIO的工程教育理念,在高校软件测试专业本科生开设自动化功能测试工具初级课程提出改革探讨,包括教学内容、教学资源建设、教学实验思路、课程教学层次、课外教学延展五个方面。
自动化功能测试软件在市场上以Unified Functional Testing(简称UFT)和selenium软件居多,因为selenium是开源软件,所占市场份额越来越大,但是软件测试专业学生普遍缺少对python或Java语言的深入掌握,selenium对于初学者来说,缺少通过简单录制就能自动生成脚本的体验环节,UFT能够通过录制自动生成脚本,所以最终选择UFT作为初级功能工具入门学习的首选。
一、教学内容
根据选用教材,教学内容覆盖自动化测试基础、UFT工具使用、VBScript脚本编写、自动化测试框架。随着教学活动的开展,一些功能已发生变化,比如UFT自带的验证点功能Standard Checkpoint,与CheckProperty验证点函数、自定义验证点Reporter函数进行比较,检查点功能太弱,CheckProperty方法只有Pass和Fail两种结果,Reporter函数在工程应用中很普遍,能适用各种程序逻辑中[1]。应该认真斟酌具有实践价值的知识点。
二、教学资源建设
通过设定知识线路,安排教学进度计划、视频资源建设、文字资源建设、参考脚本案例建设、调试出现的问题等几个方面。每一个知识点内资源建设,包括测试脚本word格式、测试工程文件、AVI格式教学视频文件、说明性文档、调试中的问题。每一个视频资源时长不超过15分钟。制作系统性学习教程,主要用于教学参考、课下学生的自学参考。制作完成UFT初级基础教程的完整实验工程文件,以UFT工具安装包自带的案例为测试对象,进行相对完整的自动化功能测试实验。
三、教学实验思路
工具软件教学过程中的实验开展,应该是多层次多维度的。并不强调在每一个知识点上重新制作一个全新的案例,而是在同一个案例上的多次增强和修改,这样学习才有一定的知识连贯性。以涉及描述性编程的教学实验为例,给出以下八个层次的教学实验思路。
第一层次,学生在初学阶段,可以采用UFT软件自动录制测试执行过程,并且保证回放成功。
第二层次,在自动生成的脚本上完成with结构、Function封装等改造,并增强对可能出现的异常处理。
第三层次,在上一个版本上,要求测试数据预先存放在数据池DataTable对象中,脚本运行时从DataTable中依次取出,实现脚本参数化。
第四层次,利用property属性值进行脚本描述性编程。增强对于对象库Object Repository的管理、对象库中的常见对象属性名和属性值、辅助属性的熟悉和掌握。
第五层次,利用系统提供的Description对象,实现对象库编程,以达到脚本更大程度的封装和复用。
第六层次,利用外部Excel文件,测试数据从Excel文件工作表读入到运行时DataTable数据池对象,进一步提高复用。
第七层次,因为DataTable数据池对象并不是一个在其他软件中通用的数据格式,予以摒弃,采用编写VBScript的Funtion函数,来读取指定文件路径下Excel文件,完成输入数据从外部Excel文件读取,这样,脚本与数据完全分离,从而降低耦合度。
第八层次,增加Excel中多组测试数据,编写Function函数,实现输出结果向Excel文件中进行写入,将输出数据直接写入指定位置的Excel文件单元格中。
四、课程教学层次
课程的层次由浅入深,包括语法基础、设计模式[2]、自动化测试框架的初步设计及实现。
框架概念是比较抽象的,可以鼓励学生写出框架[]的一些雏形。比如在多台测试机的情况下,每台都要环境配置比较麻烦,并需要保持配置一致。因此给出如下的教学案例。
将测试数据写在Excel中,在运行UFT时,会进行读取Excel中数据来进行测试。也可以将一些测试执行的参数配置写入Excel中,如用1和0表示是否,来进行是否重启IE、是否写Log等动作的控制,也可以写入数字,来控制脚本的运行次数。假定有一个Excel工作簿,包括一个以项目名称为名的工作表,记录测试数据是否运行,输入数据1,输入数据2,预期结果,实际结果,成功次数,失败次数,报告详细描述几个列,通过自定义Function函数对Excel指定单元格进行读取,做出是否执行的判断,如果执行,记录实际结果,并判断成功或失败,更新计数器的值。
五、结束语
本次课程改革集中在教学内容、资源建设、实验思路、教学层次等方面。在改革过程中取得何种效果和持续改进,值得我们不断斟酌和探索。
参考文献:
[1]余杰.赵旭斌.精通QTP-自动化测试技术领航[J].[2012年1月].
[2]方智.面向对象编程思维的建立和培养[J].实验科学与技术:2013,10(3):69-70
[3]张伟 周百顺. 基于UFT-ALM框架的功能自动化测试实践[J].南方农机,2017年第14期
作者简介:方智(1981-),女,讲师,硕士,主要研究方向:软件工程、软件测试。
(作者单位:电子科技大学成都学院计算机系 成都)