qileilove

blog已经转移至github,大家请访问 http://qaseven.github.io/

浅谈测试框架的设计与测试数据是否分离

  现在基本每个项目都开始或多或少的有自动化测试用例了,当然也就有了一些测试框架,还有一些比较有名的开源框架比如,selenium staf等等,如果目前项目中你要负责开发一款自动化测试框架呢,前段时间负责一款接口测试自动化测试框架的设计开发,它不同于以往我开发的测试框,他是和数据库打交道的,所以如何让准备数据更灵活更方便是我着重考虑的,目前开发已完成并且很好用。哈哈

  正好在着说说测试框架设计

  测试框架,目前业内来看就三种:

  1、录制回放的框架

  2、数据驱动的框架,这种框架又分为数据和用例分类和数据与用例为一体,当然他们各有利弊

  3、关键字驱动的测试框架

  总的来说,第一种最简单,但是缺点也很明显,不以维护,第二种和第三种不相伯仲,需要根据具体的问题具体分析,但是第三其实有一些人工智能的影子,可以代码生成代码,BDD测试(Behavior. Driven Development)框架,比如jbehave easyb其实就可以看做关键字驱动的测试框架

  数据驱动的测试框架,在上个我负责的项目中,实际我也是使用这个方案的,数据驱动的框架中,数据时重点,如何让用户更容易的造数和是用他是你框架成功与否!这里大家简单来看其实就是一个三层结构,数据准备层,测试过程规范层,drive层,负责执行等等

  这里的数据是否分离呢,其实这个问题是没有更好答案的,要具体问题具体分析,因为数据如果分离,以后的case变化可能只需要维护数据,case的代码是不用动的。当时你能控制的是数据块,可能是一个文件等等,不方便深入到数据的内部。如果不分离好处是,你在case中一眼能看到你的数据,你想测试的是什么,并且整个测试过程是你可见,测试数据完全可控制的,比如一个log,已\001分割,你可以完全控制log中分割的每个字段。但是会增加维护的成本,目前我刚开发完成的框架支持以上两种数据提供,测试人员根据具体情况使用

  关键字驱动框架,如果需求是数据和业务case尽可能的分离,那第三种方式是比较适合的,它可以保证业务与实现分离,数据与业务分离,层次清晰,易于维护。

  大家还可以尝试一下代码生成代码,在上个我写的框架中,就运用了这个方法,很多common的东西,有固定格式的项目的具体的代码文件都可以考虑用代码生成代码,能很大限度的提高效率。

版权声明:本文出自 shadowwalker 的51Testing软件测试博客:http://www.51testing.com/?622454

原创作品,转载时请务必以超链接形式标明本文原始出处、作者信息和本声明,否则将追究法律责任。

posted on 2013-04-26 14:13 顺其自然EVO 阅读(333) 评论(0)  编辑  收藏 所属分类: selenium and watir webdrivers 自动化测试学习


只有注册用户登录后才能发表评论。


网站导航:
 
<2013年4月>
31123456
78910111213
14151617181920
21222324252627
2829301234
567891011

导航

统计

常用链接

留言簿(55)

随笔分类

随笔档案

文章分类

文章档案

搜索

最新评论

阅读排行榜

评论排行榜