Slide 1

Slide 1 text

LT大会 #12 ~今だから言える?〇〇な話~ GitHub Projectを使ってイケてるテストライフ フューチャー株式会社 CSIG FutureVulsチーム所属 木戸俊輔 Copyright ©2021 by Future Architect, Inc. 1

Slide 2

Slide 2 text

自己紹介 • 名前:木戸俊輔 • 出身:大阪 • 趣味:ストリートダンス、ボドゲ • 社内経歴: 2020年4月新卒入社 2020年7月CSIG(Cyber Security Innovation Group)に配属 FutureVulsチームで脆弱性管理サービスのフロント開発を担当 • 近況: 運動不足なので、1ヵ月前にランニングウェア・シューズを購入。 通算2回のランニングに成功。 Copyright ©2021 by Future Architect, Inc. 2

Slide 3

Slide 3 text

今日話すこと テーマ:GitHub Projectを使ってイケてるテストライフ テスト管理に関する色んな問題を解決するついでに、Excelを脱出して、 GitHub Projectにテスト管理を任せてみた話をします。 Copyright ©2021 by Future Architect, Inc. 3

Slide 4

Slide 4 text

背景 - FutureVulsチームではFutureVulsというSaaSの脆弱性管理サービスを提供している - 1 ~ 2 ヵ月に1回程度の頻度で新機能をリリース - リリースの度にテストが必要 - テストケースはExcelで管理 Copyright ©2021 by Future Architect, Inc. 4

Slide 5

Slide 5 text

Excel脱却のきっかけ テストケースの不備を修正するついでにテスト管理を見直すことに。 - テストケースに不備 - シナリオが不十分・古い - Excelのフォーマットが統一されていない - 自動テストがシナリオに対応付けられていない - 新規の用意が面倒 - 表管理ソフトでってのが何かイケてない Copyright ©2021 by Future Architect, Inc. 5

Slide 6

Slide 6 text

どうやって管理する? 選ばれたのはGitHub Projectでした。 Copyright ©2021 by Future Architect, Inc. 6

Slide 7

Slide 7 text

GitHub Projectとは GitHub Projectとは、GitHub上で使えるプロジェクトボードである。 - カード形式で管理 例)to do - 同アカウント内のIssueをカード化できる - automation 機能がある Copyright ©2021 by Future Architect, Inc. 7 https://docs.github.com/ja/issues/organizing-your-work-with-project-boards /managing-project-boards/about-project-boards

Slide 8

Slide 8 text

選ばれた理由 Copyright ©2021 by Future Architect, Inc. 8 - Product Backlogの管理をGitHub Projectで行っている - テスト管理サービスの利用を断念 - 欲しい機能がない・無駄な機能が多い - お金がかかる - 使い方覚えるのが面倒 - イケてそう

Slide 9

Slide 9 text

どんな感じでテスト管理するか Copyright ©2021 by Future Architect, Inc. 9

Slide 10

Slide 10 text

構成 テストケースをjsonファイルで保持し、GitHub Projectでカード化、管理する。 Copyright ©2021 by Future Architect, Inc. 10 テストケース用レポジトリ .json ファイル GitHub Project 自動テスト 手動テスト GitHub API でカード化 テストをパスした カードをクローズ テストを実行し カードを振り分ける

Slide 11

Slide 11 text

テストケースの管理 カテゴリごとにjsonファイルでテストケースを管理。 一意なkeyと、対応するテストの題・手順・結果などで構成。 - アプリのソースコードと同じようにバージョン管理ができる - フォーマットがシンプルに統一されている - key割り当てるのはちょっと面倒 Copyright ©2021 by Future Architect, Inc. 11

Slide 12

Slide 12 text

テスト用Projectの作成 前述のjsonを元にGitHubでissueを作成しカード化する。 - GitHub Actionのボタンポチでカンタン用意 - タグをつけたりできる - GitHub APIのレート誓約で時間はかかる Copyright ©2021 by Future Architect, Inc. 12

Slide 13

Slide 13 text

自動テストの実行 自動テストが実行されると、保証されたシナリオに対応するカードをclose。 - GitHub Actionのボタンポチでカンタン実行 - カードに自動テストタグをつけることでぱっと見でわかる Copyright ©2021 by Future Architect, Inc. 13

Slide 14

Slide 14 text

手動テスト 未テストのカードをテストして pass or error に割り振っていく。 - 更新の記録(実行者・更新日時など)が全てissueに記録される - キャプチャや再現手順はissueにコメントで残す Copyright ©2021 by Future Architect, Inc. 14

Slide 15

Slide 15 text

使ってみた感想 Copyright ©2021 by Future Architect, Inc. 15 - テストの進捗状況がリアルタイムで一目でわかる - ソースコードからProject Backlog、テストまでがGitHub上で管理されてるから楽 - 質問時などテストの共有が楽(urlぽん) - なんかイケてそうな感じ テスト管理法もアジャイルの中で随時アップデートし、 より良い製品づくりにつなげていくことが大事だなぁと。

Slide 16

Slide 16 text

まとめ テスト管理に関する色んな問題を解決するついでに、Excelを脱出して、 GitHub Projectにテスト管理を任せてみた話の共有でした。 Copyright ©2021 by Future Architect, Inc. 終 16

Slide 17

Slide 17 text

終わった今だから言える LT大会参加と発表内容まで決めた後で、 テーマを知りました。 テーマフル無視でゴメンナサイ。 Copyright ©2021 by Future Architect, Inc. 17