手動テストの運用をGASで自動化した話Yuhei FUJITA
View Slide
自己紹介● 名前:Yuhei FUJITA(藤田 悠平)● 所属:アララ株式会社● Twitter:@Yuhei_FUJITA● GitHub:@YuheiFUJITA● GASとの出会い:最初に触ったプログラミング● 活動:コミュニティやカンファレンスの運営
VS Code Conference Japan 2022 - 2023 開催● 開催日:2023/01/21● 場所:Microsoft Base 代官山● 参加方法:オンライン or 現地🎉CfP募集中🎉(締切は今日)https://vscode.connpass.com/event/263206/
今回の舞台はテスト仕様書何でもできる便利なやつ
スプレッドシートを使った手動テストの運用
テンプレートを複製してテスト項目入力用のスプレッドシート(※1)を作成開発メンバーにテストの実施内容を入力してもらう手動テストの実施メンバーを3〜4人選出する実施メンバーの人数分のチケットを発行しスプレッドシート(※1)を複製する実施メンバーがテスト結果をスプレッドシートに入力する入力結果を1項目ずつ手動で集計していく(数項目〜数百項目 * 人数分)NGとなったテスト項目を洗い出す修正が必要なテスト項目に対して手動で修正チケットを発行していく(数件〜数十件)
テンプレートを複製してテスト項目入力用のスプレッドシート(※1)を作成開発メンバーにテストの実施内容を入力してもらう手動テストの実施メンバーを3〜4人選出する実施メンバーの人数分のチケットを発行しスプレッドシート(※1)を複製する実施メンバーがテスト結果をスプレッドシートに入力する入力結果を1項目ずつ手動で集計していく(数項目〜数百項目 * 人数分)NGとなったテスト項目を洗い出す修正が必要なテスト項目に対して手動で修正チケットを発行していく(数件〜数十件)1分5分半日〜1日1時間〜半日
やってらんねぇ
何でもできる便利なやつGASで自動化して手抜きしよう
システム化における要素【管理シート】実施情報の保存場所【テンプレート】複製元のテンプレート【テスト項目シート】テンプレートから複製【テスト項目シート】テスト実施結果入力用【集計シート】テスト結果の集計用【保存フォルダ】一連のファイルの保存先【GAS】管理シートに紐付け【Backlog】チケット管理ツール
自動化で利用したもの● Google Apps Script(GAS)○ コンテナバインドスクリプト● clasp○ ローカルで開発するため● Docker○ clasp実行環境用、無くてもいい● VS Code○ 開発環境統一のため● TypeScript○ 保守性を維持するため● Backlog API○ Backlogの情報取得とチケット発行で利用
claspはGASをローカルで開発するためのCLIhttps://github.com/google/clasp
GASで自動化していく
Backlog情報の取得管理シート1. 実行ユーザープロジェクト2. 取得3. 取得した情報を保存※1API KEYはPropertiesServiceのUserPropertiesに保存※2入力はSpreadsheetApp.getUi().prompt()から
テスト項目入力用シートの作成管理シートテンプレートテスト項目3. 複製する保存用フォルダ1. 実行2. 作成4. 保存する
テスト結果入力用シートの作成管理シートテスト項目複製 * 人数分3. 人数分を複製する保存用フォルダ1. 実行4. 保存するチケット5. テスト実施用チケットを発行する
テスト結果入力用シートの作成管理シートテスト結果集計結果3. 人数分のテスト結果を集計する保存用フォルダ1. 実行4. 保存する
修正用チケットの発行管理シート集計結果(要修正項目)1. 実行チケット2. 修正が必要なテスト結果を取得3. 修正内容を記載したチケットを発行
実際どれだけ時間短縮できたか?
テンプレートを複製してテスト項目入力用のスプレッドシート(※1)を作成開発メンバーにテストの実施内容を入力してもらう手動テストの実施メンバーを3〜4人選出する実施メンバーの人数分のチケットを発行しスプレッドシート(※1)を複製する実施メンバーがテスト結果をスプレッドシートに入力する入力結果を1項目ずつ手動で集計していく(数項目〜数百項目 * 人数分)NGとなったテスト項目を洗い出す修正が必要なテスト項目に対して手動で修正チケットを発行していく(数件〜数十件)30秒秒秒秒
秒。
得られたもの● 時間○ とにかく早い● 手動による見落としの排除○ 手動だとどうしても見落としが生まれる● 簡略化○ とにかく手順がワンクリックで完結する
GASしか勝たん