有人说我面对生活面对工作无法认真不够认真可谁又看见我认真的时候是什么样子

阿里妹导读:大数据已然是当下嘚重要课题大大小小的企业在重视大数据的同时,也渐渐重视大数据质量的问题阿里巴巴测试开发专家小郅,今天会分享他对数据测試的系统性思考文章内容架构清晰,内容较长建议大家收藏阅读哦~

关于数据测试,已有不少同学写过这方面的文章或者开发过工具為了系统化,我的想法是从数据质量模型入手分析数据测试的抓手,然后找出数据测试中需要什么样的工具来支撑这里我也不会过于強调我们做的平台,或与其他平台作比较而是想把平台或者工具背后的思考过程总结和分享下。

一、数据质量模型的探寻

在讲到数据测試前需要先想一个问题,怎么样系统化地阐述数据质量

我觉得系统化阐述的一个思路就是寻找当下有没有适合数据质量的质量模型。鉯传统的质量模型为例ISO 9126是一种典型的软件质量模型,无论是开发还是测试无论是各端质量还是服务质量,质量上的大方向不会跳出9126的模型作为互联网行业,虽然现阶段9126中的二级特性不可能完全落地但作为一个指导性的质量模型,它会确保质量不会有方向性的大纰漏那数据质量有没有类似9126的模型可以参考呢?

从国外看已知的 ISO 8000是现在数据质量方面的新兴标准,但该标准一是太重二是不免费提供,彡是国内对该标准的综述也少的可怜因此并没有太多细节可供参考。从国内来看大家都会做到一些总结和落地,包括集团内部的ATA文章吔不少有共性也有不同,但系统性的阐述相对少一些我的一个想法是,既然没有现成的那是否可以尝试将9126移植到数据质量?

9126的一级特性可以分为以下几个:功能性、易用性、可靠性、效率、维护性、可移植性那这几个大项对应到数据质量里,会是什么样的呢

1)功能性:软件提供了用户所需要的功能。二级特性包括:适合性、准确性、互用性、安全性对数据而言,个人觉得最重要的应该属于准确性和安全性

a.对于准确率,如果一句话概括就是首先数据要有,其次数据要全最后数据要准。对应的就可以看到该大项下对应的小項:

  • 数据要有 -> 数据及时性:数据要按约定时间产出。

  • 数据要全 -> 数据完整性:数据不能少、不能缺当然,也不能多

  • 数据要准 -> 数据准确性:数值要准确。

这几个二级特性可能很多同学的文章中都写过,也讨论过这里只是从数据质量整体系统性上再将其阐述一遍。需要说奣的一点是很多文章中也写到了数据一致性这个特性。数据一致性这个概念很广比如关系数据库中的外键一致性、CAP 理论中的强弱一致性。个人认为数据不一致最终影响的还是数据的完整或者准确。如果业务上认为不一致性可以接受那也不是问题。所以我更倾向于将數据一致性作为一种根因而并不是质量模型的一个子项。

b.对于安全性尤其是数据安全,命题也很大这里不再赘述。但需要提的一点昰数据安全涉及到隐私或者差分攻击的预防,也可能是由业务同学考虑的范畴所以在数据质量模型中不能忽视。

2)易用性:是指在指萣条件下使用时软件产品被理解、学习、使用和吸引用户的能力。对于数据来说我认为数据的易用可以分为两方面:是否被理解,是否被需要它更多的是和日常沟通、产品需求及规划相关。

  • 是否被理解意思是当前我们对数据的定义是否是行业认可的,是否存在团队與团队之间、用户与开发者之间理解的不一致

  • 是否被需要,意思是当前我们提供的数据是否真的能够满足用户需要,数据的真正效果囿没有达到比如,我们给用户提供的是它自己品牌的数据但用户可能更需要的是行业下的数据来做进一步的市场规划。

3)可靠性:在指定条件下使用时软件产品维持规定的性能水平的能力。比如上游数据无法定时给出依赖关系的强弱配置不正确,可能影响的就是数據无法定时产出可靠性是一种根因,最终影响的还是功能性

4)效率:是指在规定条件下,相对于所用资源的数量软件产品是否在规萣时间内可提供适当的性能的能力。比如计算倾斜或者计算资源不足导致数据产不出来效率也是一种根因,最终影响的还是功能性

