事务背景

1、A体系订单状况流通,需求依靠B体系售卖成果,B体系售卖成果依靠C体系库存成果,操作A体系订单状况流通,就需求调用到另外两个体系的链路

2、B体系售卖成果,内部调用逻辑杂乱,链路调4-5次才会去判别C体系的库存

3、A体系产品数据,需求去查D体系产品数据,而D体系产品又依靠C体系的库数据

4、A接口调用C办法,回来参数校验D办法,D办法匹配成果查询数据库成果,回来数据调用B办法,组合回来给A接口

真实的事务场景是错综杂乱,要一个场景一场景人工验证,耗费人力和时间太多太多

本文首要介绍怎么利用数据结构进步测验功率和经验总结:\

一、什么是数据结构

数据结构顾名思义便是造数据,常用来结构测验数据,首要作用进步工作功率。

众所周知在日常测验过程中,会频频造数来验证各种场景,其间包括功用测验、沙箱测验、生产验证、功用测验等等,需测验人员花费许多的时间预备许多的数据,且有些场景杂乱或触及多方体系,工作中不可避免,为处理这个痛点,衍生了许多的造数办法,然后进步工作功率,以下内容结合日常工作阐述下一些关于数据结构的一些见地~

数据构造那些事儿

二、常用的数据结构办法

数据结构的办法有许多种,下面介绍下常见的几种数据结构办法

数据构造那些事儿

三、咱们怎么做数据结构的

数据结构首要是运用QA自研的datapt渠道,前端选用低代码渠道装备+后端java代码完结具体数据结构逻辑办法,不同事务团队写好后端逻辑代码,运用前端进行装备即可运用。

下面以深圳侧金融测验小组来进行分析,这里边首要的核心规划以及思想来自组长前期在结构上的规划基础,以及我在后期保护过程的个人了解做一个总结。

1、勇于测验从0到1

开发一次数据结构,是需求一定的技能基础的(java代码才能和对事务链路了解程度),我本身对java认知首要仍是来自于理论知识上居多,短少实践编写才能,因为以往的工作运用python相对多些,接触到新语言是比较弱势的,信赖许多同学也会遇到这个困扰。

那么,完结一次数据结构,我是怎么从0到1呢,这里边离不开组长以及QA团队、RD团队各位小伙伴的鼓舞和支撑,再加上自身对技能有着稠密的爱好,经过B站以及一些其他办法进行学习,渐渐的开始测验写一些简略的数据结构场景

数据构造那些事儿

后端完结造数后,的确内心仍是有一点窃喜的,从事务流程梳理链路,并组成对应数据结构办法,不仅能更了解和了解事务,还能进步java技能才能,何乐而不为呢!经过几个月的学习和实践,到现在为止,咱们的小组全员都现已能独立参加数据结构开发。

2、用最简略的办法完结

依据测验人员关于用户体验的认知,所以咱们在写数据结构的时候,尽可能简化入参,减少运用本钱、下面是一些办法论

  • •能不填参数,尽量就不填(比如一些参数可随机就尽量随机生成并保留支撑手动指定输入)
  • •能填简略参数,决不用杂乱参数(例如:能用手机号绝不让填写用户id)
  • •能整合的事务场景,尽量放一起(例如入库需对接外部体系依靠调用等等,则整合成一键入库到上架)
  • •能挑选的,则不用输入(多种参数或场景做成下拉框办法)
  • •参数运用,能从上一个接口自动带过来,就装备直接带过来,减少重复录入动作

数据构造那些事儿

3、杂乱相关场景拆分

例如一个下单场景就有几十种流通办法,而咱们选用场景拆分(代码层面不同场景上下文进行相关),依据不同流通状况,能为所欲为造出不同节点的场景。

数据构造那些事儿

除了上面的场景结构,咱们还支撑从恣意场景进行扭转到恣意正向场景的功用,进步验证快捷性

数据构造那些事儿

结构完结,推送成果告诉

数据构造那些事儿

4、让更多的人用起来

