自动化测试的计划和实施第二阶段
自从上次介绍了自动化测试的计划和实施第一阶段,这阵子一直都在忙别的事情,加上访问断断续续,所以没有接下去。打算利用这几天的时间把剩下 的几个阶段完整的记录下来。也对打算实施自动化和已经在实施自动化过程中的朋友有点帮助吧。

第二阶段的副标题:从烦杂到豁然开朗
其实这是我们经历的真实的过程,从一开始的没有完整的自动化平台和对平台重要性的认识不足,加上缺乏相关的经验,这个过程可谓吃尽了苦头。这这个阶段,即使有了测试平台的支持,随着脚本技术的进步,我们仍然要为以后的维护和扩展付出很大的代价。
这样的痛苦过程经历了大概半年左右的时间,当随着脚本技术的探索思路越来越清晰的时候。其中最关键的里程碑是API概念的提出,就是一个分层的概念。其实也没有多少创意而言,只是在自动化测试概念中提出来,颇有一些不同。
自动化测试的被测试对象总是千差万别的,针对不同的测试对象开发不同的API显然不是办法,我们提出了 三层API的概念。底层API,针对一些基本的操作,比如界面GUI的操作,封装一些基本的原子操作方法:按钮,下拉框,列表框等。针对服务器的操作,封 装一些telnet,执行命令,获返回结果等。针都数据库操作(oracle和mysql分开进行),封装一些查询,提交,连接等原子操作的API。随着 业务的不断变化,这些原子操作不需要进行维护,只有在需要的时候进行扩充。原子层之上是逻辑层,这一层的API变化的可能性比较大,对他们进行版本管理, 这是一个颗粒相对较大的封装,可以充分一些原子层的操作进行组装。最大限度的重用原子层的代码。最上层就是业务层的操作,这部分的颗粒更大。利用业务层的 接口进行组装。需要注意的是,对于每一层的API,接口要进行很好的设计和论证,充分考虑扩充和重用。必要的时候利用变参。
上面讲了一些具体实现,这是从技术的实现角度考虑的。另外,平台的开发工作是同步进行的。好的技术实现离不开平台的支撑。还需要重复那句话:好的平台不仅仅使得测试开发变得更加容易,而且可以统一测试开发人员的思想和规范性。
平台的东西只做简单介绍,我们平台开发基于Linux,主要语言是前台的Java和后台的Tcl,数据库选的Oracle。整个系统是一个分布式的 测试平台,前端是Web浏览器,后端是执行引擎。用户可以直接利用前面说的原子API在平台上书写测试用例,并进行执行。 这是一个很好的IDE。有很多比较强大的功能,包括测试执行,定制,开发,统计。
至此,自动化进入了相对来说正规化的阶段。
如果你不想再体验一次自学时找不到资料,没人解答问题,坚持几天便放弃的感受的话,可以关注我们群(785128166),大家一起讨论交流,里面也有各种软件测试资料和技术交流。
加油吧,测试员!如果你需要提升规划,那就行动吧,在路上总比在起点观望的要好。
未来的你肯定会感谢现在拼命的自己!
相关阅读
自动化测试的计划和实施总纲——让你学习不在迷茫
自动化测试的计划和实施第一阶段 —— 写给正在学习的你