探寻未来:元宇宙中的测试与挑战
最初以科幻概念形式出现元宇宙,现在似乎要成为现实了。元宇宙将是集多种现代计算机技术于一身,实现互联网中沉浸式社交联络与体验的宏伟愿景。然而,元宇宙的规范、设计、部署、验证,以及整体的交付都还面临着极大的工程挑战。在本文中,我将对元宇宙的概念进行描述,分析其所面临的关键工程挑战和质量隐忧,以及近期 AI 及软件测试领域内的技术发展将如何缓解这些挑战。最后,作者将分享自己对于软件测试人员要如何在元宇宙的未来中进行测试的一些看法。
围绕元宇宙的炒作和议论不断,人们越发难以明确地描述元宇宙的定义。准确来说,元宇宙尚不存在,因此,我们可以将其看作是单一且通用的模拟世界,是由各类现代计算机技术所支撑的一代因特网。用三个词来描述的话,就是“沉浸式”、“互联性”,以及“无尽感”,下面让我们具体看一下这三个特点。
元宇宙将人们带入充斥着虚拟与现实环境的体验中,通过虚拟、增强、混合、融合等现实技术手段映射不同程度的沉浸感,这些手段统称为“扩展现实(XR)”。用户体验设计师 Tijane Tall 将这些体验所带来的沉浸感的关键区别描述为:
虚拟现实(VR):物理存在于非物理世界的感觉。VR 使用了一种完全不同的数字化环境,将用户完全包裹在一个人工合成的体验之中,几乎体验不到现实世界的感觉,是完全的沉浸式。
增强现实(AR):在物理世界中叠加数字化信息。与 VR 不同,AR 中的现实世界仍处于用户体验的中心地位,用虚拟信息将其加强。
融合或混合现实(MR): 将虚拟与现实环境相混合。MR 虽然与 AR 类似,但前者不再是信息的简单叠加,而是实现了物理与虚拟对象之间的交互。
2022 年在 CES 上展览的技术也有望能实现新层次的沉浸感。举例来说,一家名为 OVR 的公司展示了一款可将其容器内所包含八种香气混合,形成各类气味的 VR 头盔,这款能带来虚拟气味的头盔预计于 2023 年后半年发布。
如今能被称作是“元宇宙”的多半是独立且不关联的。举例来说,知名游戏元宇宙罗布乐思与堡垒之夜之间几乎毫无关系。但如果情况翻转呢?如果这两种体验之间有深度整合,玩家可以操纵自己的角色丝滑地从罗布乐思中进入堡垒之夜,或者反过来呢?在元宇宙中,即使是差异巨大的虚拟空间,这类从一处空间、地点或世界转移到另一处的无缝转换都是存在的。自定义角色和偏好等功能可以按需求保留,但这并不是说要与现实世界一比一还原,其应该更像是虚拟的替代品而不是复制品。因此,我在堡垒之夜里的运动 T 恤可能会和罗布乐思里的不太一样,但颜色和款式应该能让人一眼看出这是我的角色。其他如区块链、安全、加密货币、非同质化代币(NFT)等等技术之间的整合也对搭建完整的互联元宇宙至关重要。
在元宇宙中不同用户实现各种不同体验的可能性是无穷的。目前在各种平台、现代电子游戏、VR/AR 体验中,已经能够提供几乎所有人们能想象到的沉浸式体验。当然,无论是现实世界还是技术领域目前仍然有限制,这么说实际上确实有些夸张,但毋庸置疑各类形体验及其所带来的沉浸感、互联性很可能在不远的将来为人可用,这才是让元宇宙这一概念如此具有吸引力的原因
随着对元宇宙的兴趣与投资的增长,现实与虚拟世界之间界限的模糊让人愈发担心其中潜藏的风险。元宇宙中部分关键工程风险和质量隐忧如下:
身份与声誉:验证元宇宙中的角色是否与其所声称的相符,保护用户免受角色冒充或其他可能对其名誉造成伤害的行为。
所有权和财产:赋予并验证虚拟财产、艺术作品等数字财产的创造、购买及所有权。
盗窃和诈骗:随着支付系统、银行及其他金融系统迁移至元宇宙,偷盗、诈骗及其他以经济利益为目的的犯罪。
隐私和数据滥用:恶意行为者将自己隐藏于元宇宙中,隐身加入会议或窃听对话内容。此外,数据滥用的巨大风险依然存在,也需要防范错误信息。
骚扰和人身安全:保护用户在元宇宙中免受各种形式的骚扰,尤其是在使用 XR 技术时。这类体验的出现意味着骚扰和人身安全不再仅仅存在于物理层面,虚拟体验方面也应加以防范。
立法与管辖权:确保世界各地的人均可访问虚拟世界中的任何边界或条例,确保规范或条例对任何人而言都是安全且保险的。元宇宙的治理囊括了前文所提的几种风险。
用户体验:如果元宇宙成为任何人均可接入、搭建有意义的关系并沉浸于新颖的数字体验之中,那么必须解决视觉、听觉、性能、可用性及其他用户体验相关的问题。
软件测试是为评估、减轻并预防可能导致项目延期或损失等风险的发生。作者总会鼓励工程团队从整体上看待软件测试,并将其视作是开发过程中的一份子,这种形式的测试是连续性的,是自从产品诞生之初到系统在生产环境部署后仍需保持的理念。
作者的一位研究同事曾将起步阶段便采用测试看作是软件项目的车头灯。也就是说,夜间行驶在危险且大风道路上的车辆,路上唯一的可见光只有车前灯反射出的光线,行驶的车辆代表软件项目,危险的路况代表风险,而车头灯则是测试相关的活动。随着项目的推进,测试会将工程风险暴露,让工程团队在风险识别、量化、预估和最终缓解方面做出更为明智的决策。同理,随着元宇宙的设计与发展,团队也能利用以测试为驱动的设计技术对风险进行缓解,具体措施可以有:
验收测试驱动设计(ATDD):通过客户、开发及测试的角度,在搭建相关功能之前合作编写验收测试报告,这类的测试是作为需求的形式对系统工作进行描述。
可测试性设计(DFT):通过一系列测试与调试功能对系统进行开发,从而让部署前后测试的执行更为便利。换句话说,是将测试看作是一个设计关注点,从而增加系统的可观测性与可控制性。
元宇宙的测试要想到达可接收的覆盖面,则需要高度自动化。相比传统桌面、网页或移动应用而言,三维、开放世界、扩展现实及在线体验的状态空间非常大。元宇宙中,人们可以随时让自己操纵的角色获得体验、装备各类物品、定制化、与其他人类或计算机所操作的角色进行交互。其内容本身将不断发展,从工程角度来看就是一个移动目标靶。如果缺乏自动化测试的能力,那么构建、执行、维护元宇宙的测试将非常昂贵、乏味且重复性极高的体力劳动。
好消息是 AI 和机器学习(ML)的发展让创建高适应性、弹性、可扩展的自动化测试解决方案更为容易。在作者之前于 test.ai 担任首席科学家一职时,曾有幸带领多个应用 AI 及 ML 于自动化测试的项目。以下是在类似元宇宙的环境中利用 AI 进行自动化测试的相关项目中,前途最为光明的方向。
计算机视觉的发展为自动化测试打开了一个充满可能性的领域,只需训练机器人就能够像人类一样识别并验证视觉元素。为了验证这一概念,作者将视觉验证用于了 SoulMachines 所开发的数字角色上,其中包括了训练对象检测分类器以识别数字角色说话、等待回答、微笑、严肃或困惑等场景。作者团队成功借助 AI 开发了用于验证数字角色基于对话的交互测试。这其中覆盖了两类输入动作,一类是屏幕上文本聊天框,另一类则是通过修改视频源让机器人误以为预先录制的视频是与人工的实时交互。这样,测试工程师就可以预先录制数字角色的问题或回答,让自动化取检测角色是否能给出合适的回答会反应。基于转换器的大型自然语言处理(NLP)模型如 OpenAI 的 GPT-3,以及最新的 ChatGPT 变种,都是可以被用于生成对话测试的输入数据或验证预期反应的。
即使是在发展的早期,经过训练的模型能够学会辨认与应用场景相关的交互,并忽略不相关的内容。更为具体的例子是,下图中所展示的场景是验证机器人是否能对“微笑”行为做出适合回应的测试。常识来说,微笑是会传染的,如果有人对你微笑,你是很难忍住不回以微笑的。因此,作者希望能测试机器人对这一视觉元素的交互。自动化会启动数字角色,切入实时视频流,并对数字角色展示一位测试工程师在视频开始几秒后微笑的场景。自动化会检测角色是否也会开始微笑,这是作者得到的结果:
就如动图中所展示的一样,通过对比机器人对角色的两次观察可以发现,在图像捕捉时角色的双眼是闭合的(蓝框),同时她的微笑幅度很大,可以看见被红框圈出的牙齿。然而,平台所生成的差别掩膜只反馈了一处不同:微笑。猜猜为什么?也许是测试平台出了 bug?不,恰恰相反,目前的机器人已经学会了眨眼是数字角色的常规动画周期的一部分,机器人的训练不仅仅是基于一张图像,而是在包含数字角色常规动作等数据的视频中训练的、通过将常规动画识别为基础事实,机器人学会了如何区分大幅度的微笑与常规动作,并据此生成了只高亮有变化部分的图像差分掩膜。同人类一样,AI 可以发现角色对他人的微笑予以微笑的回应,并清楚在图像捕获时的眨眼动作仅仅是偶然事件。
AI 在打游戏方面可谓是历史悠久,早在数十年前就有暴露破解井字格等小游戏的机器人了。时至今日,在结合了强化学习后的游戏 AI 已经能在围棋、雅达利游戏、马里奥兄弟等更复杂、直观的游戏中到达专家水准。那人们不仅要问了,如果借助 AI 能让机器人到达这种游戏水平,那要是用于前面提到的哪些视觉测试方面呢?这么看的话,游戏的自动测试问题似乎没有多困难。人们要做的只是将这些 AI 游戏测试技术放到以 AI 为基础的实时游戏环境中就行了。
举个例子来说,假设我们需要测试一款玩家使用武器打斗的第一人称射击游戏。游戏有多人模式,玩家可以随时与视野内的其他玩家合作或竞争。在游戏中,玩家的屏幕中可以直观地看到抬头显示(HUD)中的血量、击杀数,以及武器十字准星中是否有敌人被瞄准。以下是自动测试这类游戏机制的方法:
应用实时对象检测及视觉差分。利用游戏中的图像和视频训练机器学习模型,让机器人学会辨认敌方友方、武器,以及其他关键物体。除此之外,也应训练模型报告游戏游玩时与预先录制的基线间视觉差异。
对机器人可执行的基本动作建模。若想让机器人学会玩游戏,就得先定义它们能执行的动作或步骤。在前面的例子中,机器人能够向前或向后移动、向左或向右射击、跳跃、下蹲、用武器瞄准射击。
定义强化学习机器人的奖励。现在,机器人能够在环境中执行动作,我们也应让其随机执行动作并给出正面或负面奖励。在前面的例子中,我们可以定义三类奖励:
机器人瞄准目标后给予正面奖励,鼓励机器人使用武器瞄准敌方或玩家击杀数增加后给予正面奖励,鼓励机器人不仅瞄准敌方,同时也要开火射击血量减少后给予负面奖励,惩罚机器人避免承受伤害,
随着物体检测、视觉扩散、动作装配,以及基于目标的强化学习能力到位,是时候让这些机器人在游戏环境中训练了。在一开始,无论是攻击敌方还是避免承伤,机器人的完成情况都不会很好。但随着时间的推移,机器人在成千上万次尝试和失败后,机器人的游戏水平也在提升。在训练期间,视觉可以被用作是未来对比的基线,机器人也可以被用于训练检测图像问题。下面是经过训练后的机器人在实际情况下的表现(视频链接https://www.youtube.com/watch?v=TRpJFYU6OE0),游戏中实时图像在左上方,机器人在近乎实时的情况下所看到的视觉图像在右上方。
将基于软件的游戏手柄和树莓派等商用硬件相结合,有可能实现游戏主机、手柄、视频直播设备等硬件设备的自动化,这种集成工具和驱动程序可以让机器人观察并操纵这些设备的输入 / 输出功能。在作者对元宇宙和游戏的测试与开发工作中,曾将这套集成工具搭建到了 VR 头盔之中。一旦能控制 VR 的输入并观测其输入,将这个 API 与被作者称作是“游戏皮层(Gaming Cortex)”的子系统联系起来只是时间问题了,这个系统基本上就是结合了前文中所提到的实时物体检测与基于目标的强化学习的 ML 大脑。
最终的结果是,工程师或外界程序可以调用 VR 的 API 控制器接口,并利用这一功能定义或执行环境测试。下图是用编程方式修改偏航功能,通过脚本控制头盔在 VR 空间中旋转的实际运行情况。
作者坚信,随着元宇宙的创建所带来的技术及工程挑战之外,元宇宙的发展也会为测试者带来很多能够在因特网未来中扮演关键角色的机遇。软件体验变得越来越像“人类”,用户同理心、批判性思考、风险评估,以及创造性等技能将会变得愈发重要,元宇宙的远景非常宽广,需要具备相当程度“大局观”的人加入,这也是许多测试者所具备的能力。下面这些技能是作者最为偏好的,常常会出现在优秀的测试人员身上。
用户同理心、创造力、合作与沟通、好奇心、风险评估、不断地学习与分析
AI/ML 已经成为了元宇宙开发技术栈的关键组成部分,数据选择、分区,以及测试数据的生成等测试技术会将测试人员推向开发过程的最前端。因此,我们也可以期待看到更多关注测试作为一种开发实践,利用验收测试驱动设计和可测试性设计等方法,以确保元空间不仅正确、完整、用户友好、安全和可靠,而且是可测试和可自动化的规模。
非常感谢 Yashas Mavinakere、Jonathan Beltran、Dionny Santiago、Justin Phillips 和 Jason Stredwick 对本文所述工作的贡献。
参考文献
Balance Academy. What is the Metaverse?(https://academy.binance.com/en/articles/what-is-the-metaverse?utm_campaign=googleadsxacademy&utm_source=googleads&utm_medium=cpc&gclid=Cj0KCQiA0eOPBhCGARIsAFIwTs5021E3DOLGlhm_lLHdfrcjfHWUbH7g0jxxGLzm5IloXT1gwsy3ESMaAiOFEALw_wcB) Wired. Video Games Already Do What the Metaverse Just Promises(https://www.wired.com/story/video-games-ahead-of-metaverse/).
Facebook. Introducing Meta: A Social Technology Company(https://about.fb.com/news/2021/10/facebook-company-is-now-meta/).
MIT Technology Review. Tanya Basu. The Metaverse has a Groping Problem Already(https://www.technologyreview.com/2021/12/16/1042516/the-metaverse-has-a-groping-problem/).
Tariq King. Transforming Gaming Through AI-Driven Automation(https://www.sogeti.com/ai-for-qe/section-4-1-automate-see/chapter-5/).
Tidjane Tall. Augmented Reality vs. Virtual Reality vs. Mixed Reality: An Introductory Guide(https://www.toptal.com/designers/ui/augmented-reality-vs-virtual-reality-vs-mixed-reality).
原文链接:
Moving towards a Future of Testing in the Metaverse(https://www.infoq.com/articles/future-testing-metaverse/)
声明:本文为 InfoQ 翻译,未经许可禁止转载。
点击底部阅读原文访问 InfoQ 官网,获取更多精彩内容!
阿里云一年内将分拆上市;58同城被曝裁员,部分比例达50%;ChatGPT推出iOS版,免费还支持语音 | Q资讯
微信扫码关注该文公众号作者