ゲームの公開にはテストが必須です。しかし、固定仕様のハードウェアであったコンソールゲーム機にくらべ、スマートフォン上のゲームでは、対応端末が多くなるととテスト工数が膨大になり、開発期間内でテストを完了することが難しくなります。端末数が多い場合や、回帰テストが多くなることが見込める場合は、テスト自動化でテスト工数の削減が見込めます。
本セッションでは効率的なテスト自動化を実現するために、テスタビリティの向上とテスト実装、CIを活用した多言語テストと端末バリエーションのカバーの2つの分野についてそれぞれのプロフェッショナルである宮田と末広が解説いたします。
宮田パート テスタビリティを向上させるクラス設計とMockの活用
ゲーム業界では特に以下のような問題からテスト自動化が進まなかった現状があります。
1)速度やメモリ節約が重視され、テスタビリティが軽視されてきた
2)ランダムな要素が多く、インプットに対するアウトプットが一定とならないため自動化が難しい
本パートではこの2点を解決するために下記のノウハウについて詳しくご紹介します。
1)テスタビリティをあげるクラス設計
2)Mockを利用してランダムな結果が返るメソッドや通信処理をテストする方法
末広パート CIを活用した多言語テストと端末バリエーションのカバー
本パートでは、CIを利用することによって受けられる恩恵とJenkinsとエミュレーターを使った多言語やアスペクト比の違いをテストする方法についてお話しします。
※ 本招待セッションは、JaSSTソフトウェアテストシンポジウムを運営するASTER (ソフトウェアテスト技術振興協会)との
コラボレーション企画セッションとなります。
JaSST公式サイト: http://jasst.jp/
講演者プロフィール
太田健一郎
大手SIer にて開発支援ツール開発SE を経験した後、商⽤・オープンソースを使った各種の自動テスト、パフォーマンス・テスト、インスペクションをお客様プロジェクトで担当。その後、大手Web サービス会社にてJenkins を始めとするCIテスト自動化、パフォーマンス・チューニングなどを担当。
現在、株式会社SHIFT にてJenkins の導入、トレーニングを担当。有志の仲間達と共に「入門Jenkins―実践「継続的インテグレーション」」を 2012 年に執筆。その他、コミュニティ活動として、JaSST 実⾏委員会、テスト自動化研究会、TDD 研究会、TDDBC、Android テスト部に所属し、公私ともにCI を始めとする自動化に情熱を燃やしている。
宮田 友美
株式会社オープンストリーム(http://www.opst.co.jp/)において、アーキテクトとしてAndroidの調査・研究および案件支援に従事。約1年の育児休業を終え、2013年4月から職場に復帰。一児の母として業務に勤しむ毎日を送っている。Androidテスト部部長(http://www.android-tec.org/)。
末広 尚義
高校時代からWEBプログラミングを初め、大学では自作CPUとコンパイラを研究、開発。ソフトウェアエンジニア。現在はリーディングエッジ社 (http://leadinge.co.jp/)で組み込み系をメインに趣味ではAndroidテスト部やデ部で活動。Androidのフラグメント化 にJenkinsを使って対処する方法を啓蒙活動をおこなっている。