元宇宙大潮即将到来
本文不讨论元宇宙是否是个好现象,也不讨论关于人类未来是星辰大海 还是 闭关锁球。
本文只讨论元宇宙的时代到来后,我们软件测试工程师该如何面对,提前做好什么准备,还有元宇宙的软件测试技术预测。
如何面对元宇宙
【元宇宙】当我第一次听到这个名字,很陌生。后来看了一些新闻资料后,恍然大悟。作为一个多年玩过各种vr软件和设备的老玩家,恰好还是个优秀的测试工程师的我来说...一下就悟了。
所谓元宇宙,就是用vr技术,打造一个多人社交娱乐的软件,打造一个微型的宇宙生态。
曾经的vr技术,多用于体验和游戏中,而且大部分都是单机游戏。
而元宇宙就属于vr技术应用在了社交领域,比如微信,以后可能推出元宇宙模式,我们带上眼镜,就可以真实的和群里朋友和家人们在一个大别墅内聊天,游戏等。
社交软件也正式从二维世界 进入三维世界。
而当元宇宙社交应用到了区块链技术后,资源空间都变得有限,一旦变成有限,就意味着增值。所以这也是为什么资本all in元宇宙,一些明星豪掷千金买元宇宙地产的原因,和当年的各种虚拟币大潮一样。
vr带来的震撼,相信只有玩过vr的人才能感受到,前所未有,说是梦境成真的感觉都不为过。
所以不管这个技术对人类未来是好是坏,都很可能会火起来....
而对我们打工人来说,如何在元宇宙的时代到来后,依然能靠软件测试技术的工作赚钱才是重要的。
软测人员如何做好准备
首先,去花上2000多块钱,买个vr一体机,大部分vr一体机,都是安卓系统,当然ios早晚也会进军此领域。
买完后,抓紧体验一圈,研究下vr一体机游戏的安装和卸载,头盔和手柄(纯光学追踪手势)之间的交互模式,头盔对空间的定位适应。
就像现在的软件测试工作一样,总不能找个手机都没用过的人来做app软件测试吧?
那为什么要买安卓vr一体机?因为,一体机可以摆脱电脑和电线,场所自由,体验上更加简单快捷。虽然没有串联电脑那种传统基站式的大型设备清晰,但是你想想,元宇宙,为了让更多人更多层级的人们买账:
是会选择 动辄上万的 需要高端电脑,固定场所,固定多基站的专业设备。
还是会选择,2000多块的一个充电的类似手机的移动应用端-一体机?
毫无疑问,是后者。
我在安装一些游戏的时候发现,这一体机其实就是个安卓机,而在专业物理改变后,嵌入进头盔,变成了vr一体机。
所以本质上,我们移动端测试的技术还是可以沿用到vr元宇宙软件测试中,比如adb命令,一样管用。
元宇宙软件测试预测
- 软件种类
你玩手机的时候,看到的应用,其实在vr世界里都有。
比如...
浏览器
我经常躺着带上vr头盔,打开个网页上网,体验上就和你看的科幻电影里差不多,用手势操控多块在空间上漂浮的屏幕:
游戏
就是原生的app,你安装的时候可以发现基本都是.apk文件,用adb install 就可以进行安装。有单机,有网络,有战略,有冒险,有动作,有棋牌等等。
体验上嘛,就想象自己就是游戏中的人物就可以了,真实感全部加倍,比如恐惧,震撼,美丽,酷炫全部是现实中盯着一块电脑或手机屏幕的几倍。
魔兽世界/gta5/古墓丽影/半条命cs等大型游戏均开设了vr沉浸模式。
工具软件
vr世界的画图/设计等工具,是超出想象的强大和立体的,这样的软件测试起来无论在二维还是三维世界都是很有难度的。
我自己也体验了一些,不能说是神奇,只能说是天下无敌。
元宇宙社交
这样的软件,是重社交,轻画质的。
多人交流从二维到三维,能做的事情变多了,测试的难度和场景也指数上升,尤其需要注重压测的并发场景。
这种软件通常做的很粗糙,也就是大家现在看到的那些所谓的元宇宙,很多人评论说画质太渣了,好像几十年前的垃圾游戏。
原因有二:
一是资本着急上线,来不及优化,反正以后慢慢精细,有的是时间。
二来是多人的大型场景,不能做的太细节,不然你的物理设备受不了的,大家还记得“我的世界”这个游戏吧,当年用最渣的画质火爆全球,毕竟当年但凡画质好一点,就会有无数用户的电脑承受不住那个无限探索的超大世界地图而退出。
vr应用测试技术
所谓vr测试技术,其实如果已经从事vr公司测试的同学来说,已经有了自己的办法,但大多还是土办法(接口测试除外),ui层基本还是只能亲身带上头盔,身体力行的去触发各种测试用例。
我觉得,区别于我们点点点来说,vr世界的功能测试会很健身,毕竟整个测试过程都需要手舞足蹈的....
而测试流程和基础理论,其实和我们二维传统软件测试工作中没有什么差距,该需求分析还是需求分析,该测试环境合并主干还是要做。
物理光学手势追踪等技术,可能是一个测试难点,需要考虑各种场景。
比如:光线强弱,坐标距离,障碍物穿透,光学影响(镜子),其他电子设备影响(周围的手机电脑等),光线种类,多人多设备重合影响,屏蔽物体影响(比如金属遮挡),快速动作,上下角度,前后角度。多基站定位的配合,异常动作等等。
而这种物理上的测试,一般基于设备和物理层面的底层引擎技术,基本不在我们应用领域的测试工程师考虑范围内。不过领导还是会让你实际测一下再说....毕竟一旦发现遇到物理难题,公司还是可以通过软件的设计上来绕过或弥补。
而在测试工具上,接口层的基本不会有任何改变,主要是ui层的测试工具还能否支持?
毕竟诸如appium的工具都是在二维平面上的操作,且封装了webdriver。估计vr里面的某个嵌入世界内的浏览器是可以通过appium继续自动化跑起来。可是那些立体的游戏等就很难应付了,所以我估计会有新的封装的【自动化测试工具】出现。
封装的无非是手柄和头盔中的定位器之间的信号,也就是相对位置空间坐标。
新的vr自动化测试工具,会对立体空间的坐标进行封装,比如x,y,z轴上来说,x轴增减多少,速度如何,匀速还是变速等等。
在二维的手机屏幕来说,只有x,y俩个坐标,我们做appium自动化的人员应该清楚,在开发者模式中打开屏幕调试后,可以看到这个x轴和y轴,甚至一些脚本中,我们也是靠坐标和触屏动作直接完成用例。
现在多了一个z轴,属于换汤不换药。
只不过可能用了自动化工具测试后,你的人物就不像个真人了,而是一个机器人一样,僵硬的做着极为标准的动作....
脚本代码很可能是这样:
driver.find_左手("x":"30厘米","y":"0厘米","z":"0厘米","time":"1s")
用上述代码来狠狠的冲着眼前的敌人来个左勾拳!
或者封装更好的:
driver.find_右手("目标物体":"敌人的脸","手指":"5","动作":"扇")
来给敌人来个响亮的耳光....
- 有的同学会问到:
既然手柄的信号被封装了,那么头盔的视角呢?
头盔视角需要测试么?
我觉得这个视角的底层技术和前面说的意义,都是封装的开源引擎和框架,无需我们进行测试。
就好像你是个游戏测试工程师,你可以去测试游戏的道具,攻击,经验等功能。但是你无需去测试底层的引擎,去测试虚幻引擎4这种 开源架构。比如我跳起来能否落地等,这其实都是虚幻4早就封装好的,你们的游戏开发人员也只是调用而已,没有必要花费大量精力去测试这些开源和底层引擎。
所以vr元宇宙来说,头盔的视角显得不那么重要了。只要在这个vr的沙盒中,出现了"宝箱"即可,你完全无需自动化控制头盔必须要看到这个"宝箱"才算成功。沙盒一定会有对应的函数返回来确保这个"宝箱"的出现,宝箱的位置,大小,颜色等都是有固定参数。而自动化工具一定会封装这些,来给你反馈,告诉你"宝箱"的确生成了。所以我们无需专门写代码控制头盔视角了。
但是也一定会出现类似于airtest这种可以基于头盔视角的所见断言工具。
也就是当某种比如不太好写自动化代码的应用中,靠视角画面去断言。
比如你释放了一个魔法,漫天火光,这种空间颜色上的变更,通过视觉则更容易断言真假。此时,封装了视觉360度全方位所见的景象的工具,就派上了用场。
它的断言,很可能是:
assert("红色","北","90度","占比最低80%")
这样的调用方法,来进行纯视觉断言。