5)鈳维护性:是指是在修改或者新增需求时,当前的开发架构是否足够灵活的支持是开发阶段主要考虑的。比如在数仓开发中当新上游箌来时,如果从下到上全部采用烟囱式开发那对新增的需求必定是不友好的。如果改为 Hub 或者集市模式可能只需要开发接入数据的 ETL 代码,剩下的完全可以复用就是提升可维护性的一种手段。

6)可移植性:是指软件产品从一种环境迁移到另一种环境的能力也是开发阶段主要考虑的。服务或者网站的可移植性大家了解比较多数据的可移植性是指什么?我个人认为可移植性强调的更多是跨技术平台的移植而不是模块间的数据复用。在数据上可能就是数据直接从一个计算平台迁移到另一个计算平台或者 SQL 代码从一个计算平台迁移到另一个計算平台。在可移植性方面我还没有遇到导致质量问题的有说服力的案例,如果大家有相关的例子可以沟通

综上,如果采用9126的思路嘚到的数据质量模型的脑图如下。

1.2. 对移植模型的优化

但是移植过来之后就完事儿了吗其实细想一下,里面还是有很多的问题让它不是那么好用。比较典型的问题就是:模型不正交通俗来讲就是感觉几个特性之间有不同,但也有关系两个例子:

1)比如无论是可靠性、效率还是可维护性,最终影响的都是功能性或者可以说是导致功能性问题的部分根因。可以说功能性是用户最终看到的质量特性,而鈳靠性、效率、可维护性却是研发看到的质量特性

2)有些特性又有相同点,又有不同点比如可靠性和效率,相同点在于虽然问题产苼原因不同,但最终都会导致数据不产出在不产出的情况下,临时解法可能都会一样比如切前一天的数据。不同点在于问题的根本解法有很大的不同,可靠性还是要靠强弱依赖关系检查、架构优化等手段解决而效率问题要靠资源扩容等手段解决。

怎么样能让模型更恏用呢我在上面的基础上进行了简单的修改。

首先将质量特性分为用户可见的质量特性和研发可见的质量特性因为导致用户可见的质量特性出现问题的原因,很大程度上取决于研发可见的质量特性

研发可见的质量特性又分为治标特性和治本特性。所谓治标特性是指兜底例如,如果数据产出出了问题那我们有没有快速的兜底恢复方案,是应用降级、限流还是切换旧数据所谓治本特性是指出问题的根本原因,包括可靠&可维护性、效率、安全这里把可靠和可维护性合并,是觉得两个联系紧密都和研发的架构有关。把安全性从功能性移到这里是觉得安全性对于用户来说可见性没有那么强,但一旦可见后果非常严重,是需要在研发阶段重点考虑的通过可见性范圍将质量模型进行重构后,在模型正交上会显得比之前相对好些

二、数据测试方法论探寻

2.1.数据质量模型应用于研发过程

既然数据质量模型有了雏形,接下来需要思考的就是质量模型在研发过程中的落地也就是由谁在什么时间做什么事情?首先我们先把质量模型平铺箌研发周期中去,x 轴为研发周期y 轴为质量模型,接下来要做的就是填空题即每个研发阶段在某个质量特性上该做什么事情,这样就得箌了一个二维关系如下图所示。里面的内容其实是我们根据自己产品线特性以及质量活动经验总结出来的但总体看下来,大致和传统質量是相似的

填完内容之后,至于由谁来做就一目了然了易用性的问题涉及到商业调研、用户需求和产品规划,更多的是 PD 主导的事情其他几个特性,也就是蓝框中的特性都是开发测试阶段需要考虑的特性

2.2.数据质量模型中的测试抓手

那测试的抓手主要在哪儿?很明顯如果从代表用户的角度,那最直接的切入点就是功能性这个特性一方面它是用户可见的特性,测试从用户的角度发现问题;另一方媔所有研发可见的特性导致的质量问题最终都会落到功能性上可以用功能性做问题发现的最后兜底。

除了功能性还有需要测试重点考慮的特性么?我个人的经验是容灾性是需要考虑的。因为作为研发修复问题的兜底方法容灾性的有无或好坏会严重影响到功能性。这吔是我把他从质量模型中独立出来的一个考虑测试在容灾的预案制定上应该起到一定的 review 作用。

至于其他几个特性效率也好,可靠&可维護性安全性也好,要根据项目性质是日常还是大促是功能新增还是功能优化,甚至测试团队是新建还是有所积累有关对于日常项目、功能新增、团队新建等,在功能性&容灾上的投入是最大的而功能性测试又是两者中最大的。随着功能性上的完善会逐渐投入到效率、可靠&可维护性上。而在大促、功能优化、团队积累时在容灾性、效率、可靠性&可维护性上的投入比功能性要更重。所以我认为数据测試公式应该是:

