モリカトロン株式会社運営「エンターテインメント×AI」の最新情報をお届けするサイトです。
- TAG LIST
- CGCGへの扉機械学習安藤幸央ディープラーニング月刊エンタメAIニュースGAN河合律子OpenAINVIDIA音楽吉本幸記ニューラルネットワーク三宅陽一郎強化学習GoogleQAグーグルDeepMindGPT-3Facebook自然言語処理人工知能学会大内孝子森川幸人敵対的生成ネットワークシナリオキャラクターAIスクウェア・エニックスモリカトロンAIラボインタビューマイクロソフトルールベースStable DiffusionAIと倫理アート映画デバッグNFTDALL-E2StyleGAN倫理ゲームプレイAI自動生成SIGGRAPHモリカトロンメタAIテキスト画像生成ロボット深層学習ファッションCEDEC2019プロシージャルVFXデジタルツイン遺伝的アルゴリズムテストプレイNPCDALL-ECLIP画像生成大規模言語モデルChatGPTビヘイビア・ツリーディープフェイクCEDEC2021CEDEC2020ゲームAIメタバース不完全情報ゲームVRナビゲーションAI画像生成AIボードゲーム畳み込みニューラルネットワークGDC 2021JSAI2022生成系AIAdobeGDC 2019マルチエージェントCEDEC2022著作権AIアート懐ゲーから辿るゲームAI技術史toioジェネレーティブAICNNMicrosoftNVIDIA OmniverseUnity小説アニメーション鴫原盛之HTN階層型タスクネットワークマンガ汎用人工知能JSAI2020GTC2023TensorFlowインタビューバーチャルヒューマンBERTMidjourneyイベントレポート対話型エージェントAmazonロボティクスMetaMinecraft水野勇太アバターOmniverse3DCGUbisoftGenvid TechnologiesガイスターStyleGAN2GTC2022教育ソニーJSAI2021スポーツ研究シムピープルMCS-AI動的連携モデルマーケティングGDC SummerLLMブロックチェーン作曲アストロノーカキャリアeスポーツスタンフォード大学サイバーエージェント音声認識eSportsDQNBLUE PROTOCOLシーマンStability AIメタAlphaZeroTransformerGPT-2rinnaAIりんなデジタルヒューマンカメラ環世界中島秀之PaLM哲学ベリサーブPlayable!理化学研究所SIGGRAPH ASIANetflix東京大学DARPAドローンシムシティImagenZorkバイアスモーションキャプチャーTEZUKA2020AI美空ひばり手塚治虫テキスト生成バンダイナムコ研究所スパーシャルAIElectronic Arts3DメタデータLEFT 4 DEAD通しプレイOpenAI Five本間翔太CMAudio2Faceピクサープラチナエッグイーサリアムボエダ・ゴティエビッグデータ中嶋謙互Amadeus Codeデータ分析Microsoft AzureMILE模倣学習ナラティブNVIDIA RivaアーケードゲームOmniverse ReplicatorWCCFレコメンドシステムNVIDIA DRIVE SimWORLD CLUB Champion FootballNVIDIA Isaac Simセガ柏田知大軍事田邊雅彦トレーディングカードトレカメディアアートGPTPyTorch眞鍋和子バンダイナムコスタジオaibo合成音声齊藤陽介マインクラフトお知らせMagic Leap Oneチャットボットサルでもわかる人工知能VAEDreamFusionリップシンキングUbisoft La Forge自動運転車ワークショップ知識表現ウォッチドッグス レギオンIGDA秋期GTC2022市場分析どうぶつしょうぎEpic Gamesジェイ・コウガミ音楽ストリーミングMITAIロボ「迷キュー」に挑戦AWS野々下裕子徳井直生マシンラーニング5GMuZeroRival Peakpixivクラウド対話エンジン斎藤由多加リトル・コンピュータ・ピープルCodexコンピューティショナル・フォトグラフィーゴブレット・ゴブラーズ絵画ARMicrosoft Designerイラストシミュレーション完全情報ゲーム坂本洋典釜屋憲彦ウェイポイントパス検索対談藤澤仁生物学GTC 2022画像認識GPT-3.5SiemensStyleCLIPDeNA長谷洋平masumi toyota宮路洋一OpenSeaGDC 2022Gen-1TextWorldEarth-2BingMagenta音楽生成AISFELYZA Pencil松尾豊GTC2021CycleGANテンセントデータマイニングNetHackはこだて未来大学Bardキャラクターモーションフェイクニュース現代アートエージェントRPGSIGGRAPH 2022レベルデザインAIボイスアクターNVIDIA CanvasGPUALife人工生命オルタナティヴ・マシンサウンドスケープLaMDATRPGAI DungeonプロンプトASBS栗原聡ぱいどんアドベンチャーゲーム不気味の谷ナビゲーションメッシュ松井俊浩ELYZAフルコトELYZA DIGEST建築音声合成NeRF西成活裕Apex LegendsELIZA群衆マネジメントライブポートレイトNinjaコンピュータRPGライブビジネスWonder Studioアップルタウン物語新型コロナ土木KELDIC周済涛BIMメロディ言語清田陽司インフラゲームTENTUPLAYサイバネティックスMARVEL Future FightAstro人工知能史Amazon BedrockタイムラプスEgo4DAI哲学マップイーロン・マスクバスキア星新一X.AI日経イノベーション・ラボStyleGAN-XLX Corp.敵対的強化学習StyleGAN3Twitter階層型強化学習GOSU Data LabGANimatorXホールディングスWANNGOSU Voice AssistantVoLux-GANMagi竹内将SenpAI.GGProjected GANStable Diffusion XLMobalyticsSelf-Distilled StyleGANSDXL馬淵浩希CygamesニューラルレンダリングRTFKT岡島学AWS SagemakerPLATONIKE映像セリア・ホデント形態素解析frame.ioClone XUXAWS LambdaFoodly村上隆誤字検出森山和道認知科学中川友紀子Digital MarkゲームデザインSentencePieceアールティSnapchatLUMINOUS ENGINEクリエイターコミュニティLuminous ProductionsBlenderBot 3バーチャルペットパターン・ランゲージ竹村也哉Meta AINVIDIA NeMo Serviceちょまどマーク・ザッカーバーグヴァネッサ・ローザGOAPWACULVanessa A RosaAdobe MAX 2021陶芸自動翻訳Play.ht音声AIAIライティングLiDAROmniverse AvatarAIのべりすとPolycamFPSQuillBotdeforumマルコフ決定過程NVIDIA MegatronCopysmith動画生成AINVIDIA MerlinJasperハーベストNVIDIA MetropolisForGamesパラメータ設計テニスゲームマーケットバランス調整岡野翔太協調フィルタリング郡山喜彦人狼知能テキサス大学ジェフリー・ヒントンGoogle I/O 2023AlphaDogfight TrialsAI Messenger VoicebotGoogle I/OエージェントシミュレーションOpenAI Codex武蔵野美術大学StarCraft IIHyperStyleMax CooperBingAIFuture of Life InstituteRendering with StyleIntelDisney類家利直FireflyLAIKADisneyリサーチヴィトゲンシュタインPhotoshopRotomationGauGAN論理哲学論考LightroomGauGAN2京都芸術大学Canvaドラゴンクエストライバルズ画像言語表現モデルChatGPT4不確定ゲームSIGGRAPH ASIA 2021PromptBaseBOOTHDota 2モンテカルロ木探索ディズニーリサーチpixivFANBOXMitsuba2バンダイナムコネクサス虎の穴ソーシャルゲームEmbeddingワイツマン科学研究所ユーザーレビューFantiaGTC2020CG衣装mimicとらのあなNVIDIA MAXINEVRファッションBaidu集英社淡路滋ビデオ会議ArtflowERNIE-ViLG少年ジャンプ+グリムノーツEponym古文書ComicCopilotゴティエ・ボエダ音声クローニング凸版印刷コミコパGautier Boeda階層的クラスタリングGopherAI-OCRゲームマスター画像判定Inowrld AIJuliusSIE鑑定ラベル付けMODTPRGOxia Palus大澤博隆Ghostwriterバーチャル・ヒューマン・エージェントtoio SDK for UnityArt RecognitionSFプロトタイピングSkyrimクーガー田中章愛実況パワフルサッカースカイリム石井敦銭起揚NHC 2021桃太郎電鉄RPGツクールMZ茂谷保伯池田利夫桃鉄ChatGPT_APIMZGDMC新刊案内パワサカダンジョンズ&ドラゴンズマーベル・シネマティック・ユニバースコナミデジタルエンタテインメントOracle RPG成沢理恵MITメディアラボMCU岩倉宏介深津貴之アベンジャーズPPOxVASynthマジック・リープDigital DomainMachine Learning Project CanvasLaser-NVMagendaMasquerade2.0国立情報学研究所TencentノンファンジブルトークンDDSPフェイシャルキャプチャー石川冬樹MERFサッカーモリカトロン開発者インタビュースパコンAlibaba里井大輝Kaggle宮本茂則スーパーコンピュータVQRFバスケットボール山田暉松岡 聡nvdiffrecAssassin’s Creed OriginsAI会話ジェネレーターTSUBAME 1.0NeRFMeshingSea of ThievesTSUBAME 2.0LERFGEMS COMPANYmonoAI technologyLSTMABCIマスタリングモリカトロンAIソリューション富岳TikTok初音ミクOculusコード生成AISociety 5.0リアム・ギャラガー転移学習テストAlphaCode夏の電脳甲子園グライムスBaldur's Gate 3Codeforces座談会BoomyCandy Crush Saga自己増強型AItext-to-imageジョン・レジェンドSIGGRAPH ASIA 2020COLMAPtext-to-3Dザ・ウィークエンドADOPNVIDIA GET3DドレイクデバッギングBigGANGANverse3DMaterialGANRNNグランツーリスモSPORTAI絵師ReBeLグランツーリスモ・ソフィーUGCGTソフィーPGCVolvoFIAグランツーリスモチャンピオンシップNovelAIRival PrakDGX A100NovelAI DiffusionVTuberユービーアイソフトWebcam VTuberモーションデータ星新一賞北尾まどかHALOポーズ推定将棋メタルギアソリッドVフォートナイトメッシュ生成FSMメルセデス・ベンツRobloxMagic Leapナップサック問題Live NationEpyllion汎用言語モデルWeb3.0マシュー・ボールAIOpsムーアの法則SpotifyスマートコントラクトReplica StudioamuseChitrakarQosmoAdobe MAX 2022巡回セールスマン問題Adobe MAXジョルダン曲線メディアAdobe Research政治Galacticaクラウドゲーミングがんばれ森川君2号和田洋一リアリティ番組映像解析Stadiaジョンソン裕子セキュリティMILEsNightCafe東芝デジタルソリューションズインタラクティブ・ストリーミングLuis RuizSATLYS 映像解析AIインタラクティブ・メディアポケモン3DスキャンPFN 3D Scanシーマン人工知能研究所東京工業大学Ludo博報堂Preferred NetworksラップPFN 4D ScanSIGGRAPH 2019ArtEmisZ世代DreamUpAIラッパーシステムDeviantArtWaifu DiffusionGROVERプラスリンクス ~キミと繋がる想い~元素法典FAIRSTCNovel AIチート検出Style Transfer ConversationOpen AIオンラインカジノRCPアップルRealFlowRinna Character PlatformiPhoneCALADeep FluidsSoul Machines柿沼太一MeInGameAmeliaELSIAIGraphブレイン・コンピュータ・インタフェースバーチャルキャラクターBCIGateboxアフォーダンスLearning from VideoANIMAKPaLM-SayCan予期知能逢妻ヒカリセコムGitHub Copilotユクスキュルバーチャル警備システムCode as Policiesカント損保ジャパンCaP上原利之ドラゴンクエストエージェントアーキテクチャアッパーグラウンドコリジョンチェックPAIROCTOPATH TRAVELER西木康智OCTOPATH TRAVELER 大陸の覇者山口情報芸術センター[YCAM]アルスエレクトロニカ2019品質保証YCAMStyleRigAutodeskアンラーニング・ランゲージ逆転オセロニアBentley Systemsカイル・マクドナルドワールドシミュレーターローレン・リー・マッカーシー奥村エルネスト純いただきストリートH100鎖国[Walled Garden]プロジェクト齋藤精一大森田不可止COBOLSIGGRAPH ASIA 2022高橋智隆DGX H100VToonifyロボユニザナックDGX SuperPODControlVAE泉幸典仁井谷正充クラウドコンピューティング変分オートエンコーダーロボコレ2019Instant NeRFフォトグラメトリartonomous回帰型ニューラルネットワークbitGANsDeepJoinぎゅわんぶらあ自己中心派Azure Machine LearningAzure OpenAI Service意思決定モデル脱出ゲームDeepLHybrid Reward Architectureコミュニティ管理DeepL WriteウロチョロスSuper PhoenixSNSProject Malmoオンラインゲーム気候変動Project PaidiaシンギュラリティProject Lookoutマックス・プランク気象研究所レイ・カーツワイルWatch Forビョルン・スティーブンスヴァーナー・ヴィンジ気象モデルRunway ResearchLEFT ALIVE気象シミュレーションMake-A-Video長谷川誠ジミ・ヘンドリックス環境問題PhenakiBaby Xカート・コバーンエコロジーDreamixロバート・ダウニー・Jr.エイミー・ワインハウスSDGsText-to-ImageモデルYouTubeダフト・パンクメモリスタ音声生成AIGlenn MarshallScenarioThe Age of A.I.Story2Hallucination音声変換LatitudeレコメンデーションJukeboxAIピカソVeap JapanAI素材.comEAPneoAISIFT福井千春DreamIconDCGAN医療mignMOBADANNCEメンタルケアstudiffuse人事ハーバード大学Edgar HandyAndreessen Horowitz研修デューク大学AIQVE ONEQA Tech Nightmynet.aiローグライクゲーム松木晋祐東京理科大学下田純也人工音声NeurIPS 2021産業技術総合研究所桑野範久リザバーコンピューティングプレイ動画ヒップホップ対話型AIモデル詩ソニーマーケティングControlNetサイレント映画もじぱnoteNBA環境音暗号通貨note AIアシスタントFUZZLEKetchupAlterationAI News粒子群最適化法Art Selfie進化差分法オープンワールドArt Transfer群知能下川大樹AIFAPet Portraitsウィル・ライト高津芳希P2EBlob Opera大石真史クリムトBEiTStyleGAN-NADA世界モデルDETRゲームエンジンDreamerV3SporeUnreal Engineクリティックネットワークデノイズ南カリフォルニア大学Unity for Industryアクターネットワーク画像処理DMLabSentropyGLIDEControl SuiteCPUDiscordAvatarCLIPAtari 100kSynthetic DataAtari 200MCALMYann LeCunプログラミングサム・アルトマン鈴木雅大ソースコード生成コンセプトアートGMAIシチズンデベロッパーSonanticColie WertzGitHubCohereリドリー・スコットウィザードリィMCN-AI連携モデルマジック:ザ・ギャザリング絵コンテUrzas.aiストーリーボード介護大阪大学西川善司並木幸介KikiBlenderサムライスピリッツ森寅嘉Zoetic AIゼビウスSIGGRAPH 2021ペットGPT-4ストリートファイター半導体Digital Dream LabsPaLM APITopaz Video Enhance AICozmoMakerSuiteDLSSタカラトミーSkeb山野辺一記NetEaseLOVOTDreambooth-Stable-Diffusion大里飛鳥DynamixyzMOFLINゲーム背景RomiGoogle EarthU-NetミクシィGEPPETTO AI13フェイズ構造ユニロボットStable Diffusion web UIADVユニボPoint-EXLandGatoアパレルAGIAI model手塚眞DEATH STRANDINGマルチモーダルAI ModelsEric Johnson汎用強化学習AIZMO.AIデザインMOBBY’SOculus Questコジマプロダクションロンドン芸術大学モビーディック生体情報デシマエンジンGoogle BrainダイビングインディーゲームSound Controlアウトドア写真高橋ミレイSYNTH SUPERAIスキャニング照明Maxim PeterKarl Sims自動採寸Joshua RomoffArtnome3DLOOKハイパースケープICONATESizer山崎陽斗深層強化学習ワコール立木創太松原仁スニーカー浜中雅俊UNSTREETミライ小町武田英明Newelseテスラ福井健策CheckGoodsGameGAN二次流通パックマンTesla BotNEDO中古市場Tesla AI DayWikipediaDupe Killerソサエティ5.0Sphere偽ブランドSIGGRAPH 2020バズグラフXaver 1000配信ニュースタンテキ養蜂東芝Beewiseソニー・ピクチャーズ アニメーションDIB-R倉田宜典フィンテック投資Fosters+Partners韻律射影MILIZEZaha Hadid Architects広告韻律転移三菱UFJ信託銀行
【CEDEC2020】AIによるデバッグの自動化はどこまで進んでいるのか?
ビデオゲームのハイクオリティ化にともない、デバッグなどのQA(品質管理)にかかるコストも年々膨大なものとなっています。現場の作業負担を軽減させ、かつ可能な限り抜け漏れのないQAを補助するものとしてAIによるQAはゲーム業界全体の注目を集めています。昨年のCEDEC2019では、モリカトロン株式会社代表取締役社長の本城嘉太郎氏が登壇し、「AIにゲームをデバッグさせることは出来るのか? 〜ゲームAI専門会社モリカトロンの挑戦〜」と題するセッションでAIによるQAの全体像と当時の最新技術を発表しました。CEDEC2020では、その続編としてのセッション「AIにゲームをデバッグさせることは出来るのか? Season2 〜monoAI technology AIQAツール開発チームの挑戦〜」を行いました。
品質管理の分析とは?
AIによるQAの現状は、まだ人によるデバッグ作業から置き換えられる段階ではなく、AIによる自動プレイツールの研究開発と併行して、人によるデバッグの効率化を支援するツールを開発して導入を始めているのが現状です。デバッグ作業を効率化させるアプローチとしてmonoAI Technologyが考えるのは、人の検知する感性や属性を標準化し、その標準化した仕組みをAIに実行させるというものです。そして、その手前で重要なのが現状の品質管理の分析です。
従来型のテストではデバッグをする人員を大量に配置して、とにかく多くのバグを見つけるという作業をしてきました。しかしこれでは、いつ収束するのかも、なぜそのバグが出たのかも、そもそも全部の項目をチェックしきれているのかも分かりません。そういった所を最新のソフトウェアテストの技法、JSTQB(*1) などを取り入れて分析していくことにしました。(本城嘉太郎氏)
*1:JSTQB(Japan Software Testing Qualifications Board)とは、ソフトウェアの信頼性を向上するためのテスト技術を担保するソフトウェアテスト技術者の資格のこと。国際標準のソフトウェアテスト技法が問われる試験になっており、取得のための学習を通じて、ソフトウェアテストの技法を体系立てて学ぶことができる。
例えば、不具合のランク別(SABCD)に発見された数と「どこにその不具合が発生したのか」をプロットします。こちらの例では、システム不具合、コーディングミス、環境設定ミス、マスタ設定ミスなど、さまざまな種類のバグが発生した数をランク別にプロットしています。下記の図を見ると明らかにマスタ設定にミスが集中していることが分かります。

