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

アーキテクチャで理解する テスト自動化システム Developers Summit 2023 Summer

アーキテクチャで理解する テスト自動化システム Developers Summit 2023 Summer

Developers Summit 2023 Summer
A-3
アーキテクチャで理解するテスト自動化システム

mabl株式会社おだしょーさんと
株式会社カカクコム伊藤由貴の発表資料です。

https://event.shoeisha.jp/devsumi/20230727/session/4455/

YoshikiIto

July 27, 2023
Tweet

More Decks by YoshikiIto

Other Decks in Technology

Transcript

  1. スピーカー紹介 odasho (@odashoDotCom) Quality Advocate / Product Marketing, mabl Japan

    国内SIerにてインフラやPaaS App開発まで幅広く経験。その 後コミュニティ活動をきっかけにMicrosoftに入社。 EvangelistとしてAudience Marketingに従事。2022年10月 にmablにJoinし、TestingやQAの啓蒙活動に取り組む。現在 もDevRel Meetup in Tokyoを中心に複数のコミュニティを運 営/支援。 Most DevRel Committer 2020、名城大学 情報工学部講師 伊藤 由貴 (@yoshikiito) QAエンジニア, 株式会社カカクコム 株式会社ベリサーブにてテスト自動化導入支援や技術推進など を経験し、2023年に株式会社カカクコムにJoin。 部門一人目のQAエンジニアとして、QA組織立ち上げや各開発 チームでの品質向上活動を行っている。 JSTQB AL テスト自動化シラバス日本語翻訳WGメンバー、 TestingCommunityJP運営。
  2. セッションアンケートのお願い アンケートに回答して mabl の Workshop に 参加しよう! • mablのテスト自動化を体験できるイベントを都内 某所で開催

    (参加希望者多数の場合は抽選になります ) • さらに回答者の中からAmazon Gift Cardを 抽選で2名にプレゼント! (Workshop参加の有無は問いません )
  3. テスト自動化と、主なやり方 • 意味:テストに関する活動の何かしらを自動化すること ◦ テストケースの自動生成や、テストの自動実行など ◦ 一般的には「テスト実行の自動化」を「テスト自動化」と呼ぶことが多い。 以降、本セッションでもテスト実行の自動化をテスト自動化と表現する。 • 開発の現場では、さまざまなテストが自動化されている

    ◦ 単体テスト:言語ごとのフレームワーク(xUnitなど)を用いてテストを書き、IDEやCI環境で実行 ◦ 結合テスト(APIテスト):PostmanやKarateなどを用いてリクエストを投げてレスポンスを確認 ◦ システムテスト:画面を操作するツールやライブラリを用いて、ユーザー操作と確認を自動化
  4. テスト自動化の導入は失敗しやすい? • 特に結合以降のテストにおいて、自動化に失敗したという話をよく聞く ◦ 自動テストのメンテナンスが追いつかなくなった ◦ ツール選びに失敗した ◦ 自動テストが不安定で信頼できなくなった など •

    失敗原因の一つは、テスト自動化=ツール導入と捉えているから ◦ 特定のツール(ライブラリ・フレームワーク)を使えばOK!ではない ツール単体ではなく、テストを自動化する仕組みの構築=システム開発の一種として取り組む必要がある テスト自動化アーキテクチャ、で考えよう
  5. 汎用テスト自動化アーキテクチャ generic Test Automation Architecture (gTAA) • テスト自動化ソリューションの 全体概要を提供する ◦

    個別に考えるものではなく、すでにあるもの ◦ テンプレートやフレームのようなものと捉える • 主に4つの層で構成 ◦ テスト生成レイヤー ◦ テスト定義レイヤー ◦ テスト実行レイヤー ◦ テスト適合レイヤー テスト技術者資格制度 Advanced Level シラバス テスト自動化エンジニア より
  6. テスト自動化アーキテクチャ Test Automation Architecture (TAA) • TASのアーキテクチャを定義するために gTAAを具体化したもの ◦ gTAA中の各要素を、どんなツールやフレームワークを用いて実現するかの設計

    ◦ 汎用のアーキテクチャから、自分たちが実現したいもののアーキテクチャを作る、という流れ • 適切なアーキテクチャを作成するために、様々な検討が必要 ◦ どの段階の、どの内容のテストをサポートするか(単体/結合/システム、機能テスト/非機能テスト、など) ◦ どんな役割の方が用いるのか ◦ テスト対象のどんな技術要素をサポートすべきか(言語、フレームワークなど)
  7. gTAAでアーキテクチャを考える:Seleniumの場合 • Selenium ◦ ブラウザ操作を自動化するためのライブラリ • gTAA中の該当箇所 ◦ テスト適合レイヤーの一部 •

    Seleniumでテストを自動化するには ◦ テスト実行レイヤー(UnitTest FrameworkやReporterなど)、 テスト定義レイヤー(UnitTest Frameworkやテスト管理ツールなど)、 を用意しつつ、テスト生成レイヤーとして 手動でのテスト設計もしくはツールを用いてテスト生成 テスト技術者資格制度 Advanced Level シラバス テスト自動化エンジニア より
  8. gTAAでアーキテクチャを考える:mablの場合 • mabl ◦ E2EテストやAPIテストなどの自動化ができるプラットフォーム • gTAA中の該当箇所 ◦ テスト定義レイヤーからテスト適合レイヤーまでをカバー •

    mablでテストを自動化するには ◦ テスト生成レイヤーとしてテスト設計を行い、 それをmabl上で操作記録することで自動化ができる テスト技術者資格制度 Advanced Level シラバス テスト自動化エンジニア より
  9. 様々なライブラリを組み合わせる or 単一のツールで広くカバー 組み合わせる 例:Selenium 広くカバー 例:mabl 特徴 • 特定のツールに依存せず、

    部分的な入れ替え等が可 • ニーズに応じた柔軟な構成 • 設計・実装がスピーディ • 自前で実装する部分が少ない たとえば こんなとき • Developer / SRE / SET(Software Engineer in Test)主体で自動テスト • QA主体で自動テスト
  10. If you want to learn more about mabl...? アンケートに回答して mabl

    の Workshop に 参加しよう! • mablのテスト自動化を体験できるイベントを都内 某所で開催 (参加希望者多数の場合は抽選になります ) • さらに回答者の中からAmazon Gift Cardを 抽選で2名にプレゼント! (Workshop参加の有無は問いません )
  11. mabl user community! mabl の User Community『mablers_jp』 • ユーザーによるユーザーのための コミュニティ

    • ユーザーによる忖度のない生の声を聞く 絶好のチャンスです。是非ご参加ください! https://mablersjp.connpass.com/
  12. 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 に掲載可能
  13. About the mabl Skills Certification 出題数60問の選択式テストを通じて、mablのナビゲー ション、設定、テスト作成、出力、自動テスト戦略につい て解答し、examをパスしましょう! Why get

    certified? • LinkedInで認定資格合格後を登録可能 • 認定資格試験の取得を通じてmablプラットフォー ムの一定への知見をアピールできます • mablers_jpのようなコミュニティを通じて、得たス キルを活かしたOutputをしましょう! • 2023年3月~日本語での提供を開始しました
  14. Thanks! You can connect at... odasho Quality Advocate / Product

    Marketing, mabl Japan 伊藤 由貴 QAエンジニア, 株式会社カカクコム odashoDotCom odasho0618 odasho odasho0618 yoshikiito