【饭谈】一文看懂《流浪地球2》未来系统:自组织,自适应,自感知,自编程 (上)

自组织,自适应,自感知,自编程 

    出自电影《流浪地球2》中对超级量子计算机550c系列开始的超帅气总结。作为ai的终极boss: MOSS的前身,这些概念到底是怎么回事呢?现实中真的存在么?而我们作为程序员,作为测试开发,未来的测试平台、工具是否也要具备这些特性呢?热饭今天就从标准定义/通俗/软件测试三个角度来分别阐述这四个概念:

概念一:自组织

标准定义:混沌系统在随机识别时形成耗散结构的过程,既熵减。

通俗来说:一堆混乱的东西或人,组织成有序结构的过程就叫组织,需要靠外力形成的叫外组织,按照某个规则自动形成有序的叫自组织。这个过程对于宇宙规律:熵增定理 来说是个逆反的功能,chatGPT也是在混乱无序的庞大互联网上进行语言自组织,记得还有个著名科研组织叫《逆商》,估计就在做类似的事。

在我们软件测试领域,其实面临这种混乱的东西的场景还是蛮多的。就拿我个人下一期要培训的【精准追踪测试平台】来举例。突然某天领导让你复测某个bug,此时的你除了复测bug本身,也会选择bug周边的功能进行复测么?如果需要,那么怎么才算是周边?要怎么去寻找和确定被影响的其他功能?这些并没有什么固定规则。此时你多么希望,这些混乱到一堆的需求、用例、脚本、bug能自发的组织成有序结构,瞬间把需要复测的影响到的东西展现到你面前。所以精准追踪测试平台,就需要具备初级的自组织能力才行。电影流浪地球2中,自组织就是要550系列电脑能自发的对各种混乱复杂的自然环境数据,进行整合,形成可用的结构化数据。

概念二:自适应

标准定义:系统按照环境的变化,调整其自身使得其行为在新的或者已经改变了的环境下达到最好的或者至少是容许的特性和功能所具有的能力。

通俗来说:就是我们生活中的软件,需要主动去适应各种不同的部署环境,这和我们的iso9126国际软件质量里的可移植性中的适应性类似,但这里也有个差别,就是人为的去控制切换致使软件适应新环境并不属于自适应,比如我之前写的wqrfnium早期版本,只能在macOS系统下运行,虽然后来我补充了关于windows下的配置文件和切换代码,但这已经不属于自适应了,如果哪天,有人想在其他的操作系统比如unix中使用就会发现还是不行,还要去联系我手写unix中的配置文件。而真正的自适应,是软件可以自发的根据环境的变幻,实时的主动的去改变自身来让自己能正常运行。所以,这儿的难度极高,需要包含:监控、上下文联系、感知、决策、自动控制、自演化、自维护、自执行等能力,才能真正实现自适应。电影流浪地球2中的550系列电脑所谓的自适应,就是要随时监控地月本身的复杂环境,比如大气,地震,温度,转速等,实时的调整自身软件配置,计算出最佳的发动机功率和角度。

在我们测试领域来说,我们要测的那些目标软件和功能,一般对自适应的要求体现在微观功能上,比如某个按钮自动根据屏幕分辨率调整自身的长宽等。而在大型如操作系统上,比如在移动端来说也只有安卓和ios而已,所以公司都是要开发两套代码的,根本谈不上适应能力。

    不过在不久的未来,自适应会更加重要,因为现在各种操作系统的崛起和存在(比如鸿蒙、黑莓、塞班、微信小程序、支付宝小程序、华为快应用、抖音小程序、百度小程序、小红书小程序等等等等)总不能,一个公司的软件,要为每个端都单独开发和测试吧?所以未来的自适应代码架构必然会出现,我们测试也要提前做好这方面的测试理论准备。

那这个自适应性对于我们测试开发的测试平台/工具来说,又有什么意义呢?我现在可以很确定的预测,未来的工作中,比如你写了一个ui自动化项目,肯定不会按照现在的ios写一套,安卓写一套,小程序写一套这么麻烦了。一定会是一套代码,能根据不同操作系统,自动主动的调整自身来适应,举个简单例子:一个普通的按钮定位,肯定不是之前的比如按照什么固定的id,xpath等来定位了,一定会是一个全新的定位方案,可以在各种不同的系统下,不同的ui改变下,不同的复杂难度下成功定位,所以wqrfnium系列会继续朝着这个自适应方向更新,目前wqrfnium累计在超过4万台电脑上部署。

测试效率是必须要随着开发效率提升而提升的,哪怕是被迫的,这一步也是迟早要走的。

猜你喜欢

转载自blog.csdn.net/qq_22795513/article/details/130296825