さらに、ゲームの機能別にそれぞれのバグをプロットすことで具体的なバグの原因を割り出すことができます。

テストスケジュールの管理も行います。通常は何万件ものテストケースを作成し、それを日々消化していきますが、このようなテストスケジュールもデイリーで進捗を記録しておくことで「最終日に何百個もバグが残っている!」ということもなくなります。

進捗を記録しておくことでテストスケジュールの予実管理も可能となります。例えば、下記の図のように、2週間で23,871ケースを消化しようという場合に実際の消化ベースとの乖離をつかむことができます。

このような品質管理の分析により、遅れてしまった理由を何となく推察するのではなく、具体的にどういった問題が起きたから遅れたのかをエビデンスベースで示すことができます。
今回の事例においては、マスタ設定ミスが多く、特にキャラから多く検出されています。個々の作業員の方のイージーミスなのかスケジュールがタイトなのかを見直した方が良さそうです。テストの進捗の遅れも未実装とBLOCKが多数発生したことで起きているので、テストスケジュール自体を見直すべきです。このような判断を根拠を持ってすることができます。(本城嘉太郎氏)
もちろん、欠かせないのはこうした分析があった上でのエキスパートチームの存在だと本城氏は言います。テストケースを使ってバグをつぶしていくだけではなく、「神デバッガーがその腕でとんでもない所にバグを見つける」という、いわゆる探索型のテストも重要だからです。monoAI technologyは、テストケースでバグを発見しつつ、業界で20年以上実績を積み重ねてきた”神デバッガーの集団”も組織し、人の観点からのバグ検出も行うという両輪によって作業を進めています。2020年8月現在、monoAI technologyでは東京、神戸、京都、福岡、高知の5箇所に正社員・契約社員テスター125名、登録アルバイト300名が在籍しています。
最新のQAツール紹介:今、AIはここまで人のデバッグを支援できる
ここからは、AIをゲームのデバッグに活用するという本題に入ります。冒頭で、AIによる自動プレイツールの研究開発と、人のデバックを効率よく支援するツールの研究開発を併行で進めているという話がありましたが、ここでは後者の支援ツールとしてのAIの活用を中心にご紹介します。
なお、AIによる自動プレイツールの研究、これはグループ企業であるモリカトロン株式会社のAIエンジニアチームが同じCEDEC2020で発表し、こちらの記事で詳細が紹介されています。
monoAI technologyでは、「こんなものがあったらいい」「これは使っておくべきだ」といった現場のQA担当者の意見を参考に、手作業で時間がかかっている部分をツールで改善するための次のようなQAツールの開発を進めています。
- monoAIAutoMapper
- monoAITester
- monoAIBugReporter
- monoAIDebugSDK
- monoAITextChecker
- monoAIVideoCloud
- monoAIBTSTransporter
- monoAIPallarelViewer
昨年のCEDEC2019においても当時開発中のQAツールが発表されましたが、今回はその続編として、monoAIAutoMapper、monoAITester、monoAIVideoCloud、monoAIBTSTransporterを取り上げ、実際に使用した結果を紹介しました。
monoAIAutoMapper
monoAIAutoMapperはアプリ画面の遷移を行い、その遷移情報から画面遷移図を生成します。つまり、各画面がどのようにつながっているかを確認する作業を自動化できます。
QAの現場ではテストケースを作る際に画面遷移図が必要になる場合がありますが、画面遷移図が資料になかったり、画面がおおまかにフィックスしてから遷移図を作るプロジェクトもあります。とはいえ、自分たちで遷移図を作ろうとすると、画面を動かしスクリーンショットを撮る作業を繰り返すことになり、手間がかかる上に手作業のためミスも発生しやすくなります。その問題に対応すべく、画面のスクリーンショットから自動で遷移図を作成するツールの開発が始まりました。
monoAIAutoMapperの機能は以下の通りです。
- 端末画面のスクリーンショットを元に画面遷移図を作成する
- 遷移図データを用いることでmonoAITesterと連携することで指定画面まで移動するテストも可能
遷移図のファイルやデータをプロジェクトフォルダで一元管理し、各遷移画像に画面のタイトルを付けたり、遷移図のツリー情報を編集できます。


