Upgrade to Pro — share decks privately, control downloads, hide ads and more …

手動テストの運用を GASで自動化した話 / gas-manage-test-operation

Yuhei FUJITA
December 06, 2022

手動テストの運用を GASで自動化した話 / gas-manage-test-operation

Yuhei FUJITA

December 06, 2022
Tweet

More Decks by Yuhei FUJITA

Other Decks in Programming

Transcript

  1. 手動テストの運用を
    GASで自動化した話
    Yuhei FUJITA

    View Slide

  2. 自己紹介
    ● 名前:Yuhei FUJITA(藤田 悠平)
    ● 所属:アララ株式会社
    ● Twitter:@Yuhei_FUJITA
    ● GitHub:@YuheiFUJITA
    ● GASとの出会い:最初に触ったプログラミング
    ● 活動:コミュニティやカンファレンスの運営

    View Slide

  3. VS Code Conference Japan 2022 - 2023 開催
    ● 開催日:2023/01/21
    ● 場所:Microsoft Base 代官山
    ● 参加方法:オンライン or 現地
    🎉CfP募集中🎉
    (締切は今日)
    https://vscode.connpass.com/event/263206/

    View Slide

  4. 今回の舞台はテスト仕様書
    何でもできる便利なやつ

    View Slide

  5. スプレッドシートを使った
    手動テストの運用

    View Slide

  6. テンプレートを複製して
    テスト項目入力用の
    スプレッドシート(※1)を作成
    開発メンバーに
    テストの実施内容を入力してもらう
    手動テストの実施メンバーを
    3〜4人選出する
    実施メンバーの人数分の
    チケットを発行し
    スプレッドシート(※1)を複製する
    実施メンバーがテスト結果を
    スプレッドシートに入力する
    入力結果を1項目ずつ
    手動で集計していく
    (数項目〜数百項目 * 人数分)
    NGとなったテスト項目を洗い出す
    修正が必要なテスト項目に対して
    手動で修正チケットを発行していく
    (数件〜数十件)

    View Slide

  7. テンプレートを複製して
    テスト項目入力用の
    スプレッドシート(※1)を作成
    開発メンバーに
    テストの実施内容を入力してもらう
    手動テストの実施メンバーを
    3〜4人選出する
    実施メンバーの人数分の
    チケットを発行し
    スプレッドシート(※1)を複製する
    実施メンバーがテスト結果を
    スプレッドシートに入力する
    入力結果を1項目ずつ
    手動で集計していく
    (数項目〜数百項目 * 人数分)
    NGとなったテスト項目を洗い出す
    修正が必要なテスト項目に対して
    手動で修正チケットを発行していく
    (数件〜数十件)

    View Slide

  8. テンプレートを複製して
    テスト項目入力用の
    スプレッドシート(※1)を作成
    開発メンバーに
    テストの実施内容を入力してもらう
    手動テストの実施メンバーを
    3〜4人選出する
    実施メンバーの人数分の
    チケットを発行し
    スプレッドシート(※1)を複製する
    実施メンバーがテスト結果を
    スプレッドシートに入力する
    入力結果を1項目ずつ
    手動で集計していく
    (数項目〜数百項目 * 人数分)
    NGとなったテスト項目を洗い出す
    修正が必要なテスト項目に対して
    手動で修正チケットを発行していく
    (数件〜数十件)
    1分
    5分
    半日〜1日
    1時間〜半日

    View Slide

  9. やってらんねぇ

    View Slide

  10. 何でもできる便利なやつ
    GASで自動化して手抜きしよう

    View Slide

  11. システム化における要素
    【管理シート】
    実施情報の保存場所
    【テンプレート】
    複製元のテンプレート
    【テスト項目シート】
    テンプレートから複製
    【テスト項目シート】
    テスト実施結果入力用
    【集計シート】
    テスト結果の集計用
    【保存フォルダ】
    一連のファイルの保存先
    【GAS】
    管理シートに紐付け
    【Backlog】
    チケット管理ツール

    View Slide

  12. View Slide

  13. 自動化で利用したもの
    ● Google Apps Script(GAS)
    ○ コンテナバインドスクリプト
    ● clasp
    ○ ローカルで開発するため
    ● Docker
    ○ clasp実行環境用、無くてもいい
    ● VS Code
    ○ 開発環境統一のため
    ● TypeScript
    ○ 保守性を維持するため
    ● Backlog API
    ○ Backlogの情報取得とチケット発行で利用

    View Slide

  14. claspはGASをローカルで開発するためのCLI
    https://github.com/google/clasp

    View Slide

  15. GASで自動化していく

    View Slide

  16. Backlog情報の取得
    管理シート
    1. 実行
    ユーザー
    プロジェクト
    2. 取得
    3. 取得した情報を保存
    ※1API KEYはPropertiesServiceのUserPropertiesに保存
    ※2入力はSpreadsheetApp.getUi().prompt()から

    View Slide

  17. テンプレートを複製して
    テスト項目入力用の
    スプレッドシート(※1)を作成
    開発メンバーに
    テストの実施内容を入力してもらう
    手動テストの実施メンバーを
    3〜4人選出する
    実施メンバーの人数分の
    チケットを発行し
    スプレッドシート(※1)を複製する
    実施メンバーがテスト結果を
    スプレッドシートに入力する
    入力結果を1項目ずつ
    手動で集計していく
    (数項目〜数百項目 * 人数分)
    NGとなったテスト項目を洗い出す
    修正が必要なテスト項目に対して
    手動で修正チケットを発行していく
    (数件〜数十件)

    View Slide

  18. テスト項目入力用シートの作成
    管理シート
    テンプレート
    テスト項目
    3. 複製する
    保存用
    フォルダ
    1. 実行
    2. 作成
    4. 保存する

    View Slide

  19. テンプレートを複製して
    テスト項目入力用の
    スプレッドシート(※1)を作成
    開発メンバーに
    テストの実施内容を入力してもらう
    手動テストの実施メンバーを
    3〜4人選出する
    実施メンバーの人数分の
    チケットを発行し
    スプレッドシート(※1)を複製する
    実施メンバーがテスト結果を
    スプレッドシートに入力する
    入力結果を1項目ずつ
    手動で集計していく
    (数項目〜数百項目 * 人数分)
    NGとなったテスト項目を洗い出す
    修正が必要なテスト項目に対して
    手動で修正チケットを発行していく
    (数件〜数十件)

    View Slide

  20. テスト結果入力用シートの作成
    管理シート
    テスト項目
    複製 * 人数分
    3. 人数分を複製する
    保存用
    フォルダ
    1. 実行
    4. 保存する
    チケット
    5. テスト実施用チケットを発行する

    View Slide

  21. テンプレートを複製して
    テスト項目入力用の
    スプレッドシート(※1)を作成
    開発メンバーに
    テストの実施内容を入力してもらう
    手動テストの実施メンバーを
    3〜4人選出する
    実施メンバーの人数分の
    チケットを発行し
    スプレッドシート(※1)を複製する
    実施メンバーがテスト結果を
    スプレッドシートに入力する
    入力結果を1項目ずつ
    手動で集計していく
    (数項目〜数百項目 * 人数分)
    NGとなったテスト項目を洗い出す
    修正が必要なテスト項目に対して
    手動で修正チケットを発行していく
    (数件〜数十件)

    View Slide

  22. テスト結果入力用シートの作成
    管理シート
    テスト結果
    集計結果
    3. 人数分の
    テスト結果を集計する
    保存用
    フォルダ
    1. 実行
    4. 保存する

    View Slide

  23. テンプレートを複製して
    テスト項目入力用の
    スプレッドシート(※1)を作成
    開発メンバーに
    テストの実施内容を入力してもらう
    手動テストの実施メンバーを
    3〜4人選出する
    実施メンバーの人数分の
    チケットを発行し
    スプレッドシート(※1)を複製する
    実施メンバーがテスト結果を
    スプレッドシートに入力する
    入力結果を1項目ずつ
    手動で集計していく
    (数項目〜数百項目 * 人数分)
    NGとなったテスト項目を洗い出す
    修正が必要なテスト項目に対して
    手動で修正チケットを発行していく
    (数件〜数十件)

    View Slide

  24. 修正用チケットの発行
    管理シート
    集計結果
    (要修正項目)
    1. 実行
    チケット
    2. 修正が必要なテスト結果を取得
    3. 修正内容を記載したチケットを発行

    View Slide

  25. 実際どれだけ時間短縮できたか?

    View Slide

  26. テンプレートを複製して
    テスト項目入力用の
    スプレッドシート(※1)を作成
    開発メンバーに
    テストの実施内容を入力してもらう
    手動テストの実施メンバーを
    3〜4人選出する
    実施メンバーの人数分の
    チケットを発行し
    スプレッドシート(※1)を複製する
    実施メンバーがテスト結果を
    スプレッドシートに入力する
    入力結果を1項目ずつ
    手動で集計していく
    (数項目〜数百項目 * 人数分)
    NGとなったテスト項目を洗い出す
    修正が必要なテスト項目に対して
    手動で修正チケットを発行していく
    (数件〜数十件)
    1分
    5分
    半日〜1日
    1時間〜半日

    View Slide

  27. テンプレートを複製して
    テスト項目入力用の
    スプレッドシート(※1)を作成
    開発メンバーに
    テストの実施内容を入力してもらう
    手動テストの実施メンバーを
    3〜4人選出する
    実施メンバーの人数分の
    チケットを発行し
    スプレッドシート(※1)を複製する
    実施メンバーがテスト結果を
    スプレッドシートに入力する
    入力結果を1項目ずつ
    手動で集計していく
    (数項目〜数百項目 * 人数分)
    NGとなったテスト項目を洗い出す
    修正が必要なテスト項目に対して
    手動で修正チケットを発行していく
    (数件〜数十件)
    30秒



    View Slide

  28.  秒。

    View Slide

  29. 得られたもの
    ● 時間
    ○ とにかく早い
    ● 手動による見落としの排除
    ○ 手動だとどうしても見落としが生まれる
    ● 簡略化
    ○ とにかく手順がワンクリックで完結する

    View Slide

  30. GASしか勝たん

    View Slide