2016
9/2

ゲーミフィケーション × 探索的テスト～重大バグヲ発見セヨ！～

TEF道

根本 紀之

自己紹介

名前：

根本 紀之 @nemorine所属：

東京エレクトロン＠札幌

仕事：半導体装置のソフトウェア開発（C# → C++ → Java）

興味：

ソフトウェアテストや品質の技術、北海道の観光

趣味：

美味しいものを食べること、可愛いTシャツ集め

目標：

何でも楽しむこと！

Copyright TEF道

質問①

テストが好きな人は？

Copyright TEF道

質問②

あなたにとってのテストの成功とは？
① バグが出ないこと② バグが出ること
Copyright TEF道

今回の発表で伝えたいことは…
バグを探したい！という意識テストをゲーム化する

テストが好きではない人
バグがでなければいいなぁ～という意識
Copyright TEF道

個人戦
✔ チーム戦テストが楽しくなり、バグを沢山発見できるテスト仕様書ベースのテストの問題構造図
テストフェーズに使える時間は限られている＜前提＞
バグを見つけた場合は自分が修正する

全てのテストケー
スをテスト仕様書に書くことができない

開発者にとってはテスト仕様書のテストケースをPassすることが目的である

過去に自分が経験してないバグの出し方は良く分からない
時間のわりにバグが出ない

バグを積極的に見つけようとしない
テスト仕様書に沿ったテスト実施は単純作業に近い
テストフェーズは楽しくないのでモチベーションがダウン↓するCopyright TEF道

リリース後にバグが発生する

手戻り作業が発生する

テスト仕様書ベースのテストの問題構造図
探索的テスト
テストフェーズに使える時間は限られている＜前提＞
バグを見つけた場合は自分が修正する全てのテストケースをテスト仕様書に書くことができない

開発者にとってはテスト仕様書のテストケースをPassすることが目的である

ゲーミフィケーション

戦略立案とふりかえり
過去に自分が経験してないバグの出し方は良く分からない

時間のわりにバグが出ない
バグを積極的に見つけようとしない

テスト仕様書に沿ったテスト実施は単純作業に近い
テストフェーズは楽しくないのでモチベーションがダウン↓するCopyright TEF道

リリース後にバグが発生する

手戻り作業が発生する

ゲーミフィケーションとは？
「日常生活の様々な要素をゲームの形にする」という「ゲーム化（Gamefy）」から派生し、2010年から使われはじめた。（Wikipediaより）「コンピュータゲームのなかで特徴的に培われてきたノウハウを現実の社会活動に応用する」こと。（井上明人 ゲーミフィケーション）
例えばラジオ体操のポイントカードなどもゲーミフィケーションの一種である。

Copyright TEF道

ゲーミフィケーションの歴史
2010年半ば 現在の意味で“ゲーミフィケーション”という言葉が使われ始める。
2011年1月 ビジネスウィークで“ゲーミフィケーション”が取り上げられ脚光を浴びる。
2011年8月 ガートナー社が3つの大きなトレンドに“ビッグデータ”、“IoT”、“ゲーミフィケーション”を取り上げた。その背景には以下の3つがあった。
・ソーシャルゲームの急成長
・ソーシャルゲームを日常的に遊ぶ人々のモチベーションを実際の商品販売と結びつけたこと・ゲーミフィケーション企業の台頭センサーであり、ソーシャルと繋が（例：バッジヴィル社、フォースクエア社）るI/Fでもある

Copyright TEF道井上 明人 「ゲーミフィケーション」

ゲーミフィケーションの例①• 節電アプリ #denkimeter

Copyright TEF道

ゲーミフィケーションの例②• 速度違反をした人は罰金を！だけではなく、守った人には報酬（宝くじ）を！という取り組み。
• この「Speed Camera Lottery」という安全運転宝くじ制度は、フォルクスワーゲンが主催している「The FunTheory」でアワードを取ったアイデア。
• スウェーデンの国立道路安全協会にも正式に採用され、ストックホルムで実際に導入された。
• 24,000台の車を対象に3日間で22％も平均速度が下がった。

Copyright TEF道

http://greenz.jp/2010/12/03/speed_cameralottery/なぜゲーミフィケーションは強力なのか？
①進歩している感覚を生む
人間は、何かを習得したいという欲望をもっており、それは、以下のような段階を踏む。この段階は直線的ではなくループされており、フィードバックがまたインセンティブになり、このプロセスは何度も何度も繰り返される。このループを繰り返し行っていると自分がだんだんと習得している（成長している、進歩している）という感覚が生まれる。この進歩しているという感覚がインセンティブ（モチベーション）につながる。ゲームはこのステップに似ており、このプロセスを助けることができる。