動作フローとしては、monoAIDeviceConnectorに遷移を監視する端末をつなぎ、monoAIAutoMapperと連携させた上で、端末から必要な遷移を行います。monoAIDeviceConnectorは端末の現在の画面を保存し、ソケット通信でmonoAIAutoMapper側に送信します。monoAIAutoMapper側で前後の画面の比較や解析を行い、HTMLとPNGファイルの2種類の遷移図を出力するという流れになります。
実作業で使ってみた結果は、PCにつないで操作するだけで画面が保存されるのでアップロードの手間が不要になりました。操作した通りの遷移の順番をデータとして保持してくれるため遷移図の基本形がその場で作れるので大幅な時間短縮につながりました。
monoAITester
ゲームの自動化テストツールで、monoAITesterで作成したスクリプトの実行によりデバッグ業務の一部を自動化します。また、画像認識によってUIの自動テストなどを行うこともできます。これを開発する目的はふたつありました。ひとつは効率化を図るためです。テスト項目の中には消化するのにとても時間のかかる項目があり、それが自動化できれば他の作業に人手を回すことができます。もうひとつはテスト項目の内容自体が属人化するのを防ぐことです。作業を機械で自動化できれば、それが属人化してしまう問題も解消できるはずです。
monoAITesterの機能は以下の通りです。
- テストケースの作成と自動実行
- テスト実行の結果をレポートファイルとして出力する
端末画面のスクリーンショットの撮影も可能で、出力したレポートはダイアログやWebブラウザで閲覧できます。テストケースはプロジェクトフォルダで管理します。


