作者:京东零售 周雪梅
以数据思维和技能提高测试覆盖率和效率。数据应用测试,功能测试主要聚焦在数据流向(输入和输出)。
数据质量组当前主要承接黄金眼和商智中的供应链模块,商智包括 PC(品牌版:商家端,运营端)和 M 端。各模块的产品特征和测试范围和策略的通用模式如下图所示,图中灰色部分是待建设中。
从图中可见,产品的数据流向主要包括业务数据、模型数据、后台应用、前台应用四个模块,更细一点数据流向包括以下几步
测试策略,首先聚焦在从 0 到 1 的测试场景,后面会针对一些特殊场景进行单独的介绍。
模型数据的测试前提是了解到数据安全和数据时效(特别是 deadline 时间),策略主要包括探测、功能测试、监控。
后台测试的测试范围主要集中在功能(指标维度的准确性)、性能和安全。
前台测试聚焦在数据的输入输出和其他。输入指前台的请求入参是否准确;输出是指前台样式展示和数据取值(即后台接口返回的 key 和前台展示的映射关系)。其他是指页面兼容性和资源权限等。
1)前台输入测试,现状是采用手工 + 录制识别的方式验证请求入参是否准确。录制识别的方式采用 chrome 插件 MeterSphere JMX Recorder 录制前台请求并导出为 jmx 文件,录制的方式建议每次改变一个查询条件触发后台查询。对导出的 jmx 文件进行识别转换为 df,利用窗口函数去验证这一请求和上一次请求的不同之处是否只有 1 处。下面两图分别为文件解析后的 df 对象和检测入参变化的结果(rank 非 1 的变化数大于等于 2 就需要细化查看是否有问题,其中变化项 change_value,变化数 change_n,请求的顺序 rank),执行命令 #python test_web_input.py jmx 文件(autotest-data/公共/前端)
2)前台输出测试范围主要包括页面样式展示、数据映射等。当前在持续建设用例模板。
3)前台的其它测试,兼容和权限
数据应用的技改指数值未变,架构升级。
测试方案是新表和老表数据对比结果是否一致,采用的方式有两种,1)hivesql 的 join;2)差集为空
测试方案是新老应用的接口数据是否一致,采用的方式是接口测试。选择入参列表,循环遍历新老接口,对接口返回转换为 df,df 对比是否一致
自动化沉淀到中 coding 中,里面包含了数据、后台和前台三个模块。