ソフトウェアのテストは楽しいですか?
QAの方々、テストを楽しんでいますか?
仕事なので、正直つらいこともあると思います。
- 繰り返し作業がつらい
- 同じようなテストを繰り返し行う必要がある場合、単調な作業となり精神的につらい
- 再現性のないバグがつらい
- 仕様の頻繁な変更がつらい
今回は、これらのつらさと立ち向かうために、テストを楽しんでいく方法を考えてみました。
楽しむにはどうしたらいいか
ソフトウェアテストをゲームを遊ぶように楽しくする方法を考えます。
ちなみに、 このようにゲームの仕組みを応用することをゲーミフィケーションといいます。
※ゲーミフィケーション(英: gamification)は、コンピュータゲームのゲームデザイン要素やゲームの原則をゲーム以外の物事に応用することを言う。
(引用 wikipedia)
楽しむための要素
導入する要素
難易度
- チュートリアルの追加
- 初心者が初めてテストするときは何をするべきかがわからないと思います。順番に実施すれば最低限の操作はわかるようなチュートリアルを用意する。
- (例) オンボーディングの充実
- 初心者が初めてテストするときは何をするべきかがわからないと思います。順番に実施すれば最低限の操作はわかるようなチュートリアルを用意する。
難易度調整
- Easyモード/Normalモード/Hardモード
- Hardモードしかないゲームは、一部の人しかプレイしないでしょう。実施する人のレベルに応じて難易度を調整できるようにする。
- (例) タスク毎に難易度付をして、適切に割り振る
- Hardモードしかないゲームは、一部の人しかプレイしないでしょう。実施する人のレベルに応じて難易度を調整できるようにする。
達成感の可視化
- ポイント・実績システム
- テストを実施するごとにポイントを獲得できるようにする。ポイントはテストの厳密度や重要度に応じて異なる値を設定する。
- バグの発見でポイントを獲得できるようにする。難解なバグを見つけると、ボーナスポイントを獲得する。
- 全員のポイントを可視化してランキングで表示する。
- 特定の条件や成果に基づいて特別な実績や称号を獲得する。
- 成績に応じてレベルアップようにする。
ソーシャル
-
ロールプレイ
- 人をキャラクター化し、何をする人かすぐにわかるようにしてみる。
-
協力プレイ
- チームを作成して、チームの合計ポイントを使って、チームランキングを導入する。協力プレイにより、メンバーが協力して目標を達成するようになる。
-
対戦プレイ
- 特定の機能について、同時にテストを開始し、どちらがよりバグを発見できるか、対戦するイベント等を行う。
4. 最後に
みなさんの仕事が少しでも楽しいものになり、、QAエンジニアが増えてくれることを願っています。