使ってみた結果は、長時間のテストの自動化による効率アップを実現、また属人化の課題も解消できました。また、似たようなものであれば少し調整することでスクリプトを使い回すことも可能で、全体の効率化につながりました。
monoAIVideoCloud
monoAIVideoCloudはゲームのテストプレイの画面動画をサーバで自動保存する動画クラウドです。スマートフォンで操作中のアプリの画面をMovieReporterによってクラウドに録画して保存していきます。保存された動画はWebブラウザを通して見ることができ、クライアントへのバグ報告や再現手順の共有ができます。
不具合の報告において、動画のほうが発生時の手順を伝えやすいのは事実ですが、これまではバックグラウンドで起動したスクリーンレコーダーでの録画はできても端末でテストしたいアプリだけを起動して画面情報を動画で残すことはできませんでした。PCにつないで直接取り込む方法もありますが、動画ファイルの容量が大きすぎてPCに保存ができなかったり、保存できても容量を圧迫するといった問題も生じます。それを解決するためにテストプレイの画面を動画で保存する動画クラウドを開発しました。
monoAIVideoCloudの機能は以下の通りです。
- 端末画面を録画し、動画をクラウドに保存
- 保存した動画のトリミング
- 動画にコメントを付加
動画は発行されるURLで閲覧できます。セキュリティ対策として、アップロード先の動画が流出しないよう案件ごとに分けて管理(データベース・コンテナ・ユーザーを個別に管理)しています。また、URL改変への対応としてULIDを使ったランダム文字列を発行しています。なお、monoAIVideoCloudで撮った動画はストリーミング再生のみとなります。


