4. UI框架第四步:自动化测试工件的管理策略
自动化测试的实施和运行的过程中,至少会产生三种工件:
(1)自动化测试案例脚本
(2)自动化测试公共函数库
(3)自动化测试结果报告
一般来说,对于文件有两种管理策略
(1)严格的版本管理策略
比如代码管理工具clearcase,cvs等,它们的特点是提供了先进的版本分支和归并功能,并且同时具有非常严格的检入/检出机制。在很多成熟软件组织的版本控制过程中,开发人员修改一个文件要经过多层流程上的审核,多次测试之后,然后才可以进行归并等操作。
因此,它的优点是保证安全性和稳定性,缺点是流程繁琐,效率不高。自动化测试工件采用代码管理工具的工作流程图如图7-25所示。
图7-25 基于严格版本管理系统的自动化测试脚本管理图
在上面的解决方案中,自动化测试脚本的版本分支与归并应该遵循其对应的被测软件产品源码的管理策略。比如1.0.1版本的软件产品代码下建立一个automation目录,专门存储自动化测试工件,这样,每当软件版本升级时,脚本也同样进行升级。
【思考】:为什么这样做?
(2). 宽松的版本管理策略
宽松的版本管理可以由文件目录存储来实现,通过规划文件目录层次和目录名来描述文件的版本结构。如图7-26所示。
图7-26 基于目录结构的测试脚本管理方案
需要注意的是,利用windows文件系统中管理自动化测试工件,一般要符合以下两个原则:
(1). 一般地,目录结构的深度不超过三层,三层以上的目录会带来查阅的困难和维护工作量。
(2). 因为在基于目录的代码管理策略中,版本由目录来描述。升级到1.0.2版本,就需要建立一个新的目录来存放1.0.2版本的脚本集。因此,我们的原则是尽量减少版本目录中脚本的个数,以减少相应的维护工作量
【思考】:我们为什么把function lib放在根下,而不是版本目录下?
【思考】:针对目前的QTP自动化测试脚本,我们是采用严格的管理策略还是宽松的策略?那么在框架的实现中,又该如何整合这些管理策略?
到此,现在我们的框架如图7-27所示。
图7-27 UI框架管理方案
5. 自动化测试框架高级解决方案
在完成上述四个步骤后,我们的测试框架已经从从代码到策略到规范上,都有了一套实现和解决方案。到这里,聪明的读者从这一步步的框架完善的过程中,已经意会了框架到底是何物,没错,框架其实就是为解决我们在自动化测试中的种种问题而生。因此,框架不是我们自动化测试的最终目的,它只是高效高质量自动化测试的保障手段。为了提高自动化测试的效益和效率,我们开动脑筋,可以开发代码,可以制定规范,也可以重构流程等等,这些最后形成了一个有机的体系。这个体系我们给它取了个名字,叫软件自动化测试框架。
因此,可以推断,框架是一个自动化测试长实施过程中长期实践积累的最终结果。那么对于一个软件测试自动化刚起步的企业来说,就只能“摸着石头过河”,没有办法缩短这个过程吗?答案当然是否定。根据唯物分析观,世界上有万事万物,每种事物在本质上都具有共性和个性。因此,一个企业遇到的自动化测试实施问题可以划分为:
全部问题=自动化测试的常见问题+企业的独特问题
自动化常见的问题包括健壮性问题,执行拓扑问题和测试报告问题等等,这些完全可以借鉴一些成熟的经验和解决方案,而企业则把更多的精力放在解决个性问题上。
这个通用问题的框架解决方案是什么?它又如何工作?这就是下章我们要介绍的主角-Automation Center分布式测试框架解决方案。