狠狠撸
Submit Search
ケ?ームの自動テストを 作ってみた
?
2 likes
?
1,006 views
Yuusuke Takeuchi
Follow
このイベントでの資料です。 http://eventdots.jp/event/565755
Read less
Read more
1 of 20
Download now
Download to read offline
More Related Content
ケ?ームの自動テストを 作ってみた
1.
ゲーム の 自
動 テス ト を 作 って み た 竹 内 ? 佑 介 2 0 1 5 / 0 8 / 2 3
2.
ゲーム 画 面
の テス ト コ ー ド を ? 書くの難しいと思っていませんか?
3.
ち ょ っ
と 工 夫 す れ ば ? 案 外 簡 単 に で き る んで す
4.
今 日 はそ
の 方 法 を 皆 さ ん と 共 有 し た い と 思 い ま す
5.
ゲーム 画 面
の 自 動 テス ト を 実現するには何が必要でしょうか?
6.
こ ん な
ん が 必 要 だ と 思 い ま す ? テスト対象だけ切り出せる ? 自動的に操作ができる ? 自動的に検証ができる(いわゆるアサーション) ? 好きなテストコードをいつでも実行できる ? テストコード一覧を1コマンドで実行できる
7.
テス ト 対
象 だ け 切 り 出 す に は ? ? ゲームライブラリの基本機能を使えばOK ? 最近のは大体スプライト、シーン、グループとかある のでそれを使えばいいでしょう ? スプライトについて? https://ja.wikipedia.org/wiki/ %E3%82%B9%E3%83%97%E3%83%A9%E3%82%A4%E 3%83%88_(%E6%98%A0%E5%83%8F%E6%8A %80%E8%A1%93)
8.
自 動 的
に 操 作 す る に は ? そ の 1 ? タイムラインとイベント発火を組み合わせれば、大体 のことはできるはず ? タイムラインの詳細、要はフレーム補間? http://wise9.github.io/enchant.js/doc/core/ja/symbols/ enchant.Timeline.html
9.
自 動 的
に 操 作 す る に は ? そ の 2 ? enchant.jsでの実装例は以下の通り? https://github.com/kaidouji85/gbraver/blob/ d276ebce9ac570d9528efc2106a1467d5cdc7f36/ publicForTest/javascripts/testlib/testUtil.js? ? 実際に動いてるイメージはこんな感じです? http://gbraver-beta.herokuapp.com/testClient?code=/ javascripts/changeSceneTest/ selectArmdozerToTopForPrevButtonTest.js
10.
自 動 的
に 検 証 す る に は ? ? そ の 1 ? どこを検証するのか ? 前提としてゲーム画面すべてを自動検証するのは無理 ? 演出、操作感とかは人間が直接みた方が早い ? 論理的には画像比較、操作履歴の比較をすれば上記項 目もテストはできるけど、どう考えても労力に見合わ ない
11.
自 動 的
に 検 証 す る に は ? ? そ の 2 ? 人間の目では確認しずらいところを検証する ? 例えば??????、 ? 何かした時に、意図したイベントが発火されるか ? サーバへの送信データは正しいか ? ボタン押下->API実行、という流れは正しいのか
12.
自 動 的
に 検 証 す る に は ? ? そ の 3 ? これらを検証するにはenchant.jsというかjavaScriptの 場合は、以下を検証することになる ? 意図したコールバック関数が、意図したパラメータと 共に呼ばれるか ? これなら、javaScriptにあるアサーションライブラリで いくらでも検証できる
13.
自 動 的
に 検 証 す る に は ? ? そ の 4 ? 私はアサーションライブラリとしてchaiを使っていま す? http://chaijs.com/api/assert/ ? アサーションしているコードの例(53行目あたり)? https://github.com/kaidouji85/gbraver/blob/ d276ebce9ac570d9528efc2106a1467d5cdc7f36/ publicForTest/javascripts/battleEndTest/ battleEndForWinTest.js#L53
14.
テス ト コ
ー ド を い つ で も 実 行 す る は ? ? そ の 1 ? ここはゲームの作りに依存するので、一概にこれとい う方法がない ? 自分の場合はテストコードをリクエストパラメータに 渡したら、それを実行してくれるサイトを作った
15.
? 例えばこんな感じ? http://<ゲームのドメイン>/testClient?code=<テスト コード名> ? 公開しているテスト環境ではこんな感じで実行できま す? http://gbraver-beta.herokuapp.com/testClient?code=/ javascripts/changeSceneTest/battleToNextStoryTest.js テス
ト コ ー ド を い つ で も 実 行 す る は ? ? そ の 2
16.
? テストコード一覧を表示するサイトも作った? http://gbraver-beta.herokuapp.com/testList テス ト
コ ー ド を い つ で も 実 行 す る は ? ? そ の 3
17.
テス ト 一
覧 を 実 行 す る に は ? ? そ の 1 ? これもゲームの作りに依存するので、これを使うとい う方法はない ? 自分の場合はさっきのテスト一覧表示サイトと seleniumを組み合わせて、なんとか実現した
18.
自 分 で
作 って み た コ ー ド は こ こ に あ り ま す https://github.com/kaidouji85/gbraver
19.
作 って み
た コ ー ド に つ いて ? テストコードやプロダクトコードはここにあります? https://github.com/kaidouji85/gbraver ? テストコード一覧はここで見れます? http://gbraver-beta.herokuapp.com/testList ? ゲームはここで遊べます? http://gbraver.herokuapp.com/?
20.
ご 静 聴
あ り が と う ご ざ い ま し た
Download