数据结构开发,因为前期是QA一致输出的,所以每次有创新或更改都会及时同步到团队当中,现在运用集体不仅仅QA,甚至于RD和产品也都在运用数据结构快速造数据,同步办法有以下几种:

  • •选用会议同步的办法进行一致宣扬
  • •在完结新的数据结构,自动同步出来,让更多的人去运用
  • •不断的去收集一些需求,处理其他同学造数痛点

5、做一个最好的售后

咱们不一定是最好的开发,但一定是最好的售后。在运用过程中难免遇到各种各样的问题,毕竟在编码才能的确有不如开发的地方,在编写代码的逻辑和严谨性也存在考虑不全面,有开发在运用过程遇到问题,还开玩笑的说要给你们QA提个bug哦,这些反馈上来的问题咱们很欣然的接受,而且测验着去处理它,在很大程度会得到他人对测验团队的信赖和认可(有点悄悄乐着,曾经是给开发提bug,现在反过来是开发给咱们提bug)。

6、数据结构前置化

前置化,在这里咱们了解为项目在开发中或许测验中,就得把数据结构场景提早预备好。

一般数据结构后端调用的代码办法都是项目的代码,依据稳定性来说,可能在上线后来保护是最好的,至少不会有bug。但是咱们为什么要把数据结构前置呢?咱们一起来看看优点:

1)提早调用事务代码,经过数据结构场景调用,也是完结事务代码测验,到达白盒测验的作用

2)数据结构一般是链路调用造数,对事务链路也能掩盖到位

3)进步代码掩盖率

4)测验左移,提早介入到事务逻辑测验,满意开发自测的条件

5)处理测验后期造数困难的问题

6)场景结构过程提早了解事务代码完结的合理性和可靠性,避免存在问题比及测验中或上线后才发现

7)对检验流程协助大,场景结构好了,能够随时运用,也或重复运用

8)让QA同学更好的了解事务代码

……

举个比如:咱们有一个需求,首要是引进外部供货商的产品到内部渠道的仓库,这个需求需求频频结构许多入库数据,咱们在预知这个状况后,咱们提早把批量造数功用进行完结,然后在后期功用测验回归测验起到关键性作用。

7、数据共建

上述已大致有讲到运用集体有包括RD,若长时间仅仅QA来保护,也是会存在一些短板的,所以咱们决议到数据结构工程和开发一起共建,经过一些事务项目的开发,需求开发数据结构场景,让RD同步参加进来一起开发,到达长时间共建的作用,能更好的服务于团队。

其实共同开发数据结构现已在践行了,现已有部分的开发同学参加了数据结构工程开发,他们相对愈加专业,定位问题愈加直接,他们参加进来很大程度是关于数据结构的依靠,做场景的补充。假如能有更多的开发同学参加进来,我信赖数据结构会越来越好。

四、总结-价值表现

上述内容说了那么多,咱们也做了那么多,那它终究能给咱们带来什么价值呢,咱们的动力来自哪里?

在这里共享一下价值表现的总结:

1、给开发自测提供了很大的支撑力度,特别给前端同学造数带来的很大的便利性

2、在不同测验阶段,大大降低了测验人员造数的本钱,快速进步工作功率

3、关于外部测验同学做上下游体系相关场景验证时,能够一键即达,满意全流程测验验证,进步相关体系的验证功率

4、进步了测验人员专业技能,代码才能,一起得到其他部门对测验人员的认可

5、进步事务回归测验的功率,

6、不同数据场景,掩盖不同的代码结构,对代码掩盖率起到了很好的作用

7、经过场景结构进步测验人员关于体系技能完结办法有更多的了解,在测验过程中也能考虑更多的场景

8、编写数据结构对测验人员事务了解有很大的协助

……

愿景:用技能支撑助力事务高效运作,只需数据结构写的好,下班就能下的早~~~

作者:刘永强

转转研制中心及业界小伙伴们的技能学习沟通渠道,定期共享一线的实战经验及业界前沿的技能话题。

关注公众号「转转技能」(综合性)、「大转转FE」(专心于FE)、「转转QA」(专心于QA),更多干货实践,欢迎沟通共享~