数据测试 =  基础测试(功能性 + 容灾性) + 选择评估(效率 ||可靠&可维护性 || 安全性)

鉴于功能性测试在整个数据测试中的主体位置2.3会详细介绍功能性测试的方法。其他几个特性的测试在2.4、2.5中简单描述

2.3.数据测试中的功能性测试方法

对于传统功能测试或者接口测试來说,就是通过构造输入检查输出。对于数据测试来说也是如此只不过最终测试的对象由界面、接口返回换成了数据。如果将数据测試活动分解来看比较重要的活动有三个:输入数据构造、输出数据的测试方法、测试执行时机。接下来会分别对这三部分的测试方法进荇描述最后,CR 作为一种典型而又有效的检查数据准确性方法也会做简单介绍。

并不是所有项目都需要输入数据的构造像我所在的产品线“数据银行”目前并不是通过输入数据构造的方式进行测试的。什么样的产品线会适合输入数据的构造呢

我的观点是,如果对线上異常数据十分敏感的业务是需要做输入数据的构造的。对输入数据进行构造实际上并不容易,首先需要测试根据要求生成一批数据嘫后使用开发提供的业务代码运行这批数据,最终产生输出数据如果业务代码只依赖一张表还好,但如果依赖多张表的话那需要考虑箌多张表的输入数据的构造。

如果对线上异常数据并没有那么敏感的业务或者上游数据质量相对高的业务,其实不一定要在测试阶段生荿各种输入的异常数据开发可以提测某份快照数据来重点验证数据处理逻辑的正确性,而因为对输入的异常数据考虑欠佳导致输出数据異常的情况还是可以采用线上持续监控的方式进行。这一点后面也会说

2)输出数据的测试方法

在输出数据的测试方法上,根据功能性丅的三个二级特性:及时性、完整性、准确性对应有不同的测试方法。下面的脑图是一个方法汇总

及时性:相对来说测试方法较为简單,需要做到的就是有没有在规定的时间内产出数据可以通过检查全表条数或者检查分区条数来判断。

完整性:完整性重点评估的两点昰:数据不多数据不少。

  • 不多:一般是检查全表数据、重要枚举值数据有没有重复或者数据主键是否唯一

  • 不少:一般是对全表数据或業务相关的重要字段(比如日期、枚举值、品牌、类目等)进行检查。如果数据规模是可以被知晓的比如知道表中品牌有x条,那每次检查x条即可如果数据规模本身变动较大导致不可被知晓(比如表中的品牌数会开通或关闭),常用的方法就是通过对比历史数据看整体波动是否正常。

准确性:准确性相比来说是比较不容易测试的一种特性,为什么因为很难去找一个理性的参照物,来说明数据有多准大部分都存在于认知中。正是因此准确性测试也是在数据质量模型体系化过程中思维相对发散的一个例子。于是我在发散的思维中从洎身、时间、空间的维度试图总结下准确性的测试方法虽然也总结出了一些方向性思路,但是每种思路还是要依赖于个人的发散性思维鉯及对业务的理解才能最终将其用好

a.自身检查:是指在不和其他数据比较的前提下,用自身数据来检查准确的情况属于最基本的一种檢查。自身检查的测试方法只能将数据正确的概率提高但受限于信息量,提高程度有限有三种比较典型的方法。

  • 第一种方法是该值是否在常规范围内举个例子,比如人数占比理论上都会在[0,1]之间,属于对值进行最基本的检查;

  • 第二种方法是该值是否在业务范围内一般是对该值业务属性了解后的一个判断,比如如果我测试的是某产品搜索人数如果触发渠道唯一的话,理论上该产品的搜索人数>=该产品嘚购买人数这种就是在了解值背后的业务之后的判断;

  • 第三种方法是该值的分布,如果对某个值的业务特性有明确的了解通过观察值汾布也可以测试其准确性。比如如果测试“购买人数中的会员占比”这个值可以观察其在数据中分布,认知该比例应该在0.3左右 如果测試完分布,结果发现80%大致在0.2-0.4之间那就符合认知。如果结果发现80%在0.8-0.9之间那就不符合认知。

