关于测试驱动开发

本文最后更新于:a few seconds ago

前言

本文写于投身于产品研发岗位一年之后,仅用来记录一些当时的思考,并不代表我以后的观点。

关于市面上的AI代替测试

现在大模型的爆发导致了很多AI测试工具的出现,但是现在95%的测试,因为测试业务繁忙,或者没有自动化测试基础,
无法使用AI测试工具,只能依赖人工测试。而人工测试则在这个时代显得越来越不高效。会耗费大量时间,进而造成死循环,
测试人员没有时间学习AI自动化测试。尽管很多测试一开始都是从程序员转型而来。真正的阻碍是我这点一下比编写一下自动化测试快多了

只有很少一部分不断学习的人能跳出这个死循环,也就是主动去学习和验证或者实现一些提效的工具。

但是AI代替人工是不可能的,因为事物(产品) 的发展充满不确定性,说不定一次产品经理或者是程序员的疏忽,
就需要测试人员充当最后的兜底,去发现这些问题。也就是站在人性的的角度上说,一个团队的大后方不会是一个AI,起码当前不会。

开发的测试

现在的业务代码基本上不会有人再去写测试,主要有以下几点原因。

  1. 业务代码的不确定性,随时更改,那么你的测试也需要更改。
  2. ui测试的复杂度,尽管现在出现了类似 shortest 或者 midscene 这样的工具,但是最终的验收还是以测试为准,本质来说就是责任在谁那里。
  3. 在明确的 deadline 下,没人愿意去花时间去写ui测试,你还需要去面对一下突然插入的 bug需求ui改动,一旦有一个想法,也可能会立马消失。

之前作为研发的目标,是保证这次开发的内容测试一遍过,但是发现这不太现实,因为任何地方都会有疏漏,尽管已经经过了测试用例的自测,还是需要不断讨论修改,导致这种原因的不限于,技术实现问题,ui审查问题,需求修改问题。因此现在也是看开了。

deadline是一把双刃剑

deadline是一把双刃剑悬在团队所有人的头顶,但是这把剑又会滴下蜂蜜,让团队不至于饿死。

我相信 99% 的人都不喜欢 deadline,因为其会大大抹杀人和AI的本质区别,也就是人的创造力,国内的公司为什么不可能出现一些厉害的独角兽企业?因为在这一套deadline(kpi)规则磨盘的滚动之下,一些创意被磨灭的可能性很大。当你全身心投入这项工作之后,deadline 又在时刻的提醒你,你只是一个打工人,赶紧完成才是正事,别老想着优化。

但是 deadline 也在保证的公司所有的产出,只有保证了产出才能活下去。因为 deadline 能强制提起整个团队的效率,让领导的心里更加踏实。整个团队不会懒散,一旦懒散基本上团队就完了。

国内也有一些团队在尝试一些新的管理模式,但是新的管理模式基本上也是困难重重,单单如何去量化个人的贡献就非常困难,你首先就需要保证,你招到的人都是自觉性高的,并且认同公司文化的人,也就是每个公司一开始那一小波人。所有人为了一个目标而奋斗,在实现更高级的精神满足。但是一旦人多之后,如果大家都是吃大锅饭的,没有绩效没有deadline我糊弄一天是一天,付不付出没有区别,一旦出现了一颗老鼠屎,没有及时的清除,整个团队的管理和效率就基本上拉闸了。

总的来说,还是有一种当初探索社会主义道路过程中,走到了乌托邦道路的感觉,属于企业管理的社会主义模式到底应该是怎么样的呢?
如果你是企业领导,你会如何抉择?

AI测试的优势

当前的AI自动化测试的主要优势在于回归测试的时候,或者功能点重构大量修改的时候,会起到关键的作用,并且会大大的节省测试时间,也就是说你如果在测试环境已经写过一遍,那么在预发布或者线上,仅需要简单的配合验证,就能完成大量的重复劳动,提高效率。

特别是业务主流程,可以用AI去覆盖,因为主流程修改的概率小,测试重复率高,提高测试覆盖率能大大的节省时间,并且研发人员在开发有动到相关的功能的时候也能进行运行测试来验证,而不是每次发版本的时候,大家一起看着测试加班,然后有问题来回改,非常低效。

但是这种模式在国内应该是不可能的,因为研发的时间都在被压缩,不可能有太多的测试时间,更加不会放时间来给你写自动化测试。国内这环境,一步慢,步步慢。你要是起来了,国内大厂依靠人员优势,必定来分一杯羹。所有的外部环境在告诉你,不跑快点,你就死定了。

结束语

当前的AI自动化测试的编写更加的方便无脑了,但是主动去学习新知识的人还是太少了。


本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!