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

上一篇 / 下一篇  2013-04-23 15:38:04

现在基本每个项目都开始或多或少的有自动化测试用例了,当然也就有了一些测试框架,还有一些比较有名的开源框架比如,selenium staf等等,如果目前项目中你要负责开发一款自动化测试框架呢,前段时间负责一款接口测试自动化测试框架的设计开发,它不同于以往我开发的测试框,他是和数据库打交道的,所以如何让准备数据更灵活更方便是我着重考虑的,目前开发已完成并且很好用。哈哈
正好在着说说测试框架设计
测试框架,目前业内来看就三种:
1. 录制回放的框架 
2. 数据驱动的框架,这种框架又分为数据和用例分类和数据与用例为一体,当然他们各有利弊
3. 关键字驱动的测试框架
总的来说,第一种最简单,但是缺点也很明显,不以维护,第二种和第三种不相伯仲,需要根据具体的问题具体分析,但是第三其实有一些人工智能的影子,可以代码生成代码,BDD测试(Behavior. Driven Development)框架,比如jbehave easyb其实就可以看做关键字驱动的测试框架
数据驱动的测试框架,在上个我负责的项目中,实际我也是使用这个方案的,数据驱动的框架中,数据时重点,如何让用户更容易的造数和是用他是你框架成功与否!这里大家简单来看其实就是一个三层结构,数据准备层,测试过程规范层,drive层,负责执行等等
这里的数据是否分离呢,其实这个问题是没有更好答案的,要具体问题具体分析,因为数据如果分离,以后的case变化可能只需要维护数据,case的代码是不用动的。当时你能控制的是数据块,可能是一个文件等等,不方便深入到数据的内部。如果不分离好处是,你在case中一眼能看到你的数据,你想测试的是什么,并且整个测试过程是你可见,测试数据完全可控制的,比如一个log,已\001分割,你可以完全控制log中分割的每个字段。但是会增加维护的成本,目前我刚开发完成的框架支持以上两种数据提供,测试人员根据具体情况使用
关键字驱动框架,如果需求是数据和业务case尽可能的分离,那第三种方式是比较适合的,它可以保证业务与实现分离,数据与业务分离,层次清晰,易于维护。

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

本文出自“shadowwalker”博客http://www.51testing.com/?622454,转载请保留出处


TAG:

xin_晴的个人空间 引用 删除 xin_晴   /   2013-04-25 11:25:35
您好,我是51Testing软件测试网的编辑,您的本篇博文被推荐至51Testing软件测试网首页发表:http://www.51testing.com/html/31/n-844731.html
感谢您关注并支持51Testing博客,期待您更多的优秀原创博文。
 

评分:0

我来说两句

日历

« 2024-04-27  
 123456
78910111213
14151617181920
21222324252627
282930    

数据统计

  • 访问量: 12120
  • 日志数: 9
  • 建立时间: 2013-04-21
  • 更新时间: 2013-05-05

RSS订阅

Open Toolbar