この記事の3行まとめ
- DeNAが、Unity向けオートパイロットフレームワーク『Anjin(あんじん)』の運用Tipsをまとめた記事を公開
- Anjinは、QA工程の前に行われるテストの自動化ツール
- Anjinはオープンソース化され、MITライセンスで公開されている
2023年3月31日、DeNAは、同社が開発したUnityプロジェクト向けオートパイロットフレームワーク『Anjin(あんじん)』を運用するうえでのTipsをまとめた記事を公開しました。
Anjinは、ゲームがほぼ組み上がり、QA工程に入る前の段階で行われるテストを自動化するためのツール。オープンソース化もされており、MITライセンスで公開されています。
Anjinでは、UnityのSceneごとに、「モンキーテスト(※1)」と「シナリオテスト(※2)」の、2つのテスト手法を切り替えつつ検証することで、効率的なテスト運用を目指しています。
※1:無作為な操作を行う「モンキーテスト」は、メンテナンスが不要だが、意図した操作で検証ができない
※2:設定したシナリオに沿って操作する「シナリオテスト」は、検証する操作を指定できる反面、メンテナンスコストがかかる
Anjinでは、操作を実行するクラスを「Agent」と呼ぶ。上の画像は、Sceneごとにテストを行うAgentクラスの設定(画像は公式ブログより引用)
モンキーテスト用Agentの設定画面。モンキーテストは、クラッシュや進行不能といった、クリティカルではあるものの再現確率の低い不具合の検出が得意(画像は公式ブログより引用)
シナリオテスト用Agentの設定画面。主に「主要な機能を完遂できるかどうか」などの検証に使われる(画像は公式ブログより引用)
今回公開された記事では、オートパイロットを安定運用するためにAnjinに実装された機能を紹介しています。記事中では、シナリオテストにおいて、エラーなどによる想定しない画面遷移が発生するとテストが止まってしまう問題に対処する方法などが解説されました。
Tipsの詳細はこちらを、Anjinの概要や使用方法は『Unityプロジェクト向けオートパイロットフレームワークの作りかた』を、ご覧ください。
『Unityプロジェクト向けオートパイロットフレームワークの運用Tips』 DeNA Testing Blog『Anjin』GitHub