Desire（欲望）INCENTIVE（インセンティブ）
CHALLENGE（チャレンジ）ACHIEVEMENT/REWARD（達成／報酬）
FEEDBACK（フィードバック）
MASTERY（習得）
Copyright TEF道

http://techwave.jp/archives/51716146.html

なぜゲーミフィケーションは強力なのか？
②ゲームは快楽を伴う経験（達成）をうみだす
何かをしようとする「行動」は人を賢くし、達成が伴うと人は快楽を感じる（ドーパミンが分泌される）。快楽を伴う「経験」に対し、脳はさらにその体験をもとめ、行動に変化が生じる。ゲームはこの「人間の行動プロセス」と同じようなパターンを踏み、かつ最初の「行動」を生み出すことができる。また、ゲームをクリアした時、またはあるレベルに到達した時など、いくつかのプロセスを伴って得られる達成感にはポジティブなパワーがある。ポジティブな経験は行動に変化を与える。

Copyright TEF道

http://techwave.jp/archives/51716146.html

テストに当てはめる
今回のゲームの名前

テストをゲーム化する ＝Copyright TEF道

BugBugTime

チーム戦の流れ
チーム分け

戦略会議

テスト実施

ふりかえり

順位発表

Copyright TEF道

チーム戦の流れ
チーム分け

・1チーム3名で、3チーム（参加者9名）・各チームに知見者を一人以上入れる・チームは若手とベテランを分けるように組む

戦略会議

対抗意識を煽る！
テスト実施

ふりかえり

順位発表

Copyright TEF道

チーム戦の流れチームの意識が芽生える

チーム分け

戦略会議

テスト実施

ふりかえり

順位発表

Copyright TEF道・どこを狙うかチーム毎に話し合う
・このときメンバーの分担も決める

弱そうなところや怪しい操作などを事前にチェックし、メンバー間で共有する

チーム戦の流れ
チーム分け

戦略会議

テスト実施

・自分達の戦略に従って探索的テストを実施する
・時間は1時間・バグが出た場合は、ツールを使って報告する
・Webアプリにチーム毎の“件数”がリアルタイムで表示される同じ時間・同じ画面でチーム対抗戦

ふりかえり

順位発表

Copyright TEF道

さらに対抗意識を煽る！

チーム戦の流れ
チーム分け

戦略会議

・バグの現象とランクを決定する
・“バグの出し方”を共有する

テスト実施

ふりかえり

順位発表

Copyright TEF道

自分が実際に参加したからこそ、共有の話がドンドン頭に入る

チーム戦の流れ
チーム分け

戦略会議

テスト実施

優劣をキッチリつける！

ふりかえり・ポイント集計をして、チーム優勝と個人優勝を発表する

順位発表

Copyright TEF道

Mission : AAA画面のバグを発見せよっ！

Target : AAA画面

Style : 探索的テスト※事前の戦略共有の時間あり

BugBug PointTime : 1hour

A-rank : 5 point
B-rank : 3 point
C-rank : 1 point

Type : チーム戦 ※赤は知見者
ワカモノチーム（O谷K尾O川）
ベテランチーム（F村S口N村）
大食いチーム （N本M川A田）
Copyright TEF道

After Meeting ： あり
・現象の確認・バグの出し方共有・ランキング発表

結果を見る

Copyright TEF道

楽しかったのか？
• 参加者の大半は楽しかったという結果になった。
• 大部分の参加者はバグを出すことに集中し、いわゆるフロー状態になっていたと推測される。
Q1：試験仕様書に沿ったテストと比べて楽しかったですか？

4.5
43.5
3
2.5
2
1.5
1
0.5
0

Q2：試験仕様書に沿ったテストと比べて、時間が経つのが早かったですか？

4.5
43.5
32.5
2
1.5
10.50

Copyright TEF道

アンケートのフリーコメント
・短い割りに集中してできた。
・集中してできた。
・あっという間に1時間経過した。
・フリーでやっているときよりも時間が短く感じた。
・ワクワクしながらできた。（人の作業を気にしながら）・時間が早かったと思った。
・隣の人がガリガリやっているのを意識してしまった。

意識は変わったのか？
• バグを発見することで自分のポイントとなるため、積極的に見つけようとしていた。
• その行動自体はテスターの行動と一緒である。
• 個人で優勝した人はもともとテストが好きではないエンジニアだった。

O谷君

