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

QAと開発の両側から進める AI活用 -QAプロセスAI支援ツールキットと Inner Loo...

QAと開発の両側から進める AI活用 -QAプロセスAI支援ツールキットと Inner Loop / Outer Loopの取り組み-

More Decks by LegalOn Technologies, Inc

Other Decks in Technology

Transcript

  1. 私 引持 力哉(ひきもち りきや) @rmochioo QA Automation / Software Engineer

    in Test 横断的な部署にてテストの効率化を図る 格闘技観戦、旅行 2 本資料は貴社の便宜のためのみに提供されるものであり、複写、引用または第三者の閲覧に共される際は株式会社 LegalOn Technologiesの了承を得てください。また、当該資料の利用により直接または間接に生じた損害や損失等について、株式会社 LegalOn Technologiesは一切の責任を負いません。 ©LegalOn Technologies, Inc. all rights reserved.
  2. QAのテストプロセスに対して AI活用を行う話をしてきた LegalOn Technologies Engineering Blog JaSST’26 Tokyo 3 本資料は貴社の便宜のためのみに提供されるものであり、複写、引用または第三者の閲覧に共される際は株式会社

    LegalOn Technologiesの了承を得てください。また、当該資料の利用により直接または間接に生じた損害や損失等について、株式会社 LegalOn Technologiesは一切の責任を負いません。 ©LegalOn Technologies, Inc. all rights reserved.
  3. (再掲) QAプロセス AI支援ツールキット テスト 成果物 QA ナレッジの利用 Agent Knowledge PR作成

    テスト計画 /create-test-plan (CI)Agent レビュー レビュー観点 テスト分析 /create-test-analysis QAレビュー テスト観点 アップデート テスト設計 /create-test-design (CI)観点抽出 4 本資料は貴社の便宜のためのみに提供されるものであり、複写、引用または第三者の閲覧に共される際は株式会社 LegalOn Technologiesの了承を得てください。また、当該資料の利用により直接または間接に生じた損害や損失等について、株式会社 LegalOn Technologiesは一切の責任を負いません。 ©LegalOn Technologies, Inc. all rights reserved.
  4. テストの実施主体が Agentになると、品質づくりの主体も広がる • QAに閉じていた、属人化していたものがSkillなどを通してオープンになる • 開発者もQAと同じ観点を持ってテストプロセスに関わることができるようにな る チーム全体 が同じ基準の品質を意識 して開発できるようになる

    6 本資料は貴社の便宜のためのみに提供されるものであり、複写、引用または第三者の閲覧に共される際は株式会社 LegalOn Technologiesの了承を得てください。また、当該資料の利用により直接または間接に生じた損害や損失等について、株式会社 LegalOn Technologiesは一切の責任を負いません。 ©LegalOn Technologies, Inc. all rights reserved.
  5. Agentにテスト実行させる上での課題 • AgentがUI操作を都度推測するため、テストケースどおりの実行を保証しに くい。 • Agentの操作精度を上げるためには、詳細なコンテキストを用意する必要が ある。 • 意図しない手順や環境・セッションの誤操作が起きやすく、安定性・再現性が 下がる。

    8 本資料は貴社の便宜のためのみに提供されるものであり、複写、引用または第三者の閲覧に共される際は株式会社 LegalOn Technologiesの了承を得てください。また、当該資料の利用により直接または間接に生じた損害や損失等について、株式会社 LegalOn Technologiesは一切の責任を負いません。 ©LegalOn Technologies, Inc. all rights reserved.
  6. Agentにテスト実行させる上での課題 • AgentがUI操作を都度推測するため、テストケースどおりの実行を保証しに くい。 • Agentの操作精度を上げるためには、詳細なコンテキストを用意する必要が ある。 • 低レベルなUI操作をAgentに任せると、意図しない手順や環境・セッションの 誤操作が起きやすく、安定性・再現性が下がる

    。 業務操作 APIの導入 9 本資料は貴社の便宜のためのみに提供されるものであり、複写、引用または第三者の閲覧に共される際は株式会社 LegalOn Technologiesの了承を得てください。また、当該資料の利用により直接または間接に生じた損害や損失等について、株式会社 LegalOn Technologiesは一切の責任を負いません。 ©LegalOn Technologies, Inc. all rights reserved.
  7. 本日話すこと 1. 業務操作API 2. Inner loop 3. Outer loop 10

    本資料は貴社の便宜のためのみに提供されるものであり、複写、引用または第三者の閲覧に共される際は株式会社 LegalOn Technologiesの了承を得てください。また、当該資料の利用により直接または間接に生じた損害や損失等について、株式会社 LegalOn Technologiesは一切の責任を負いません。 ©LegalOn Technologies, Inc. all rights reserved.
  8. Agentにより実装速度が上がるほど、検証がボトルネックになる • 実装速度が上がり修正量が増えるほど、テストフェーズの負担が大きくなる • 結果として、検証の待ちが発生し開発のボトルネックになる • Agentは開発を高速かつ大量に行えるので、それに応じた高速な動作確認 とフィードバックサイクル が必要 •

    より早い段階でよりテストを行う環境に近い(=高忠実度な )環境で検証でき ると良い Inner loop / Outer loop の導入 11 本資料は貴社の便宜のためのみに提供されるものであり、複写、引用または第三者の閲覧に共される際は株式会社 LegalOn Technologiesの了承を得てください。また、当該資料の利用により直接または間接に生じた損害や損失等について、株式会社 LegalOn Technologiesは一切の責任を負いません。 ©LegalOn Technologies, Inc. all rights reserved.
  9. 本日話すこと 1. 業務操作API 2. Inner loop 3. Outer loop 12

    本資料は貴社の便宜のためのみに提供されるものであり、複写、引用または第三者の閲覧に共される際は株式会社 LegalOn Technologiesの了承を得てください。また、当該資料の利用により直接または間接に生じた損害や損失等について、株式会社 LegalOn Technologiesは一切の責任を負いません。 ©LegalOn Technologies, Inc. all rights reserved.
  10. (再掲) Agentにテスト実行させる上での課題 • AgentがUI操作を都度推測するため、テストケースどおりの実行を保証しに くい。 • Agentの操作精度を上げるためには、詳細なコンテキストを用意する必要が ある。 • 低レベルなUI操作をAgentに任せると、意図しない手順や環境・セッションの

    誤操作が起きやすく、安定性・再現性が下がる 。 14 本資料は貴社の便宜のためのみに提供されるものであり、複写、引用または第三者の閲覧に共される際は株式会社 LegalOn Technologiesの了承を得てください。また、当該資料の利用により直接または間接に生じた損害や損失等について、株式会社 LegalOn Technologiesは一切の責任を負いません。 ©LegalOn Technologies, Inc. all rights reserved.
  11. 業務操作 APIの導入 • Agentが選べる操作を業務単位で定義 する。 ◦ 「契約書をアップロードする」 ◦ 「一覧ページで契約書を確認する」 •

    Locator・待機・状態遷移は業務操作API内部に閉じ込め、Agentは許可され たAPIだけを実行 する。 • 業務操作 APIは業務操作APIカタログ に整理され、Agentはそれを参照す る。 • Agentはカタログ内にあるものしか利用できない 。 15 本資料は貴社の便宜のためのみに提供されるものであり、複写、引用または第三者の閲覧に共される際は株式会社 LegalOn Technologiesの了承を得てください。また、当該資料の利用により直接または間接に生じた損害や損失等について、株式会社 LegalOn Technologiesは一切の責任を負いません。 ©LegalOn Technologies, Inc. all rights reserved.
  12. ディレクトリ構成 pageObjects/ └── contractDocumentListPage/ ├── index.ts # Locator・画面構造を定義 └── operations/

    # Agentに公開する業務操作 ├── openContractDocumentList.ts # 契約書一覧画面を開く ├── searchContractDocuments.ts # 契約書一覧をキーワードで検索する └── ... # ほかの業務操作 17 本資料は貴社の便宜のためのみに提供されるものであり、複写、引用または第三者の閲覧に共される際は株式会社 LegalOn Technologiesの了承を得てください。また、当該資料の利用により直接または間接に生じた損害や損失等について、株式会社 LegalOn Technologiesは一切の責任を負いません。 ©LegalOn Technologies, Inc. all rights reserved.
  13. 業務操作 APIカタログの例 { "name": "openContractDocumentList", "module": "@document-management-f/pageObjects/contractDocumentListPage/operations", "source": "ui/document-management-f/pageObjects/contractDocumentListPage/operations/openContractDocumentList.ts", "description":

    " 契約書一覧画面を開く。 契約書ファイルの一覧確認、検索、詳細表示の前に対象画面へ移動する指示があるときに使う。 ", "params": [ { "name": "page", "type": "Page" } ], "returns": "Promise<void>" } 18 本資料は貴社の便宜のためのみに提供されるものであり、複写、引用または第三者の閲覧に共される際は株式会社 LegalOn Technologiesの了承を得てください。また、当該資料の利用により直接または間接に生じた損害や損失等について、株式会社 LegalOn Technologiesは一切の責任を負いません。 ©LegalOn Technologies, Inc. all rights reserved.
  14. (再掲) Agentにより実装速度が上がるほど、検証がボトルネックになる • 実装速度が上がり修正量が増えるほど、テストフェーズの負担が大きくなる • 結果として、検証の待ちが発生し開発のボトルネックになる • Agentは開発を高速かつ大量に行えるので、それに応じた高速な動作確認 とフィードバックサイクル が必要

    • より早い段階でよりテストを行う環境に近い(=高忠実度な )環境で検証でき ると良い Inner loop / Outer loop の導入 22 本資料は貴社の便宜のためのみに提供されるものであり、複写、引用または第三者の閲覧に共される際は株式会社 LegalOn Technologiesの了承を得てください。また、当該資料の利用により直接または間接に生じた損害や損失等について、株式会社 LegalOn Technologiesは一切の責任を負いません。 ©LegalOn Technologies, Inc. all rights reserved.
  15. Inner loop / Outer loopの定義 フィードバック 検証 修正 Inner loop

    ローカル マージ PR作成 修正 Outer loop デプロイ 検証 フィードバック 23 本資料は貴社の便宜のためのみに提供されるものであり、複写、引用または第三者の閲覧に共される際は株式会社 LegalOn Technologiesの了承を得てください。また、当該資料の利用により直接または間接に生じた損害や損失等について、株式会社 LegalOn Technologiesは一切の責任を負いません。 ©LegalOn Technologies, Inc. all rights reserved.
  16. 高忠実度な検証の定義 観点 ユニットテスト 統合テスト(モック) 高忠実度な検証 確認する対象 ロジック コンポーネント間の連携 実検証環境に近い状態での機能の 動き

    依存・環境 依存は切り離す、 もしくはモックを利 用する モック、スタブに置き換え る 実際の設定、依存するサービス、外 部サービス、データを利用 する 見つけやすい不具合 ロジックの不具合 APIや連携仕様の不整合 認証、設定不備、サービス間通信、 外部サービスとの連携の不備 実行速度 速い・安定しやす い 速い・安定しやすい 実環境に近いが、遅い、不安定 24 本資料は貴社の便宜のためのみに提供されるものであり、複写、引用または第三者の閲覧に共される際は株式会社 LegalOn Technologiesの了承を得てください。また、当該資料の利用により直接または間接に生じた損害や損失等について、株式会社 LegalOn Technologiesは一切の責任を負いません。 ©LegalOn Technologies, Inc. all rights reserved.
  17. mirrordの特徴 • 主にバックエンドサービスで利用する。 • ローカルで変更したコードに、検証環境で稼働中のバックエンドへのリクエス トを流して確認することができる。 • 環境変数や依存先は検証環境のものを利用することができ、より実環境に 近い条件 で動作確認ができる。

    • デプロイを待たず 開発段階で問題を見つけて修正できる。 • アプリケーションログやエラーログはローカルで確認できる。 27 本資料は貴社の便宜のためのみに提供されるものであり、複写、引用または第三者の閲覧に共される際は株式会社 LegalOn Technologiesの了承を得てください。また、当該資料の利用により直接または間接に生じた損害や損失等について、株式会社 LegalOn Technologiesは一切の責任を負いません。 ©LegalOn Technologies, Inc. all rights reserved.
  18. filterの設定( mirrordの設定ファイル) feature: network: incoming: mode: steal ports: - 8080

    http_filter: header_filter: "^baggage: .*mirrord-session=qa-check.*" 特定のヘッダがついたリクエストのみをローカルに流し、 通常のリクエストは実BEに流す = 他のユーザーには影響を与えずに検証ができる 29 本資料は貴社の便宜のためのみに提供されるものであり、複写、引用または第三者の閲覧に共される際は株式会社 LegalOn Technologiesの了承を得てください。また、当該資料の利用により直接または間接に生じた損害や損失等について、株式会社 LegalOn Technologiesは一切の責任を負いません。 ©LegalOn Technologies, Inc. all rights reserved.
  19. Inner loopの実現 • 実装 → 検証 → 修正 → 検証の実装段階でのループ(

    Inner loop)を素早く 回したい mirrord setup 実装 自動テスト テスト結果 ログの確認 フィード バック Agent Skillsの提供 30 本資料は貴社の便宜のためのみに提供されるものであり、複写、引用または第三者の閲覧に共される際は株式会社 LegalOn Technologiesの了承を得てください。また、当該資料の利用により直接または間接に生じた損害や損失等について、株式会社 LegalOn Technologiesは一切の責任を負いません。 ©LegalOn Technologies, Inc. all rights reserved.
  20. [Agent Skills] mirrord setup 1. mirrordの設定ファイルの作成 a. Inner loop 対象サービス、namespaceの指定

    b. filterの設定 i. header_filter: "^baggage: .*mirrord-session=backend-service-a.*" 2. mirrordの起動 3. サンプルリクエストを流して、mirrord側に流れることの確認 31 本資料は貴社の便宜のためのみに提供されるものであり、複写、引用または第三者の閲覧に共される際は株式会社 LegalOn Technologiesの了承を得てください。また、当該資料の利用により直接または間接に生じた損害や損失等について、株式会社 LegalOn Technologiesは一切の責任を負いません。 ©LegalOn Technologies, Inc. all rights reserved.
  21. [Agent Skills] 自動テスト • 対象バックエンドサービスが壊れていないことを確認したい • 意図しない箇所への影響がないことを確認したい • これらについて素早くフィードバックを得たい 32

    本資料は貴社の便宜のためのみに提供されるものであり、複写、引用または第三者の閲覧に共される際は株式会社 LegalOn Technologiesの了承を得てください。また、当該資料の利用により直接または間接に生じた損害や損失等について、株式会社 LegalOn Technologiesは一切の責任を負いません。 ©LegalOn Technologies, Inc. all rights reserved.
  22. [Agent Skills] 自動テスト • API Smoke ◦ 対象サービスの主要APIに対してリクエストを投げ、期待するレスポンス が返ってくることを確認する •

    画面遷移テスト ◦ 主要画面に遷移できること、遷移先画面でアプリケーションエラー、コン ソールエラーなどが発生していないことを確認する • filterに対応するカスタムヘッダを付与して実行 33 本資料は貴社の便宜のためのみに提供されるものであり、複写、引用または第三者の閲覧に共される際は株式会社 LegalOn Technologiesの了承を得てください。また、当該資料の利用により直接または間接に生じた損害や損失等について、株式会社 LegalOn Technologiesは一切の責任を負いません。 ©LegalOn Technologies, Inc. all rights reserved.
  23. [Agent Skills] テスト結果、ログの確認、フィードバック • テスト結果レポート、ローカルに出力されたログを収集する • 失敗はsetup起因、regression、テストデータ不備で分類し報告、修正提案を 行う 34 本資料は貴社の便宜のためのみに提供されるものであり、複写、引用または第三者の閲覧に共される際は株式会社

    LegalOn Technologiesの了承を得てください。また、当該資料の利用により直接または間接に生じた損害や損失等について、株式会社 LegalOn Technologiesは一切の責任を負いません。 ©LegalOn Technologies, Inc. all rights reserved.
  24. Chrome Extensionsの提供 • 手動でもブラウザからローカルのバックエンドサービスにアクセスできるよう に、カスタムヘッダを付与して検証できるChrome Extensionsの提供も行って いる。 35 本資料は貴社の便宜のためのみに提供されるものであり、複写、引用または第三者の閲覧に共される際は株式会社 LegalOn

    Technologiesの了承を得てください。また、当該資料の利用により直接または間接に生じた損害や損失等について、株式会社 LegalOn Technologiesは一切の責任を負いません。 ©LegalOn Technologies, Inc. all rights reserved.
  25. QA目線で何が嬉しいか • 開発段階で任意のE2Eなテストを仕込むことができる。 ◦ PRを上げる前の品質基準の役割を持たせることができる。 • 検証環境へ上げる前に検証環境に近い条件で確認できる。 ◦ デプロイ後に壊れていてテストできないような事象を防げる。 36

    本資料は貴社の便宜のためのみに提供されるものであり、複写、引用または第三者の閲覧に共される際は株式会社 LegalOn Technologiesの了承を得てください。また、当該資料の利用により直接または間接に生じた損害や損失等について、株式会社 LegalOn Technologiesは一切の責任を負いません。 ©LegalOn Technologies, Inc. all rights reserved.
  26. 余談)mirrord OSS版の制約とその対応 • 基本的にPod/Deployment単位で接続し、複数PodのDeploymentを指定 した場合も、接続先は1つのPodになる制約がある。 ◦ 同じ対象へ複数人が接続したときに、検証リクエストが混ざるおそれがあ る。 ◦ 振り分けによってはカスタムヘッダを付与してもローカルに流れない可能

    性がある。 37 本資料は貴社の便宜のためのみに提供されるものであり、複写、引用または第三者の閲覧に共される際は株式会社 LegalOn Technologiesの了承を得てください。また、当該資料の利用により直接または間接に生じた損害や損失等について、株式会社 LegalOn Technologiesは一切の責任を負いません。 ©LegalOn Technologies, Inc. all rights reserved.
  27. (再掲) Inner loop / Outer loopの定義 フィードバック 検証 修正 Inner

    loop ローカル マージ PR作成 修正 Outer loop デプロイ 検証 フィードバック 40 本資料は貴社の便宜のためのみに提供されるものであり、複写、引用または第三者の閲覧に共される際は株式会社 LegalOn Technologiesの了承を得てください。また、当該資料の利用により直接または間接に生じた損害や損失等について、株式会社 LegalOn Technologiesは一切の責任を負いません。 ©LegalOn Technologies, Inc. all rights reserved.
  28. Outer loopの実現 • Pull Request作成 → 環境作成 → 検証 →

    修正 → 検証という、マージ前に 回すループ(Outer loop)を整えたい PR作成 プレビュー 環境作成 自動テスト テスト結果 ログの確認 フィード バック 修正 GitHub Actions Workflowの提供 43 本資料は貴社の便宜のためのみに提供されるものであり、複写、引用または第三者の閲覧に共される際は株式会社 LegalOn Technologiesの了承を得てください。また、当該資料の利用により直接または間接に生じた損害や損失等について、株式会社 LegalOn Technologiesは一切の責任を負いません。 ©LegalOn Technologies, Inc. all rights reserved.
  29. [Workflow] プレビュー環境作成 • PR上で特定のラベルをつけるとプレビュー環境作成のためのworkflowが走 る。 ◦ PRの変更を含むコンテナイメージをビルドする。 ◦ Signadotが、既存の検証環境に対しPRの変更分だけを分岐させたプレ ビュー環境を作成する。

    ◦ プレビュー環境ごとに専用のデータベースを用意し、データベースの変更 や書き込みも他の検証に影響させず確認できる。 44 本資料は貴社の便宜のためのみに提供されるものであり、複写、引用または第三者の閲覧に共される際は株式会社 LegalOn Technologiesの了承を得てください。また、当該資料の利用により直接または間接に生じた損害や損失等について、株式会社 LegalOn Technologiesは一切の責任を負いません。 ©LegalOn Technologies, Inc. all rights reserved.
  30. [Workflow] 自動テスト • UI Smoke ◦ 対象サービスの主要機能が期待通りに動作することを確認する。 • 画面遷移テスト ◦

    主要画面に遷移できること、遷移先画面でアプリケーションエラー、コン ソールエラーなどが発生していないことを確認する。 • Signadot認証用のAPIキーをリクエストヘッダに付与することでSignadotの 認証ページへの遷移を回避している。 45 本資料は貴社の便宜のためのみに提供されるものであり、複写、引用または第三者の閲覧に共される際は株式会社 LegalOn Technologiesの了承を得てください。また、当該資料の利用により直接または間接に生じた損害や損失等について、株式会社 LegalOn Technologiesは一切の責任を負いません。 ©LegalOn Technologies, Inc. all rights reserved.
  31. [Workflow] テスト結果、ログの確認、フィードバック • 内部的にはAgent Skillsを利用している • テスト実行時の識別子と実行時間をもとに、Datadog MCPで該当するアプリ ケーションログ・エラーログを取得する。 •

    テスト結果・スクリーンショット・PR差分と突き合わせ、原因候補と修正方針を PRへ返す。 46 本資料は貴社の便宜のためのみに提供されるものであり、複写、引用または第三者の閲覧に共される際は株式会社 LegalOn Technologiesの了承を得てください。また、当該資料の利用により直接または間接に生じた損害や損失等について、株式会社 LegalOn Technologiesは一切の責任を負いません。 ©LegalOn Technologies, Inc. all rights reserved.
  32. QA目線で何が嬉しいか • QAのテスト開始前に、PR単位で最低限の動作を自動確認できる。 ◦ 必要に応じてマージ判断のための品質基準として利用できる • デプロイ前に検証環境に近い条件で確認できる。 ◦ ビルド・FE、BE結合・認証・ルーティングの問題を検知できる。 ◦

    デプロイ後に壊れていてテストできないような事象を防げる。 • ステークホルダーがPRの段階から画面を確認できる。 ◦ 仕様の認識齟齬や UI上の違和感を、早期に見つけられる 。 48 本資料は貴社の便宜のためのみに提供されるものであり、複写、引用または第三者の閲覧に共される際は株式会社 LegalOn Technologiesの了承を得てください。また、当該資料の利用により直接または間接に生じた損害や損失等について、株式会社 LegalOn Technologiesは一切の責任を負いません。 ©LegalOn Technologies, Inc. all rights reserved.
  33. 全体としてどうなっているか ローカル PR作成 マージ デプロイ Inner loop Outer loop 検証環境デプロイ時

    • API Smoke • UI Smoke • • 画面遷移テスト • 画面遷移テスト ユースケースベースド 49 本資料は貴社の便宜のためのみに提供されるものであり、複写、引用または第三者の閲覧に共される際は株式会社 LegalOn Technologiesの了承を得てください。また、当該資料の利用により直接または間接に生じた損害や損失等について、株式会社 LegalOn Technologiesは一切の責任を負いません。 ©LegalOn Technologies, Inc. all rights reserved.
  34. まとめ • テストの実施主体をQAからAgentにすることで、チーム全体が同じ基準の品 質を意識できる。 • 業務操作APIの仕組みを導入により、Agentによるテスト実行精度の向上に 繋がった。 • Agentの実装速度に対応するため、より早い段階で高忠実度で検証ができる 仕組み「Inner

    loop / Outer loop」を構築し運用している。 50 本資料は貴社の便宜のためのみに提供されるものであり、複写、引用または第三者の閲覧に共される際は株式会社 LegalOn Technologiesの了承を得てください。また、当該資料の利用により直接または間接に生じた損害や損失等について、株式会社 LegalOn Technologiesは一切の責任を負いません。 ©LegalOn Technologies, Inc. all rights reserved.