本記事は「MIXI DEVELOPERS Advent Calendar 2024」の22日目の記事です。
はじめに
普段、業務をする中で Google Apps Script (GAS)を使用し、便利ツールのひとつとして業務の効率化を行なっているので、僕のチーム内の事例を紹介します。ツールを作ってくれた他のメンバーにも感謝!以下の事例は QA っぽいものもあれば、職種問わず集団でお仕事をされている人なら使いそうなものも混ざっていそうですね。
お読みいただいている皆様が
- 便利そうだから取り入れてみよう
- QA ってこんなことしてるんだ、こんなこと効率化したいんだ
- 具体的にどう書いているのだろう
- いや、これは実はもっと良い実現方法がある
といったことを感じていただけるとありがたいなと思います。ご感想お待ちしております!
Let's 列挙!
■QA タスクのアサインを自動で選出するとともにテストケースが作成され、Slack に通知されるツール
- 背景
- 毎週いくつも依頼があり、一時的にひとりが複数持つような定常的な QA タスクを毎回誰にアサインするか迷う時間をなくしたい
- 可能であれば、その QA タスクの所持数の少ない人からアサインされるようにしたい
- ついでに、テストケースに担当者名や内容が記載された状態でその人に Slack 通知が飛ぶようにしたい
- やったこと
- スプレッドシートでタスク管理表を用意し、メンバーの所持数一覧がわかる箇所を用意する
- 所持数一覧には名前の隣に Slack のメンバー ID も記載しておく
- GAS で以下のスクリプトを作成し、新しいタスクを管理表に追加した後、走らせる
- メンバーの所持数一覧を取得し、数の少ない人からランダムで選出する
- 新しいタスクの担当者欄に選出されたメンバーの名前が貼られる
- 所持数一覧は名前を COUNTIF しているのでこの時点で所持数は +1 される
- テストケースのテンプレートがコピーされ、担当者名とタスクの内容が貼られる
- Slack の api を使ってタスクの概要、テストケースのリンクをメンション付きで投稿する
- その結果
- 所持数を気にしながら誰にアサインするのか迷うことがなくなった
- メンバーは Slack 通知でアサインされたことがすぐに気づけるようになった
■デバッグ api の連携ツール
- 背景
- サーバーチームが QA 時に便利なデバッグツールを用意してくれている
- QA 時、スプレッドシートを開きながらその api を叩きたいと思った
- やったこと
- GAS で以下のスクリプトを作成
- スプレッドシートの特定の値を取得して、その値を header や request body に載せてデバッグ api を叩く
- api のレスポンスをスプレッドシートに貼り付ける
- GAS で以下のスクリプトを作成
- その結果
- 例えば以下のようなことを実行
- ユーザー名からユーザー ID を取得するようなものをまず叩いて ID を取得した上で、そのまま別のデバッグ api を叩く
- 複数のユーザー名がスプレッドシート上にあり、そのユーザー全てに対して同じデバッグ api を使った何かを実行する
- マスターデータのチェックにおいて、スプレッドシート上に貼り付けたデータの値を用いてデバッグ api を叩く
- 例えば以下のようなことを実行
■Slack 上で行なった不具合報告を「不具合一覧」として分析用のスプレッドシートに自動でまとまるツール
- 背景
- シンプルかつ修正もすぐにできるような QA において、フィードバックの早さをメリットとして slack で不具合報告をしている
- QA の依頼が来た投稿に対し、スレッドで不具合を報告している
- 報告した内容を不具合一覧シートにまとめ、不具合分析や改善に繋げたい
- やったこと
- 不具合報告の投稿に特定のリアクションをつけるようにチーム内でルールを設ける
- GAS で以下のスクリプトを作成
- 翌日、slack の api を用いて前日の投稿を取得し、そのうち特定のリアクションが押されているものを抽出する
- 該当の投稿の内容、投稿した人、そのスレッドの親投稿の内容(どの依頼に関する報告なのかもわかるように)を取得し、「不具合一覧」のスプレッドシートに貼り付ける
- その結果
- 報告者はリアクションをつけるだけで自動でリスト化されていき、後からみんなで振り返ることができる
■その他
- 定例ミーティングの議事録(Google ドキュメント)自動作成と当日の Slack リマインド
- スプレッドシートにまとまっているタスク一覧のうち、当日が締切のタスクを Slack リマインド
- 特定の件名のメールが届いたら Slack リマインド
- スプレッドシートに貼り付けたデータと、期待値が書かれている別のファイルを比較し自動チェック
まとめ
テスト管理ツールやバグ管理システムなど、QA 向けのツールを使えば上に書いたようなものは不要になることも多いですが、ツールを使わずに済んだり、より柔軟にカスタマイズできるスプレッドシートを使ったりする場合に GAS はとても便利なものになります。僕個人としては業務中 Slack を見る頻度が高いため、業務の記録や通知が Slack にまとまるのがとても助かっています。GAS で Slack 通知したがりかもしれません。笑
以上、何かの参考になれば幸いです。