Copyright TEF道

バグは出たのか？
• 想定よりも出すことができた• 全バグ発見数（重複含む） 58件• 発見効率 6.4件/時間• 有効発見バグ件数 22件• 発見効率 2.4件/時間• ランクA：0件• ランクB：5件• ランクC：16件• 確認待ち：1件＜参考＞ 回帰試験 13種
実施時間
95時間
バグ件数
9件
発見効率 0.093件/時間※試験仕様書作成時間は含まない• 内訳• 開発バグ： 7件• APL対応： 8件• バグ ：5件• 変更要求： 1件

Copyright TEF道

ただしリリース後のバグがなくなっているかは追跡していく必要がある

まとめ

まとめ

Copyright TEF道

まとめ• チームで戦略立案を実施したり、個人間、チーム間で競争をすることが楽しさを生み出していた。

• 参加したエンジニアはバグを見つけたい！という意識でテストを実施することができた。

• ゲーミフィケーションには人の行動を変える力があるので、楽しみながらテストを実施してみましょう。

Copyright TEF道

“仕事”と”楽しさ”は両立します！

Enjoy testing!
さらに楽しい開発を！

Copyright TEF道

Appendix

Copyright TEF道

課題• ゲームバランスの調整• ゲーム性を高めるUIの構築• バグ報告の簡易化• 重複バグへの対策• 通常の開発プロセスへの普遍的な適応

Copyright TEF道

ゲーミフィケーションの参考文献• ゲーミフィケーション ＜ゲーム＞がビジネスを変える 井上明人
• http://www.amazon.co.jp/dp/4140815167• ウォートン・スクール ゲーミフィケーション集中講義• http://www.amazon.co.jp/dp/4484131242• ゲームにすればうまくいく 深田浩嗣
• http://www.amazon.co.jp/dp/4140815361• 「仕事のゲーム化」でやる気モードに変える 長尾一洋・清永 健一• http://www.amazon.co.jp/dp/4788908107/• ゲームの力が会社を変える - SlideShare• http://www.slideshare.net/kensukeo/ss-15382349• ゲーミフィケーションの実例• http://esatrick.com/?paged=7

Copyright TEF道

Microsoftの品質ゲーム• Microsoftのロス・スミスはテストグループのリーダーだった。
• Microsoft製品には何百人の開発者が携わり、繰り返し修正が加えら•れ、各言語毎にバージョンがリリースされてきたためバグを探し出すのは大変だった。
スミスは“品質ゲーム”という概念を開発した。

• メッセージボックスの疑わしい言葉を一つ見つけるたびに1ポイントが••付与されるポイントに基づいてリーダーボードが公表される
個人スコアと地域別スコアが評価対象となっている• ランゲージクオリティゲームと呼ばれたこの取り組みの結果は以下のようになった。

• 参加者は4500人• チェックしたダイアログボックスは50万以上• 報告されたバグは6700件以上
Copyright TEF道

モチベーションの話
マズローの5段階欲求

自己実現欲求モチベーション3.0
ゲーミフィケーションで最終的に狙いたいところ

モチベーション
3.0

内発的動機付けゲーミフィケーションの仕組みが直接効くところ

尊厳欲求

社会的欲求

モチベーション
2.0

外発的動機付け

アメムチ
安全欲求

生理的欲求

Copyright TEF道

モチベーション
1.0

実施後の感想（5人分）• 短い割りに集中してできた。
• 慌しかった。
• 集中してできた。
• 途中から飽きた。
• 時間的にはこのくらい（1時間）が限界。。。
• あっという間に1時間経過した。
• まだ触り足りてない気がする。
• フリーでやっているときよりも時間が短く感じた。
• ワクワクしながらできた。（人の作業を気にしながら）• 時間が早かったと思った。
• 知識がなくて別の機能からのアクセスを触れなかった。
• 隣の人がガリガリやっているのを意識してしまった。
• 集中できなかった。どんなテストをしようか考えているだけで終わってし•まった。
テスト自体もあまりできなかった。
Copyright TEF道

回帰テストの結果

診断管理（FDC）
GC
ユーザー管理モジュール制御基盤
EA_ControlProcedure
アドイン
パラメータ管理
環境設定
オンライン
回帰試験
レシピ管理
TINABASE
メモリリーク
回帰試験
Copyright TEF道

試験項目
環境構築 テスト時間 不具合数
数66.502920710100.2

2170.5
5
15.5
1
4.5
0.5
33.2

1377
6.5
27
3
3.25
3.5
95.75

1
1002
1
009