テスト自動化導入をゲームブック形式で学べるワークショップ~JaSST'22 Tohokuワークショップ作成/運営話 前編~

はじめに

2022/5/27(金)にJaSST'22 Tohokuがオンサイト(いわて県民情報交流センター)/オンラインのハイブリッド開催されました。
この会のワーク担当として活動していたので、ワークショップの作成/運用話をまとめます。
同じようなワークショップをやりたい人の参考になれば幸いです。
www.jasst.jp

ツイートのまとめ記事もあります。
togetter.com

今回は前後編の前編です。内容は以下となります。

  • 【前編】ワークショップ概要
  • 【前編】何でゲームブック形式のワークショップを作ることになったのか
  • 【前編】ワークショップ設計プロセス
  • 【後編】ワークショップで使用したツール
  • 【後編】ワークショップ運営の工夫
  • 【後編】ワークショップ後日談

ワークショップ概要

JaSST'22 Tohokuのワークショップは「あなたの1票が未来を決める、参加者投票式マルチエンディングストーリーなワークを行います。テスト自動化にまつわるストーリーを体験する、ゲームブック形式のセッション*1」です。

「なんだそれは?」となりますが、「ストーリー形式で話が進み」「途中で選択肢が用意され」「選んだ選択によってその後のストーリーが変わる」形式のワークショップになります。同様の形式として、ゲームブック*2があることから、ゲームブック形式と呼んでいます。実際は有名ノベルゲームを模した作りとなっていますが…

ストーリーや選択肢はテスト自動化導入に沿ったものを用意しました。参加者の選択肢への回答はDiscordと投票botアプリを用いた投票によって行いました。

何でゲームブック形式のワークショップを作ることになったのか

ざっくり、以下のような流れで決まりました。

前提

  • JaSST東北では毎回、実行委員企画による参加者が手を動かす/頭を使うワークショップの時間を用意している。
  • JaSST'22 Tohokuはオンサイト/オンライン開催を想定している。

決まるまでの流れ

  1. オンサイトだと全員参加のワークショップができるけど、オンライン参加だと途中で抜けなければならない人がいるはず。グループワークのような参加し続ける必要のあるものは参加しにくくなる。
  2. Discordでアンケートを取ることができる。アンケート投票機能を使って問題の回答を投票してもらえるようにすれば、参加しやすいし、聞いている人も負担にならなそう。
  3. ストーリー形式にして、投票で選んだ選択肢によってストーリーが変わると面白いかも!
  4. 実行委員長「選んだ選択肢でストーリーが変わるって、どんなイメージ?」
  5. 実行委員「『かまい〇ちの夜』みたいな感じ」
  6. 知らない実行委員長にWebで「〇まいたちの夜」の情報を見せる
  7. 実行委員長「じゃあ、今年のワークは『か〇いたちの夜』で!」

…だいたい合っているはずです。

さすがに『かま〇たちの夜』の名称をそのまま出すわけには行かないので、近い形式である「ゲームブック」形式として呼称することになりました。*3

ゲームブック形式でのテスト技術者育成の先駆者

JaSST'19 Hokkaidoにて、探索的テストの技術向上にゲームブック形式の演習を取り入れていた事例紹介があることを教えていただきました。ありがとうございます!

ワークショップ設計プロセス

ワークショップをどのような流れで作成したかを説明します。ワークショップが90分は初期から決まっていましたが、どのくらいのボリュームがあれば90分になるのかの見通しがありませんでした。そのため、5分岐×5シナリオを目安に作成を開始しました。最終的には5分岐×4シナリオになっています。*4

初期に想定していたこと

  • ワークの問題は正解/誤りの判断根拠を明確にする。根拠が無いと参加者が理解を深めることができない。
  • ワークの分岐文章は行動を決めるものにする。知識の正否を問うものではない。身につけて欲しいのは知識の先にある行動の決断。
  • ワークのストーリー文章は主観(一人称)で書く。自動テスト導入の流れを疑似体験できるように。

プロセス

  1. 対象領域(ターゲット)を決める
  2. 問題の元となる技術文書とその項目を集める
  3. 分岐選択肢をつくる
  4. 正解概要シナリオをつくる
  5. 失敗分岐概要シナリオをつくる
  6. シナリオを元に資料に起こす
  7. 資料にリンクを貼る
  8. 資料に音声を付ける
1. 対象領域(ターゲット)を決める

シナリオがどのような属性をターゲットにするのかの候補を洗い出しました。この属性だと、こんな技術要素が出てきそうだ、というの洗い出しています。

対象領域検討
2. 問題の元となる技術文書とその項目を集める

いくつか参考となる技術文書をワーク担当者で読み、問題として使えそうな項目の洗い出しを行いました。どんな形で使うかはこの時点では分からなかったので「問題として使えそう」なものを広く集めています。

問題の元となる技術文書と項目を集める
3. 分岐選択肢をつくる

対象領域に対して5分岐分の問題を作りました。この時点ではシナリオまでは考えていないので「使うならこんな感じかな」という感覚で出しています。

分岐選択肢をつくる(開発者編)
4. 正解概要シナリオをつくる

分岐選択肢がすべて正解した場合を想定した概要シナリオを作成します。実際にシナリオを付けてみると、用意した問題が使いにくいことが分かったりして、この段階で問題の再検討が良く起きました。

正解概要シナリオ(開発者編)
5. 失敗分岐概要シナリオをつくる

用意した正解概要シナリオを元に、失敗分岐用の概要シナリオを用意します。失敗分岐の管理を複雑にすると作業難易度が大きく上がることから、基本的に1つ失敗したら終了にする方針としています。そのため、マインドマップなどの木構造でシナリオが管理できています。

失敗分岐概要シナリオを作る(組込開発者編)
6. シナリオを元に資料に起こす

作成した概要シナリオを元にプレゼン用の資料を作りました。この段階になるとページ割を意識しながらシナリオを作成することになります。シナリオはここで本番と同様のものが出来上がります。また、この段階で問題ごとに1ページの解説を作っています。

資料に起こす(プロジェクトマネージャ編)
7. 資料にリンクを貼る

資料の分岐に対して、選択による遷移先の資料内リンクを貼ります。資料はPowerPointで作成しているので、その機能を使っています。

資料にリンクを貼る(組織管理者編)
8. 資料に音声を付ける

資料の文章に合わせて、音声を用意します。ページごとの文章に音声.wavファイルを用意して資料に貼り付けています。

資料に音声ファイルを付ける(組織管理者編)

*1:JaSSTソフトウェアテストシンポジウム-JaSST'22 Tohoku-タイムテーブル

*2:≒ノベルゲーム

*3:実行委員内では最後まで「かまいた〇」って呼んでましたが…

*4:本番で使用したのは2シナリオです