自动化测试的计划和实施第二阶段

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

第二阶段的副标题:从烦杂到豁然开朗

其实这是我们经历的真实的过程,从一开始的没有完整的自动化平台和对平台重要性的认识不足,加上缺乏相关的经验,这个过程可谓吃尽了苦头。这这个阶段,即使有了测试平台的支持,随着脚本技术的进步,我们仍然要为以后的维护和扩展付出很大的代价。

这样的痛苦过程经历了大概半年左右的时间,当随着脚本技术的探索思路越来越清晰的时候。其中最关键的里程碑是API概念的提出,就是一个分层的概念。其实也没有多少创意而言,只是在自动化测试概念中提出来,颇有一些不同。

自动化测试的被测试对象总是千差万别的,针对不同的测试对象开发不同的API显然不是办法,我们提出了三层API的概念。底层API,针对一些基本的操作,比如界面GUI的操作,封装一些基本的原子操作方法:按钮,下拉框,列表框等。针对服务器的操作,封装一些telnet,执行命令,获返回结果等。针都数据库操作(oracle和mysql分开进行),封装一些查询,提交,连接等原子操作的API。随着业务的不断变化,这些原子操作不需要进行维护,只有在需要的时候进行扩充。原子层之上是逻辑层,这一层的API变化的可能性比较大,对他们进行版本管理,这是一个颗粒相对较大的封装,可以充分一些原子层的操作进行组装。最大限度的重用原子层的代码。最上层就是业务层的操作,这部分的颗粒更大。利用业务层的接口进行组装。需要注意的是,对于每一层的API,接口要进行很好的设计和论证,充分考虑扩充和重用。必要的时候利用变参。

上面讲了一些具体实现,这是从技术的实现角度考虑的。另外,平台的开发工作是同步进行的。好的技术实现离不开平台的支撑。还需要重复那句话:好的平台不仅仅使得测试开发变得更加容易,而且可以统一测试开发人员的思想和规范性。

平台的东西只做简单介绍,我们平台开发基于Linux,主要语言是前台的Java和后台的Tcl,数据库选的Oracle。整个系统是一个分布式的测试平台,前端是Web浏览器,后端是执行引擎。用户可以直接利用前面说的原子API在平台上书写测试用例,并进行执行。 这是一个很好的IDE。有很多比较强大的功能,包括测试执行,定制,开发,统计。

至此,自动化进入了相对来说正规化的阶段。

This entry was posted in 测试自动化 and tagged . Bookmark the permalink.

4 Responses to 自动化测试的计划和实施第二阶段

  1. Edenhu says:

    API 分层,平台(规范统一)

  2. ricky.zhu says:

    Eden一下就抓住了要害。
    这两个东西我们可是摸索了接近两年啊~

  3. 蓝天伟 says:

    呵呵,非常不错的的文章!我仔细看了前辈的文章,有一个地方不是很理解,就是前辈关于API分层中的第二层–逻辑层,是用来做什么的?前辈能不能给解释一下啊?非常感谢!

  4. kili says:

    测试的软件是什么类型的?ERP?网站?

Leave a Reply

Your email address will not be published. Required fields are marked *