Unityの標準テストフレームワークであるUnity Test Frameworkパッケージによる統合テスト(高結合度テスト)の解説本を技術書典14で頒布しています。
想定読者
UnityでC#スクリプトを書けるレベルのソフトウェアエンジニア(プログラマー)を想定しています。 UnityやC#言語自体の解説はしていません。
またUnity Test Frameworkおよびユニットテストに関しては、前著『Unity Test Framework完全攻略ガイド』の知識を前提としています。
目次の紹介
各章の内容は次のとおりです。
第1章 ゲーム開発における統合テスト
統合テストは、ユニットテストに比べ、より結合度が高く、実際のゲームに近い(忠実度が高い)状態でテストできるのが利点です。 取り組みかたや観点を相応に変え、ユニットテストと補完関係を築くコツを紹介しています。
第2章 uGUI 操作の自動化
Unity UI(uGUI)の操作を自動化して、主にアウトゲームをテストする方法を紹介しています。 操作の基本、モンキーテスト、シナリオテスト(ページオブジェクトパターン、Automated QAパッケージによるキャプチャ/プレイバック)。
第3章 Input System による操作の自動化
いわゆるNew Input Systemを導入しているゲーム向けに、キーボード・マウス・ゲームパッドなどの入力操作をシミュレートしてテストする方法を紹介しています。 こちらも、操作の基本、モンキーテスト、シナリオテスト(キャプチャ/プレイバック)。
第4章 Input Manager による操作の自動化
LegacyなInput Manager(UnityEngine.Input)は、そのままではテスト不可能です。 テスト可能にするためのヘルパーパッケージの使いかたを紹介しています。
第5章 ビジュアルリグレッションテスト
Graphics Tests Frameworkパッケージによるビジュアルリグレッションテストの紹介と、安定してスクリーンショットを撮影するために、テスト開始時にGameビューの解像度を指定する方法を紹介しています。
第6章 Unity Test Framewok Tips 統合テスト編
前著『Unity Test Framework完全攻略ガイド』でも紹介済みのAPIで、統合テストに利用できるものをピックアップして紹介しています。
付録A ツール・フレームワークの紹介
Unity社およびサードパーティの、統合テスト・システムテスト向けフレームワークを紹介しています。
付録B バッチモードの制限事項と回避方法
本書で紹介している統合レベルのテストは、CIなどで使うバッチモードでは安定動作しないものがあります。 その回避方法を紹介しています。
サンプルコード
サンプルコードは引き続き下記リポジトリを参照してください。
表紙について
『Unity Test Framework完全攻略ガイド 第2版』に引き続き、りょふ彦(@ryofu1323)さんにお願いしました。 というかその時点で『統合テスト編』の構想があったので、差分も描いてもらっていました。
蛇足ですが、技術書典の「書名の中央をシュリンクして末端は表示する」仕様ほんと素晴らしい。
オフライン会場は「こ04」
5/21(日)、池袋サンシャインシティでのオフライン会場では「こ04」にいます。 当日、物理本の現物はなく「後から印刷」になります。ご了承ください。
オンラインでの頒布について
技術書典マーケットでの購入はこちらから。電子+物理セットがお得です。
[6/12]BOOTHにも公開しました。[6/14]物理本も頒布を開始しました。