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 full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

  9. やってらんねぇ

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

  14. GASで自動化していく

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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



    View full-size slide

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

    View full-size slide

  28. GASしか勝たん

    View full-size slide