b.时间维度上的比较:如果把数据放到时间维度仩比较可以继续提升数据准确的概率。有两种方法:一种方法是在同一数据批次内观察同一个数据不同时间的情况一种方法是在不同數据批次内观察同一数据的情况。

  • 同一批次:比如开发线下提测了一批数据这就是同一数据批次,在该批次下可以比较 ds=、ds=、ds=等不同日期的数据的波动。

  • 不同批次:这种相对来说比较难找因为对于数据来说,很少有保留好几个数据版本的情况但有一个比较典型的案例,就是线上线下的数据 diff如果认为线下的版本是 N,那可以认为线上的版本就是 N-1通过线上线下的数据 diff,能将确定不会改变的数据进行diff检查

c.空间维度上的比较:空间维度上的比较,是指固定了时间维度将当前数值和其他数据进行比较,进一步辅助正确性也有三种基本思蕗:

  • 一种是上下游比较,尤其是重要字段在上下游的加工过程中有没有信息丢失;

  • 一种是和除上下游外的其他数据进行比较比如和同一數据源下的兄弟表进行比较,或者和不同数据源下的表进行比较同一数据源的例子,比如表 A 是某个一级类目的销售数据表 B 是该一级类目下二级类目的销售数据,那么表 B 的数值相加=表 A 数据不同数据源的例子,比如为了计算性能考虑部分数据会从行式数据库同步到列式數据库进行计算,那行式数据库中的数值应该和列式数据库中的数值应该是相等的;

  • 最后一种是和系统外的数据进行比较比如 BI 系统、其怹业务后台系统比较。这种方法用起来受限制较多因为从安全角度考虑,常规的 BI 系统或者其他业务后台系统都不太可能将数据开放出来所以该方法只作为一种可能的思路。

关于测试执行时机方面和传统测试相同,有如下几个测试时机:自测时、提测后、线上数据修改、线上数据新增

无论是自测还是提测,关注的都是线下而线下数据测试是有一定局限性的。如果不采用输入数据构造的方法那开发┅般只提测一部分数据,比如某天的数据但也正是由于提测数据的片面性,即使提测数据没问题也不能代表数据处理规则就完全没有问題;如果采用输入数据构造的方法虽然能在线下发现更多的因为输入数据异常导致的输出数据异常,但因为线上生产环境本身稳定性等治本问题仍然不能代表后续线上就没有问题。

正是因为线下数据的局限性所以当线上数据修改或者线上数据新增时,仍需要持续进行測试线上测试 case 有可能完全使用线下的 case,也有可能对线下 case 进行简单修改后使用

将测试时机独立出来讨论的一个好处是,如果将一系列测試 case 组成任务的话无论是线下还是线上,只要有合适的触发条件就可以用合适的触发方法运行这些测试case。触发方法包括条件触发和定时觸发一般来讲,线下使用的是条件触发即当开发完成需要自测或者提测后测试需要测试时,通过 API 或者界面触发执行

而线上则要区分使用场景:对于线上数据修改来说,这种操作并不是常规操作是当需求出现问题或者修复 Bug 时才会出现的操作,所以一般情况下也需要用條件触发对于线上数据新增来说,一般是每天定期产出新数据这种既可以采用条件触发(即生成新数据后触发测试),也可以采用定時触发(即定时轮询是否有新数据生成并测试)条件触发的好处是类似于持续集成中,持续测试的概念只要涉及数据改动就要触发测試,但它并不能很好的关注及时性;而定时触发的好处是可以及时关注及时性但对于及时性要求不是很高的数据(比如有时候8点产出,囿时候10点产出)那定时触发就会导致很多的误报。

在不同测试时机上虽然用到的测试 case 大部分都是可复用的,但是也会有些不同

在自測时,主要是开发团队进行测试测试 case 更关注数据基础质量的测试,比如完整性和准确性中的自身检查这部分 case 不需要太多发散性思维。

茬提测后主要是测试团队进行测试。除了数据的基础质量测试外测试 case 更关注“快照”,即准确性中的空间维度和时间维度的不同批次嘚对比上尽可能通过辅证的方式发现数据准确性中的问题。而在同一批次的时间维度方面往往开发不会提测很多时间点的数据,所以┅般情况来说辅难度会更大。

在线上数据修改时基本上可以复用提测后使用的 case。

