キーポイント
-
メタバースのコンセプトを定義し理解することは、その没入感、相互接続性、消費者に無限の体験を提供する能力など、想定される特性を探ることから始まる
-
メタバースを現実のものとするには、データのプライバシーやセキュリティ、個人の安全やバーチャルハラスメントに至るまで、多くのエンジニアリングリスクや品質に関する懸念がつきまとう
-
テスト駆動型設計の原則をメタバースの開発に適用することで、チームは早期のリスク特定と、メタバースがテスト可能なことを保証できる
-
メタバースで許容レベルのテストカバレッジを達成するには、AIや機械学習を活用した高度なテスト自動化機能が必要な場合がある
-
テスターは、ユーザーの共感、創造性、好奇心、コラボレーション、コミュニケーションといった貴重なスキルをメタバース開発にもたらし、その成功を可能にする上で重要な役割を果たすことになりそうだ
コンピュータビジョンの進歩は、テスト自動化の可能性を大きく広げる。ボットは、人間と同じように視覚的要素を認識し、検証するように学習が可能となる。概念実証として、SoulMachinesが開発したデジタルペルソナに視覚的検証を実施した。これは、デジタルパーソンが話しているとき、返事を待っているとき、笑っているとき、真剣なとき、混乱しているときなどのシナリオを認識するために、オブジェクト検出分類器を学習するものである。AIを活用し、デジタルアバターとの会話ベースのインタラクションを検証するための自動テストを開発した。これには2種類の入力操作があった、1つは画面上のテキストチャットウィンドウを使ったもので、もう1つはビデオストリームをタップして、あらかじめ録画された動画を人間とのライブインタラクションだとボットを「だます」ものである。そのため、テストエンジニアは、デジタルパーソンに動画で質問や応答を事前に記録することができ、自動化によってアバターが適切な反応や応答をしたかをチェックできる。OpenAIのGPT-3やその最新版であるChatGPTのような大規模な変換器ベースの自然言語処理(NLP)モデルも、会話テストの入力データの生成や期待される反応の検証に活用できるのだ。
開発初期段階でも、学習されたボットは、アプリケーションのコンテキストに関連するインタラクションを認識し、それ以外を無視する方法を学習できた。具体的な例を見てみよう。下図は、笑顔というジェスチャーに対してボットが適切に反応できるかどうかを検証することを目的としたテストの実行結果である。笑顔が伝染することは周知の事実であり、微笑みかけられたら微笑み返さずにはいられない、そこで、ボットとのインタラクションのこの視覚的な面をテストしてみた。そこで、自動化によってデジタルパーソンを起動し、ライブ動画ストリームに接続し、デジタルアバターに当社のエンジニアの動画ストリームを見せると、しばらくして笑顔を見せ始めた。自動化により、笑顔に対するアバターの反応をチェックした。その結果を以下に示す。
図に示すように、ここでのボットが現在観察しているアバターと以前観察していたアバターを比較すると、2つの違いがあることに気づくだろう。まず、キャプチャの瞬間、アバターは青いボックスで示されるように目を閉じており、また歯が見えるほど大きく笑っている(赤いボックス)。しかし、我々のプラットフォームが生成した差分マスクは、笑顔という1つの差分しか報告しない。なぜかわかるだろうか?私たちのテストプラットフォームにバグがあるのだろうか?いや、その逆だ。ボットは、まばたきがデジタルアバターの通常のアニメーションサイクルの一部であることを学習していた。1枚の画像で学習するのではなく、実際には規則的な動きが含まれるアバターの動画で学習していた。これらのアニメーションは、今や真実の一部として認識されたことで、ここでのボットは、「満面の笑み」が標準からの逸脱であることを認識し、その変化とその変化のみを強調する画像差分マスクを生成する。AIは、人間と同じように、アバターが誰かに微笑まれて微笑み返したことに気づき、画面キャプチャの瞬きも単なる偶然であるとわかる。
ゲームプレイのテストにAIを活用する
ゲームのプレイに関しても、AIは長い道のりを歩んできた。数十年前、ボットは総当たり計算を使って、三目並べのようなつまらないゲームをプレイしていた。しかし現在では、自己学習と強化学習を組み合わせて、囲碁、アタリゲーム、マリオブラザーズなど、より複雑で直感的なゲームのエキスパートレベルに到達している。このことから、ボットがAIでできるのであれば、そのボットを前述のビジュアルテスト機能で拡張しないのだろうか?という疑問が生まれる。この文脈で考えると、ゲームプレイのテスト自動化の問題は、それほど難しく感じない。先に述べたゲームテストのためのAI技術を、AIを使ったリアルタイムのゲームプレイと組み合わせる環境に持っていくだけでいいのだ。
例を見てみよう。例えば、プレイヤーが武器を使って戦う一人称視点のシューティングゲームのテストを任されたとする。このゲームには協力プレイモードがあり、自分の視界には常に味方プレイヤーか敵プレイヤーのどちらかを入れることができる。ゲームプレイ中、プレイヤーには画面上にヘッドアップディスプレイ(HUD)が表示され、ヘルスポイント、キルカウント、武器のクロスヘアにターゲットとなる敵がいるかどうかなどを視覚的に表示する。ここでは、本作のゲームプレイメカニズムを自動的にテストでする方法を以下に紹介する。
コミュニティコメント