码迷,mamicode.com
首页 > 其他好文 > 详细

ETL 自动化测试框架

时间:2018-03-09 10:40:15      阅读:195      评论:0      收藏:0      [点我收藏+]

标签:验证   cas   生成   检查   简单   架构   通过   测试框架   god   

分享个自己最近在做的自动化测试框架架构图。 
数据的测试,入口一般定时任务。可添加参数选择执行任务的范围,也可以选择默认的执行范围。验证测试的为etl测试、数据库中的字段校验(通过对应关系、接口或者SQL校验)。

技术分享图片

工具类

  • 数据库工具类:定义一些数据库相关的操作,主要为操作MySQL。自定义了一些增删改查操作,简化SQL;
  • 消息相关工具类:发消息的工具类;
  • 定时任务工具类:暂时使用selenium操作web进行,后续将改成Call jar包的形式,因为公司内部定时任务不支持python;
  • 发送请求工具类:比较简单,get、post等方法的发请求操作;
  • 断言工具类:自定义一些特殊的断言,包括排序、转换数据格式和字符等;
  • 其他工具类:发邮件、写日志等;

核心业务框架

  • 基础类层:定义了基础类和一些常规配置项,以便test case可以方便集成;做数据准备工作,包括环境检查脚本和数据准备脚本;以及在所有测试结束后,恢复之前被破坏掉的数据;在测试因中断(error或不明原因中断)后,保持问题现场,并保留恢复初始数据的手段;
  • 类、对象定义层:将所有用到的接口、库和字段封装成类和对象;自定义一些异常类型;
  • 业务关系对应定义层:将验证规则定义到这一层。定义每个对象的验证规则:对象->对象、对象->SQL、对象->接口返回的json;
  • test case层:定义测试用例,写入具体的业务逻辑,封装成test case;
  • test suite/test case对应定义层:组织需要执行测试的test suite,分别支持组执行、正则匹配执行、全部用例执行;支持从外部的web页进行设置;
  • 测试报告生成器:在全部测试执行完成、或者执行中断后,发送测试报告邮件给自定义的接受者。

配置文件

  • 多线程执行配置文件:是否使用多线程的执行方式对case执行加速, 并设置线程数;

外围系统/工具

    • 环境检查脚本:在执行测试之前,检查环境是否符合测试开始要求;
    • 数据准备脚本:备份执行前的数据,以便后续恢复;注入特定/随机的测试数据;
    • 数据恢复脚本:将备份数据进行恢复;
    • mock平台:模拟接口返回,方便构造一些特定的数据;架构为flask+mongodb;
    • test suite配置页面:在外部配置页中,配置需要执行的case;
    • 数据库:使用MySQL

ETL 自动化测试框架

标签:验证   cas   生成   检查   简单   架构   通过   测试框架   god   

原文地址:https://www.cnblogs.com/zwingblog/p/8531924.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!