monoAIVideoCloudとmonoAITesterを組み合わせることによって、エージングテストを低コストで実現できます。作業現場にmonoAIVideoCloudの導入にしたことで、不具合が解消されるとともにテスト中のプレイ動画をクライアントと共有することができたため作業をスムーズに行えるようになりました。
monoAIBTSTransporter
monoAIBTSTransporterは、社内のBTS(bug tracking system)のチケット情報を社外の開発会社のBTSに自動で転送する機能です。
テスト業務としてバグチケットを発行する際、いったん社内のBTSに発行し、精査を経てクライアント先のBTSでチケットを発行する手順になります。大型アップデート時など、多い時は1日30件出ることもあります。それらを1つひとつ確認してからコピペする作業が大きな負担を伴う工数になっていました。また、手作業には人的ミスも発生します。monoAIBTSTranspoterはその課題を解消するために開発されました。
monoAIBTSTransporterは、自社のRedmineに起票されたチケットを他社のRedmineに転送することで、先方のRedmineでチケットを作成・起票する権限を自社の作業者全員に付与する必要がなく運用することが可能です。

monoAIBTSTransporterの機能は以下の通りです。
- 社内のRedmineのチケットを客先のRedmineに転送する(添付ファイルや履歴も一緒に転送)
- 独自の優先度、カスタマーフィールドが設定されている場合は対応表で自動変換する

