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

これから始めるDevOps! CI/CD連携を活用してリグレッション テストを自動化しよう!

odasho
October 25, 2023

これから始めるDevOps! CI/CD連携を活用してリグレッション テストを自動化しよう!

2023/10/25 mablWebinarにて使用したスライドです。

odasho

October 25, 2023
Tweet

More Decks by odasho

Other Decks in Technology

Transcript

  1. Speaker Profile odasho (Shohei Oda) Quality Advocate / Product Marketing,

    mabl Japan 国内SIerにてインフラやPaaS App開発まで幅広く経験。その 後コミュニティ活動をきっかけにMicrosoftに入社。 EvangelistとしてAudience Marketingに従事。2022年10月 にmablにJoinし、TestingやQAの啓蒙活動に取り組む。現在 もDevRel Meetup in Tokyoを中心に複数のコミュニティを運 営/支援。iPhone絶対並んで買うおじさん(2011 - 2023) Most DevRel Committer 2020、名城大学情報工学部講師 odashoDotCom odasho0618 odasho odasho0618
  2. About the mabl University How-to Videos (English only) How-to Lessons

    (Japanese only) On-Demand Training (English & Japanese) mabl Skills Certifications (English & Japanese) • 33 ビデオ (各3 - 8 分程度) • 英語字幕あり、日本語字幕なし • 26 レッスン • Step by stepで学習可能 • 4 ラーニングパス • 設定、基礎、高度、統合でそれ ぞれ30 - 90 分の学習パス • 学習目標に応じたパスを提供 • 3 つの資格 • Foundations と Advanced • NonFunctional ←NEW • LinkedIn に掲載可能
  3. What's mabl? • 「めいぶる」と読みます • Stackdriver(現Google Cloud Operations)の創 業者IzzyとDanが2017年ボストンで創業 •

    グローバルの社員数100人+ • GV、CRV、Amplify、Vista Equity Partner、 Presidioより 7,700万ドル (90億円) を調達 • 2021年度の売上、前年対比300%+増 • Fortune Globalの35社含む300社+が採用 • 2021年8月に日本法人設立
  4. 10倍 早くテスト実行 より良い品質のソフトウェアをより早く提供 ROI data based on customer case studies

    compared to Selenium frameworks and other commercial tools 3倍 早くテストを構築 速く作る 効率改善 コスト削減 高速化 70% メンテナンス時間を削減 80% Seleniumより低コスト
  5. ★ 必要なもの ★ • Azure Static Web Apps • ※無料アカウントでOK

    • GitHub のレポジトリ ※ ChatGPT Advanced Data Analysis で コード出力したシンプルなHTMLを用意 • mabl アカウント ※トライアルアカウントでOK
  6. mabl ワークスペースの構造・概要 環境 e.g.サンドボックス 環境 e.g. ステージング 環境 e.g. 本番

    アプリケーション アプリケーション アプリケーション ワークスペース テスト プラン テスト テスト テスト テスト テスト プラン プラン プラン テスト テスト プラン プラン テスト • ワークスペース: mablの基本的な構成要素であり、mabl の主要コンポーネントがすべて格納されている • 環境: ソフトウェア開発ライフサイクルのステージ (サンド ボックス、開発、本番など ) • アプリケーション: テスト対象となるソフトウェア アプリケーションやウェブアプリケーションの URL • プラン: mablでテストを実行するための計画や設定を 備えたテストグループ • テスト: 自動化されたエンドツーエンドのテスト e.g. ブラウザテスト、 APIテスト
  7. テスト環境設定 • 左端のナビゲーションメニューか ら「テスト環境設定」を選択 • 右に表示される「新規アプリケー ション」を選択 • New applicationから下記項目を

    入力し、保存 ◦ Application name ◦ 説明 ※任意 ◦ WebアプリケーションのURL ◦ 環境名 (今回は事前設定した Sandbox)
  8. mabl ワークスペースの構造・概要 環境 e.g.サンドボックス 環境 e.g. ステージング 環境 e.g. 本番

    アプリケーション アプリケーション アプリケーション ワークスペース テスト プラン テスト テスト テスト テスト テスト プラン プラン プラン テスト テスト プラン プラン テスト • ワークスペース: mablの基本的な構成要素であり、mabl の主要コンポーネントがすべて格納されている • 環境: ソフトウェア開発ライフサイクルのステージ (サンド ボックス、開発、本番など ) • アプリケーション: テスト対象となるソフトウェア アプリケーションやウェブアプリケーションの URL • プラン: mablでテストを実行するための計画や設定を 備えたテストグループ • テスト: 自動化されたエンドツーエンドのテスト e.g. ブラウザテスト、 APIテスト
  9. プラン作成 1. 左端のナビゲーションメニューか ら「プラン」を選択 2. 右に表示される「新規プラン」 を選択 3. 新規プランの追加から下記項目 を入力し、プランの保存

    ◦ プラン名 ◦ 説明 ※任意 ◦ ラベル ※任意 (GitHub Actionsの ymlファイル設定時に利用 ) ◦ 環境 (直前に設定した Sandbox) ◦ デバイスやブラウザ etc 4. テストは(現時点では)削除
  10. mabl ワークスペースの構造・概要 環境 e.g.サンドボックス 環境 e.g. ステージング 環境 e.g. 本番

    アプリケーション アプリケーション アプリケーション ワークスペース テスト プラン テスト テスト テスト テスト テスト プラン プラン プラン テスト テスト プラン プラン テスト • ワークスペース: mablの基本的な構成要素であり、mabl の主要コンポーネントがすべて格納されている • 環境: ソフトウェア開発ライフサイクルのステージ (サンド ボックス、開発、本番など ) • アプリケーション: テスト対象となるソフトウェア アプリケーションやウェブアプリケーションの URL • プラン: mablでテストを実行するための計画や設定を 備えたテストグループ • テスト: 自動化されたエンドツーエンドのテスト e.g. ブラウザテスト、 APIテスト
  11. テスト実行方法概要 mablのテスト実行方法は大きく2種類 • クラウド実行 ◦ mablのクラウド環境上でのテスト実行 ◦ mablのフル機能を使用可能 ◦ 完成したテストの定期実行を行う等

    • ローカル実行 ◦ ローカル環境でのテスト実行 ◦ mablの一部機能を使用可能 ◦ 作成したテストの確認を行う等 Source: https://help.mabl.com/docs/test-execution クラウド実行 ローカル実行 単一テスト実行スピード 速い 最速 複数テスト実行スピード 最速 速い 並列実行 無制限 不可 スケジューリング 可能 自作スクリプト レポーティング フル提供 なし ログデータ フル提供 Pass/Failのみ クロスブラウザ サポート Chromeのみ インサイト情報(auto-heal, visual, JS error etc.) フル提供 なし 月次実行回数へのカウント カウントする カウントしない
  12. https://github.com/apps/mabl-bot GitHub Integration Deployment action Run mabl tests action Actions

    2.0 Deployments API Tests Test Results API DEPLOYMENT EVENT POLL FOR TEST RESULTS TRIGGER
  13. Step 2 連携設定 1. 「APIキー」作成の完了を確認し、 「Key」を控えておく 2. mabl CLIにて、事前作成した 「アプリケーション」と

    「環境」を選択して、表示 されたターミナルコマンドから 「--application-id」 「--environment-id」を それぞれ控えておく
  14. Step 3 連携設定 1. GitHubの Setting から Sercrets and variables

    を選択しActions から「New repository secret」 を選択 2. Nameを「MABL_API_KEY」、先 にmabl上で作成した「Key」を Secretに入力し、Add secretをク リック
  15. Step 3 連携設定 1. workflowsフォルダ内の static.yml を右記のように 書き換え ◦ mablhq/[email protected]

    に修正 ◦ 控えた application-id, environment-id を入力 ◦ 参考サイトを真似て plan-labels: | を追加 参考サイト: https://github.com/marketplace/actions/run-mabl-tests 2. 「Commit changes…」ボタンを押下後、GitHub Actions が自動実行されるので、Complete するこ とを確認
  16. 失敗時の確認項目 • mablの設定 ◦ プランラベル設定、プラン有効化確認 (テスト追加前はプランは無効状態 ) ◦ 適切な API

    キー、アプリケーションや 環境の ID を選択 • GitHubの設定 ◦ MABL_API_KEY の設定 (Repository secrets に追加) ◦ yml ファイル設定 (最新Verの適用、plan-labels: | の追加)
  17. mabl user community! mabl の User Community『mablers_jp』 • ユーザーによるユーザーのための コミュニティ

    • ユーザーによる忖度のない生の声を聞く 絶好のチャンス。是非ご参加ください! https://mablersjp.connpass.com/
  18. Join the community! 11/1 FUJIYAMA Tech Showcase #0 • 第0回のテーマは『テスト』!

    Postmanさん、MagicPodさんと共同で登壇 • mablのAPIテストについて解説します!
  19. Join the mabl Experience Japan! 11/22 mabl experience’23 Japan •

    昨年より2倍のスケールでお届け! オンラインにて開催します。 • https://experience.mabl.com/ja/
  20. Questions? odasho (Shohei Oda) Quality Advocate / Product Marketing, mabl

    Japan odashoDotCom odasho0618 odasho odasho0618