接口测试数据准备的几点想法

发表于:2009-11-24 15:57

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:yuanhua    来源:Taobao QA Team

关键字:接口测试

  在我之前的一篇blog《接口测试数据准备策略的几点看法》中,有讲到接口测试数据准备有两种策略,并分析了这两种策略的优缺点,随着在实践中的不断思考和总结,以及大家的讨论,逐渐有一些初步的想法,这些想法并不成熟并且有些技术难点有待攻克,希望在大家的指点和帮助下,这些想法可以变成现实。

  第一个想法:结合两种准备数据策略的优点,使用Excel准备数据最大的问题就是我们要制定严格的数据主键规范,防止并发运行时,数据的冲突问题,这样造成的问题就是Excel数据量很大;调用api准备数据我们可以不必关心数据的主键,因为主键是通过数据库生成的,唯一性键也可以通过程序随机生成不重复的数据。那么如果Excel中的主键也可以在插入时根据数据库的seq生成,或者执行某段程序生成唯一性数据,这样就可以大大在节省Excel的数量。

  这个想法要想实现有两个难点,一个是如何让读excel程序,如dbUnit插入数据时可以生成数据库seq和唯一性字段,关于这点我觉得可以通过修改 dbUnit,让它有识别特殊数据的能力,我们可以传入数据库的seq值与我们自定义的方法名。我曾经修改过dbUnit让他支持了excel的简单日期类型,从而可以让插入的数据的时间字段具体实时性。另一个难点就是如果让程序返回生成的主键值,因为这个主键值后续会用到,因为我们使用是 Annotation的方式,目前我还没有相关的经验。

  第二个想法:目前我们一个case对应一个Excel,当case越来越多时,Excel的数量也开始膨胀起来,增加日后维护的风险,如果一个测试类准备一个Excel的实现,如果数据量多了,不容易区分数据与case的对应关系,但是如果我们在excel增加一列对于case号的标识的话,维护起来就清晰多了,当要想实现这样的需求,也必须修改读Excel的程序来实现,还有是最好能实现,当Case运行前加载这个case对应的数据,运行后自动清除数据。

  第三个想法:通过一个小型的本地的数据库保存测试数据,这个是在想法二的扩展,在数据库还会增加一列,测试类名,这样通过测试类名与case号就可以准确定位用例数据,批量维护数据与查找测试数据时都会变得比较方便。

  另外对于分库分表数据准备,通过Excel手工准备的话,无疑要增加一步计算的过程,目前还没有太好的办法,比较常用的做法是通过调用api的方法进行准备。

  如果这些想法可以实现,将大大减少我们准备数据时的麻烦,提高我们的工作效率。

相关阅读:

L oadRunner在HTTP接口测试中的应用

接口测试中测试与开发的配合

接口测试在淘宝的应用

《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号