Redmaineのサーバには外部からチケット一覧やチケットを登録する機能にアクセスできるようにWebAPIが実装されています。BTSTransporterでは、そのWebAPIを利用してまず社内サーバからチケット一覧を読み込み、転送するチケットをユーザーが選択すると、選択されたチケットを相手側のWebAPIを通じて登録していく流れになります。このツールの導入後の反応は好評でした。複数のチケットをまとめて選択して社外のBTSに履歴や添付ファイルごと転送できるようになったため、ミスも減らせたからです。
このように、品質管理業務の効率をアップするツールを新規に開発し、実案件でも使っていますが、monoAI technologyではさらに自動化スクリプトのビジュアルプログラミング対応を行っています。
やはりこれまでプログラミングに触れてこなかった人には手を出しにくいという面がありました。実はテスターさんにPythonのコードを書いてもらった所、結構使えるコードができたんです。これは「プログラマでなくとも自動化はできる」という発見でした。現在、Webクライアント上で関数ブロックを組み上げることでPythonの知識がなくても簡単にテストスクリプトを作成して自動テストを行えるようになっています。また、従来はローカルPCに保存していたテストスクリプトをデータベースに保存することで、テストスクリプトの共有化も進めています。(本城嘉太郎氏)
「AIでバグが取れるようになるにはあと1年かかる」と語る本城氏。今後も挑戦は続き、AI QAのツールやオートプレイを進化させるよう研究開発に取り組んでいきたいとの決意でセッションを締めました。
Writer:大内孝子