以数据思维和技能提升数据应用测试实践 | 京东云技术团队
作者:京东零售 周雪梅
以数据思维和技能提高测试覆盖率和效率。数据应用测试,功能测试主要聚焦在数据流向(输入和输出)。
一、背景
数据质量组当前主要承接黄金眼和商智中的供应链模块,商智包括PC(品牌版:商家端,运营端)和M端。各模块的产品特征和测试范围和策略的通用模式如下图所示,图中灰色部分是待建设中。
从图中可见,产品的数据流向主要包括业务数据、模型数据、后台应用、前台应用四个模块,更细一点数据流向包括以下几步
- 应用离线(T+1)和实时(大促控制台当日和实时库存)数据加工到app层表中,然后推到ck中;
- 用户在前台操作确定查询条件后查询,前台会将该查询请求到后台,后台解析出指标维度,查询ck后同步指标结果给前台,然后给用户展示。
二、测试策略
测试策略,首先聚焦在从0到1的测试场景,后面会针对一些特殊场景进行单独的介绍。
1、模型数据
模型数据的测试前提是了解到数据安全和数据时效(特别是deadline时间),策略主要包括探测、功能测试、监控。
- 探测主要采用自动化的方式,按模式校验输出html的报告。当前完成了分区连续性探测、NULL占比、统计变量、枚举字段的分布三种模式,后续计划加上环比,以及包含部门、金额、数量等供应链涉及的关键字的特殊校验;
- 1)分区连续性探测识别:分区总数、结束和开始时间的天数差距去识别分区类型,来判断分区是否连续
- 2)最近三个dt的总数环比(环比差距0.1会自动标红)
- 3)最近三个dt的NULL占比和环比(NULL环比差距0.1会自动标红)
- 4)最近三个dt的统计值情况
- 功能测试主要采用手工和自动化的方式,自动化主要是针对通用的数据属性测试,手工主要是针对业务属性和非通用数据属性的测试。
- 监控待建设,后续的计划是把探测和功能测试沉淀的自动化沉淀为任务进行频次监控
2、后台测试
后台测试的测试范围主要集中在功能(指标维度的准确性)、性能和安全。
- 功能(指标维度的准确性),采用手工和自动化回归的方式进行。自动化是依托九数和deeptest平台建设的,流水线的方式自动生成deeptest支持的用例进行回归测试。未来规划是提升接口验证的覆盖率和适应场景。
- 安全,把安全的测试点建设到后台的功能测试中,权限内可查非权限内不可查。
- 性能
3、前台测试
前台测试聚焦在数据的输入输出和其他。输入指前台的请求入参是否准确;输出是指前台样式展示和数据取值(即后台接口返回的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)前台输出测试范围主要包括页面样式展示、数据映射等。当前在持续建设用例模板。
- 样式展示主要是文本和数值的展示样式,主要采用人工验证沉淀期望结果,然后自动化回归,采用的cypress(支持接口mock)可视化的测试。当前的建设是梳理包括的数据样式的模式,通过mock的方式快速返回样式下的多场景,如下图可见,接口为输入项,选择接口中包括的样式范围,输出需要多少种测试场景能覆盖所有的样式场景。
- 数据映射是后台接口中数据和前台展示数据的映射关系正确,主要采用人工验证沉淀期望结果,然后自动化回归,采用的cypress可视化的测试。
3)前台的其它测试,兼容和权限
- 兼容是浏览器或者手机版本的兼容性测试;
- 权限包括菜单和数据权限
4、技改
数据应用的技改指数值未变,架构升级。
4.1数据技改
测试方案是新表和老表数据对比结果是否一致,采用的方式有两种,1)hivesql的join;2)差集为空
4.2后台技改
测试方案是新老应用的接口数据是否一致,采用的方式是接口测试。选择入参列表,循环遍历新老接口,对接口返回转换为df,df对比是否一致
三、测试沉淀
自动化沉淀到中coding中,里面包含了数据、后台和前台三个模块。

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
京东短网址高可用提升最佳实践 | 京东云技术团队
作者:京东零售郝彦军 什么是短网址? 短网址,是在长度上比较短的网址。简单来说就是帮您把冗长的URL地址缩短成8个字符以内的短网址。 当我们在腾讯、新浪发微博时,有时发很长的网址连接,但由于微博只限制140个字,所以微博就自动把您发的长网址给转换成短网址了。在微博和手机短信提醒等限制字数的地方来使用短网址,的确是一个不错的方案。 短网址通常使用“短域名/短码”的形式,打开短网址网页会直接跳转到长网址页面。例:3.cn/CdEyF2、t.cn/RlB2PdD、dwz.cn/134128 等短网址,分别是由以下短网址服务缩短后的网址 京东短网址:http://s.3.cn/, 新浪短网址:https://sina.lt/ ,百度短网址:http://dwz.cn/。 短网址服务主要包含功能: 生成短网址(长网址缩短)、二维码简化、修改短网址、短网址跳转(访问短网址跳转到长网址)、唤醒APP、短网址统计 等。 短网址能解决什么问题? 长网址存在的问题: 1、长网址的长度太长,下面的长网址,共记312个字符,在微博场景中,限制140字符,已无法发布出去。在短信场景中,限制70字符,会产生5条短...
- 下一篇
【GPT-4理论系列篇】GPT-4核心技术探秘
作者:京东零售 刘岩 前言 GPT-4已经发布有一段时间了,但是出于安全性等各种原因,OpenAI并没有公布GPT-4的技术细节和代码,而是仅仅给出了一个长达100页的技术报告[1]。这个技术报告着重介绍了GPT-4的强大之处,仅仅给出了几个技术方向的概括,对于想了解技术细节的我们远远不够。作为一个技术博主,重复写一些GPT-4的优点,市场应用总是不太够的。因此,在本文中,我将结合GPT-4的技术报告、GPT-4相对于GPT 3.5/ChatGPT的提升、GPT-4和ChatGPT的对比、OpenAI的近期工作,大语言模型(Large Language Model,LLM)模型的科研进展,多模态模型的科研进展等多方面的信息,深入分析GPT-4的技术细节。因为并没有明确的证据证明GPT-4就是这么做的,所以我们在这里主要讨论要实现GPT-4的这些能力,OpenAI可能使用了哪些技术。所以如果我的推测有所错误,也欢迎各位读者在评论区探讨。接下来让我们一起化身福尔摩斯,开始分析GPT-4背后的原理吧。 1. GPT-4的提升 GPT-4是在ChatGPT基础上迭代出来的,关于ChatGPT的...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- MySQL8.0.19开启GTID主从同步CentOS8
- SpringBoot2更换Tomcat为Jetty,小型站点的福音
- Red5直播服务器,属于Java语言的直播服务器
- CentOS7,8上快速安装Gitea,搭建Git服务器
- CentOS6,7,8上安装Nginx,支持https2.0的开启
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装
- SpringBoot2整合MyBatis,连接MySql数据库做增删改查操作
- SpringBoot2全家桶,快速入门学习开发网站教程
- CentOS8安装MyCat,轻松搞定数据库的读写分离、垂直分库、水平分库