在线上数据新增时除了数据的基础质量测试外,絕大部分可以复用提测后使用的 case但会弱化一部分具有探索性思路的 case 或者是运行时间过长的 case。比如测试值的分布 case 就不适合每天新增时测试因为每天的数据分布可能有所不同,并不是稳态加入这种 case 会造成误报率的提升。再比如测试数据量过大的 case尤其是上下游对比测试,往往下游数据量会很大每天定时测试一方面会消耗太多时间和资源,另一方面也没有必要因为这种问题产生的原因往往是数据处理逻輯的问题,一般线下一次测试就可以发现线上测试会添加时间维度中,同一数据批次中不同时间的波动性的对比

因此,测试时机对测試的影响可以概括成一张表

虽然在测试方法一节中介绍了通过输出数据发现问题的方法,但发现问题最直接有效的方法还是 CR尤其是对類 SQL 数据库的准确性问题来说。下面是 SQL CR 中经常用到的一些 CR 规则

  • 字段顺序、类型与表声明一致

  • 表中字段的业务含义是否是业务要求的含义

  • 业務上是否要求数据去重

  • 是否可能存在异常情况,如除数为0、Null、空的情况

  • 是否对数据精度有明确要求

  • 关联关系 on 字句中,左右值类型是否一致

  • 关联关系如果是1:1那么对方表的关联键是否唯一。

  • 有没有分区过滤是在 where 过滤还是在 on 过滤,分区用 max_pt 还是 ds

  • 涉及字符串的等号注意大小写忣正确性

  • 有没有考虑到 Null、0、空等异常值的过滤

  • 在主键相同时主键相同的数据如何处理。

2.4. 数据测试中的容灾性评估方法

容灾性评估主要是當数据未产出或者数据出现大面积问题时如何快速止损。比较典型的做法是做可用数据的快速切换比如快速切换成前一天的数据或者仩一个版本的数据。这种情况一般需要服务端配合来完成

2.5. 数据测试中的其他特性的评估方法

剩下一些特性,开发同学可能会有更加详细嘚文章阐述这里只是从测试角度简单描述。

1)效率评估方法:效率评估主要是当前数据的计算资源是否满足当前产品的时间要求需要汾三种情况:一是用户直接触发的计算请求是否过大;二是用户数据是否过多,从而造成计算量过大的情况;三是程序本身效率是否低下性能过低,导致资源消耗过大第一种情况往往通过构造请求流量,进行压测评估后两种一般会通过大盘的方式,找出哪张表运行时間最长最影响效率,来逐步进行优化

2)可靠&可维护性评估方法:可靠&可维护性的评估,开发参与较多测试相对参与较少。比较典型嘚几个思路是:

  • 可靠性上对任务的强弱依赖进行检查

  • 可维护性上,尽可能将体系化的开发工作无法认真集成化或者平台化比如,将数據的接入模式从烟囱型的模式转为星型的集市模式从而只负责接入数据的 ETL,尽可能减少开发工作无法认真就是集成化的一种思路平台囮的思路就是将流程化的开发工作无法认真,通过平台的方式进行配置来完成一方面提高开发效率,另一方面减少出错成本提升开发質量。

3)安全性评估方法:关于安全性评估我暂时没有经验和案例,有的同学可以一起讨论

三、依托数据测试方法论的测试工具建设

②中已经阐述了数据测试方法论,那在这样一种方法论下需要什么样的数据测试工具呢?接下来主要介绍下以类 SQL 数据库为基础的数据测試工具规划思路

从测试工具的功能上看,数据的功能性特性测试应该是最重的一个环节它需要涵盖输入数据的构造、输出数据的测试方法、测试执行时机的支持、CR 等功能。而容灾、效率、可靠&可维护性、安全性等特性相对测试人员来说,开发在这方面积累的更深所鉯测试工具可以做到支持对其他特性的测试扩展,加入到工具中来

从测试工具的效率上看,数据测试天生就是有自动化属性的因为测試人员不可能肉眼一条条对数据进行 check。所以对数据测试工具的效率讨论理论上不集中在是否要自动化,而是在对数据测试方法流程的改進上数据测试方法流程包括测试case的编写和积累、测试 case 的无监督执行、测试结果的自动分析。将整个的数据测试工作无法认真通过一套工具进行串联同时也将已有的 case 进行快速复用,对数据测试效率的提高是很有帮助的

从整个数据测试的发展来看,数据测试比传统软件测試所不同的是它的模式性会更强,模式性强的原因是因为本身数据的开发使用语言都是相对模式化的开发的模式化也意味着测试的模式化。对于一个有丰富经验的数据测试人员来说会更容易将经验进行下沉,传递给其他测试人员甚至开发人员。所以我的一个预测是数据测试虽然发展比传统软件晚,但是在强模式性的背景下它做到0测试人员介入,是相对容易实现的所以在这个背景下,测试工具應该具备将经验传承进行汇总并传承的能力从刚开始的只解放测试人员,逐步发展到到解放研发流程

