H5精准测试服务端接口及数据库表设计

设计:

range_coverage_js      与   range_coverage_js_file  是一对多的关系

(上传数据的接口,新增卡控逻辑,当status状态变为2的时候,则上传初始化数据时,不重置状态为1,(1,3的时候可以重置为1))

查询待测应用是否接入了Istanbul的接口

 

 

解析数据流程

 

 

 

 

 DB设计:

主表(存储被测应用实时上报的原始数据)

use totoro_range;

CREATE TABLE `totoro_range`.`range_coverage_js` (

`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键ID',

`v_task_id` bigint(20) DEFAULT NULL COMMENT '发布任务ID',

--通过spring_id 或者是v_task_id  +  totoro_sprint_name  迭代名称 可以实现相互转换   或者是通过dbtotoro.totoro_sprint中查询 然后在range_job中查询

`range_job_app_id` bigint(20) DEFAULT NULL COMMENT '范围系统应用的扫描任务ID(通过app_name和commitId查询range_job_app表获得)',

`app_name` VARCHAR(45) NULL  COMMENT'被测应用名',

`commit_id` VARCHAR(45) NULL  COMMENT'当前被测版本的commitId',

`branch` VARCHAR(45) NULL  COMMENT'分支号',

`sprint_id` VARCHAR(45) NULL  COMMENT'(迭代)id',

`sprint_name` VARCHAR(45) NULL  COMMENT'(迭代)名称',

`coverage_json_ceph_key` VARCHAR(100) NULL  COMMENT'上传的覆盖率数据存储的key',

`update_time` DATETIME NULL  COMMENT'更新时间',

`is_deleted` tinyint(1) NOT NULL  COMMENT'0' COMMENT '是否删除',

`env_type` int(5) DEFAULT NULL COMMENT '1为宝信,2为外高桥,3为,宝信+外高桥',

`handle_data_machine_ip` VARCHAR(45) NULL  COMMENT'处理数据的机器ip地址',

`status` VARCHAR(45) NULL  COMMENT'状态',

`gmt_create` DATETIME NULL  COMMENT'创建时间',

`start_time` datetime DEFAULT NULL COMMENT '开始执行任务的时间',

`end_time` datetime DEFAULT NULL COMMENT '结束执行任务的时间',

PRIMARY KEY (`id`))

COMMENT = '应用文件覆盖率数据';

 

 

 

前端读取文件:

range_coverage_js_file  

(每个主表合并后的数据拆分解析后的存储文件表)

 

use totoro_range;

CREATE TABLE `totoro_range`.`range_coverage_js_file` (

`id` INT NOT NULL AUTO_INCREMENT,

`app_name` VARCHAR(45) NULL  COMMENT'被测应用名',

`commit_id` VARCHAR(45) NULL  COMMENT'当前被测版本的commitId',

`branch` VARCHAR(45) NULL  COMMENT'分支号',

`sprint_id` VARCHAR(45) NULL  COMMENT'(迭代)任务id',

`absolute_path` VARCHAR(45) NULL  COMMENT'覆盖率数据中path字段(路径+文件名)',

`folder_id` INT NULL  COMMENT'文件夹名对应的Id 对应range_coverage_package中的id',

`file_name` VARCHAR(45) NULL  COMMENT'文件名',

 `range_file_id`  INT NULL  COMMENT'diff文件id',

`update_time` DATETIME NULL  COMMENT'更新时间',

`is_deleted` tinyint(1) NOT NULL  COMMENT'0' COMMENT '是否删除',

`range_coverage_js_id` bigint(20) DEFAULT NULL COMMENT '代码染色任务主键(range_coverage_js 的主键id)',

`merge_coverage_Json` longtext COMMENT '单个文件marge后的覆盖率文件',

PRIMARY KEY (`id`))

COMMENT = '单文件覆盖率数据';

有range_file_id  但是没有path 对应其它文件就是没有覆盖率

 

 

 

range_coverage_package  

表中新增

coverage_type 字段新增类型 4 表示H5的文件夹数据

range_coverage_job_id 字段中存储, 该H5解析任务的 range_coverage_js 的id

 

统计覆盖率数据表:

range_coverage_counter

 

types 字段新增类型  7 ,表示js语句被覆盖率

counter_type  字段新增类型  9 文件夹,10 js文件

coverage_type 字段新增类型 4 表示h5被覆盖率

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值