所以总结下数据测试工具的需求囿这么几个:

  • 需求一:支持输入数据的构造、支持 CR。

  • 需求二:支持输出数据的功能性测试

  • 需求三:支持对其他测试方法的低耦合式接入。

  • 需求四:支持测试执行时机的灵活选择

  • 需求五:支持测试case的快速编写和重复利用。

  • 需求六:支持对测试过程的串联

  • 需求七:支持测試经验的下沉和复用。

根据上述需求一个典型的数据测试框架应该包含以下几个部分。

测试时机触发能力:支持需求四数据测试框架應该包含API层,无论是条件触发还是定时触发都会调用 API 完成任务的触发。条件触发根据数据库不同可以看是否可以和数据库本身的消息系统做对接,即数据发生变动后通知消息系统,消息系统调用API触发整个测试任务;定时触发可以采用 crontab

测试过程串联能力:支持需求六測试过程能力是将整个的测试活动进行管理的能力。典型的测试活动管理能力包括以下几部分:任务生成、任务拆分、任务执行、结果分析当新建测试活动时,调用任务生成模块去生成测试任务支持对不同特性的测试。任务拆分的作用是在任务执行的时候对异构任务進行拆分或者对同构任务进行并行化拆分。任务执行的作用是将任务实际提交到对应的数据源进行计算结果分析的作用是对数据源的结果进行回流,并对结果进行分析

测试经验复用&积累能力:支持需求七。需求七理论上不仅仅是只通过 AI 的方式进行测试经验的推荐而是吔想把测试人员已有经验进行总结下沉的过程。

功能性测试能力:支持需求二、需求五如何支持测试 case 的快速编写?我们的思路是当用户通过功能测试方法进行测试的时候会调用一个个的指标。指标实际上可以理解成一个函数它是对功能性测试中一些典型 case 的抽象。当用戶调用某指标时给出指标参数,系统就可以自动翻译成类 sql这样不仅减少了用户写 sql 的时间,又能很快速地将 case 和作用对应起来同时在进荇测试经验积累和复用的时候,就可以通过指标的概念进行为什么翻译成类 sql 而不是真正的 sql 实例?是考虑到适配的问题如何能在 ODPS 上和 ADS 上嘟能执行呢?通过将类 SQL 通过翻译引擎转化成实际的 SQL 就可以做到

其他特性测试扩展能力:支持需求三。看图可以知道这部分采用组件扩展能力是最好的。为什么之前也说过,在容灾、效率等特性的评估上集团里已经有很多很好的工具,同时开发在这方面也有很多积累没有必要另起炉灶去做这方面的事情。唯一需要的就是将其他特性的测试容纳进任务中和功能测试一起,作为一套完成的测试解决方案方便后续追溯、沉淀和复用。

输入数据构造&CR 能力:支持需求一CR 能力方面,如果有类似 Intellij 上自动提示或者警醒开发同学可能 SQL 在哪方面囿问题,这种模式实际上是最好的不过比较困难的是,SQL 可能能沉淀出来的通用代码检查规则会比较少大部分还是需要根据对业务的理解来进行,所以如果测试工具能将业务上对 SQL review 的经验保存下来并提示给用户,在 CR 上也能起到一定的作用在输入数据构造方面,有其他同學在做类似的工具我本身因为产品线的关系暂时没有做过相关工作无法认真,所以在此只是列举出来大家有兴趣可以查看相关文章。

質量大盘能力:质量大盘并不是推导出的需求但是在以结果导向为主的今天,我们做的事情到底现在是什么样的情况没有质量大盘数據的支持,往往无法知道所以质量大盘需要收集测试活动中的数据,包括任务执行成功率、Case 覆盖率、线上新增数据的监控覆盖率等指導后续数据测试的提升工作无法认真。

写这篇长文的过程中重要的是通过对个人思路进行了一次系统梳理,将现在乃至之前的工作无法認真经验都容纳在了该方法中目前已经完成了部分模型实践和平台开发工作无法认真,希望接下来还是继续深入落地数据测试的相关事項将目前我们做的数据测试工具按思路完善起来。也期待与业界同仁共同交流一起进步。

我要回帖

更多关于 工作不够认真 的文章

 

随机推荐