Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
テスト自動化プラットフォームAutifyはどのようにAutify自身を自動テストしているか
Search
Autify
December 13, 2023
Technology
3.1k
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
テスト自動化プラットフォームAutifyはどのようにAutify自身を自動テストしているか
ソフトウェアテスト自動化カンファレンス2023 - テスト自動化プラットフォームAutifyはどのようにAutify自身を自動テストしているか
Autify
December 13, 2023
More Decks by Autify
See All by Autify
プロセスの目線からみる「自動テストの安定化」
autifyhq
0
500
AI駆動開発カンファレンスAutumn2025 _AI駆動開発にはAI駆動品質保証
autifyhq
1
400
ベストプラクティスを適用するとシナリオはどう変化するのか
autifyhq
0
680
Pro Serviceチームの身近なAI活用事例 (JaSST'25 Hokkaido スポンサーセッション)
autifyhq
0
91
オーティファイ会社紹介資料 / Autify Company Deck
autifyhq
11
160k
Autify Company Deck
autifyhq
2
55k
AIによるソフトウェア品質保証の現在地点とこれから
autifyhq
1
620
事業継続を支える自動テストの考え方(レバレジーズ様勉強会版)
autifyhq
0
690
自動テストの世界に、この5年間で起きたこと
autifyhq
11
19k
Other Decks in Technology
See All in Technology
Vue で書く 空間コンピューティング、TresJS と WebXR を使ったXR デバイスのフロントエンド開発
hiranuma
0
120
DevelopersIO2026 -バックアップは“消されないこと”が9割-
yoshida0129
0
430
AI時代、つくる力を自分たちの手に。 ──電通×KAG、アジャイルとAI駆動開発で挑む開発の変革
yuukiyo
3
410
200人の配信コメント、 全部Jevが仕分けます 〜 マサカリガードを作ってみた 〜
katayamatg
1
360
E2Eってつらくないですか?E2Eの管理コストを下げる手段とその実践
akaboshinit
5
2.5k
バイブコーディングの特徴と「コケて直す」ループ
happysamurai294
0
110
素人でもできた!AIを使った短編小説創作入門
delhi09
PRO
0
140
シンプルな設定ファイルで実現する AWS IAM Identity Center の ユーザー管理Terraformフレームワークを公開しました / Simplifying AWS IAM Identity Center User Management: An Open-Source Terraform Framework
yamaguchitk333
1
330
AWSDirectConnectの構築の進め方を整理してみた
masa_my
1
200
正解のない研修に放り出されて / Being thrown into a training program with no right answers
ohnoeight
1
160
Devin プロモコードの受け取りと適用(2026.10.27)
kinopeee
1
660
VLA-JEPA: Enhancing Vision-Language-Action Models with Latent World Models
takmin
0
350
Featured
See All Featured
世界の人気アプリ100個を分析して見えたペイウォール設計の心得
akihiro_kokubo
PRO
74
43k
Building Adaptive Systems
keathley
44
3.3k
<Decoding/> the Language of Devs - We Love SEO 2024
nikkihalliwell
1
370
Why Your Marketing Sucks and What You Can Do About It - Sophie Logan
marketingsoph
0
440
Claude Code のすすめ
schroneko
67
230k
Agile Leadership in an Agile Organization
kimpetersen
PRO
0
300
コードの90%をAIが書く世界で何が待っているのか / What awaits us in a world where 90% of the code is written by AI
rkaga
63
47k
Designing Powerful Visuals for Engaging Learning
tmiket
1
620
From Legacy to Launchpad: Building Startup-Ready Communities
dugsong
0
360
Stewardship and Sustainability of Urban and Community Forests
pwiseman
0
570
The State of eCommerce SEO: How to Win in Today's Products SERPs - #SEOweek
aleyda
2
12k
Game over? The fight for quality and originality in the time of robots
wayneb77
1
310
Transcript
テスト自動化プラットフォームAutifyはどのようにAutify自身を 自動テストしているか ソフトウェアテスト自動化カンファレンス2023
Kubo Haruhiko 久保 治彦. Senior QA Manager Microsoft OS開発統括部で SDETとしてのキャリアをスタート。
その後、VMware, UiPath, Cybereasonで日本向け製品のリリース、 QAを担当。 2022年よ りAutifyに1人目のシニア QAマネージャーとして参画し、 Autifyの2製品のQA、リリースを リードしている。 スピーカー Suemura Takuya 末村拓也. Senior Technical Support Engineer / Test Automation Specialist Autifyのテクニカルサポートエンジニアで、自動テストでありがちな「なぜかうごかない」系の問題 のトラブルシュートをする係。 Autify入社前はQAエンジニア、その前は PHPで開発やったり、もっ と前は倉庫でフォークリフト乗り回したりしてました。 JaSST Online実行委員。
アジェンダ
1. Autifyの紹介 2. AutifyのQA体制図 3. AutifyがどのようにAutifyを活用しているか 4. 開発フローへの組み込み 本日の発表の流れ
1. Autifyのご紹介
Webアプリケーションの自動テスト Autify for Web https://autify.com/ja/trial ネイティブアプリケーションの自動テスト Autify for Mobile https://autify.com/ja/mobile
アジャイル開発のための、 ソフトウェアテスト自動化プラットフォーム「Autify」
Autify、3つの特長 ノーコードで 誰でも高速に自動テストを 構築・運用できる AIが変化を検知 メンテナンスコストを削減 カスタマーサクセス による伴走
Autifyで簡単にできること 10項目のテストシナリオ作成が わずか1分! シナリオの編集、コピーも簡単 テストシナリオの作成 マルチOS/ブラウザテスト 画面上で、PC及びモバイルOSのバー ジョン、環境を選択するだけ テストシナリオ・結果の一元管理 テストシナリオもテスト結果もダッシュ
ボードで一元管理 スプレッドシートはもう不要
2. Autifyの開発・QA体制について
Autifyの開発・QA体制について (1) Engineering team For Web For Mobile Test Execution
SRE Platform Test Management QA ML
Autifyの開発・QA体制について (2) DeveloperがUnitTestもE2Eテストも責任を持って書く・作る 継続的に、そしてタイムリーに開発・テスト・リリースを行うには 開発チーム全員が品質について取り組む必要がある
Autifyの開発・QA体制について (3) • 以前は・・・ ◦ Unitテストは一定のカバレッジを保てていたが E2Eテストの数は頭打ち ◦ サービスを止めてしまうようなインシデントの連続発生 ◦
以前修正したはずの問題の再発 • 課題 ◦ 各エンジニアによるE2Eテストの意識のばらつき ◦ E2Eテスト作成に関するプロセスが存在しない ◦ Bugチケットに対する再発防止策
3. AutifyがどのようにAutifyを活用しているか
Autifyで実施しているE2Eテスト Autifyを利用しているテスト(本番環境からステージング環境へテスト実行) • 新機能に対するAcceptance Test (Autifyでの自動テスト作成時) • 新機能リリース後のRegression Test (Acceptance
testを利用) • Bug Fixに対する Regression Test Autify本番環境上にあるE2Eテストシナリオ Autifyステージング環境
Autifyで実施していない自動化されたE2Eテスト Autifyを利用しないE2Eオートメーションテスト • Autify Recorder (Chrome Extension) を絡めたE2Eテスト • Autify
APIを絡めたE2Eテスト • Autify Connect (CLIクライアント) を絡めたE2Eテスト
自動テスト以外のテスト(Optional) • 探索的テスト ◦ 新機能開発時にDev/QAがdogfoodingもかねて行う ◦ ユーザビリティなどマニュアルテストでしかできない観点も含んだテスト • BugBash ◦
エンジニアリングチーム以外のチームも必要に応じて参加 ◦ ユーザビリティやユーザーエクスペリエンスに対してのフィードバックも同時に受け付け
4. 開発フローへの組み込み(具体事例)
テストシナリオの準備 テストシナリオ作成の前に行っていること • エンドユーザー視点からの新機能に対する要件分析 ◦ PM/Dev/QAのトリオで実施 ◦ ビジネスルールやロジックをトリオで確認・洗い出し ◦ Autify以外のE2Eテストにも使用
例: 抽出されたビジネス要件と対応する振る舞い 「ユーザーの権限を管理したい」という新機能に対する要件の洗い出し
テストシナリオの作成とその役割分担 • Developer ◦ Autifyでテストシナリオの作成(要件洗い出しで抽出されたステップのレコーディング) ◦ 作成したテストの結果確認 (Acceptance test) •
Developer / QA ◦ 他のテストと並列実行したときに問題がないか?(テストの独立性の確認) ◦ 複数回連続実行しても問題ないか? (テストに動的な要素検証等が含まれていないか等) • QA ◦ 共有リソース (ステップグループやJSスニペット)などの作成 ◦ シナリオのレビュー (リクエストベース) ◦ テストプラン・パイプラインへの追加・パイプライン更新
テストシナリオの作成におけるプロセス管理 • 各ユーザーストーリーの開発チケットに は自動的にE2Eテスト開発のサブタス ク(チケット)が作成される • E2Eテスト作成完了までは原則開発チ ケットを完了できない仕組み
Autifyで作成されたテストシナリオの実行 • Acceptance Test ◦ ステージング環境で作成・実行 • Regression Test ◦
日々のリリースパイプラインの中で実行 ◦ 複数のテストPlanに分けて実行 ◦ 夜間に翌日のリリースブランチが作成され、自動でステージング環境へ Deploy・テスト実行 ◦ Deploy担当のEngineer(持ち回り)が翌朝テスト結果を確認、本番へリリース・ Deploy
Autifyで作成されたテストシナリオの実行 • PRマージ前にE2Eテスト(任意)
テストシナリオのメンテナンス・管理 • ラベルと説明によるテストシナリオの管理 ◦ ラベル ▪ 担当チーム名 ▪ 機能名・機能カテゴリ名 ▪
テスト実行時の依存関係・条件等 (もしあれば) ◦ 説明 ▪ E2Eテスト作成チケットのリンク (リンクからUserStoryのチケットへ辿り着ける ) • テスト失敗時はEngineeringチームの通知専用slack チャンネルに通知される ◦ Slack通知には担当チームのラベルが表示されるので、原則担当チームが確認・調査を行う ◦ 必要に応じてQAも担当チームと一緒に確認を行う
Bugに対するアクション • Bugチケットに対してもE2Eテスト開発のサブタスク(チケット)が作成される ◦ Regression issueを防ぐため ◦ 必ずしもE2Eテストである必要はないが、今後のリファクタリング等を見据えて ◦ E2Eテストできないものもかなり存在する
QAチームがモニターしている指標 • デプロイの頻度と障害発生率をトラック(DORAメトリクス) • Autifyで発見できたBug数・比率 • Flakyなテスト ◦ テストシナリオに変更を加えていないが、再度実行するとパスしたテストシナリオの洗い出し •
自動化されたE2Eテストのカバレッジ ◦ ユーザーストーリーに対してE2Eテストでカバーできているか?
• プロセス導入以降、AutifyでのE2Eテストシナリオが増加 • 自社製品を使うことにより、製品改善のリクエストも開発チームから発信 Autifyで管理しているE2Eテストシナリオ数の推移 2022 Jan 2023 Jan Now
For Web 83 243 489 For Mobile 63 130 Product C 0 16
今後の予定および目標 • PRマージ前のE2Eテスト実行 ◦ PRマージ毎にリリース可能になる ◦ 現時点ではステージング環境の制約により難易度高 • 変更点に応じたE2Eテスト実行 ◦
機能は増え続けるのでテストの総量も増えていくが、実行時間は最小限ですむ • どの環境に対しても実行できるテストシナリオの作成 ◦ 開発者のローカル環境でも、ステージング環境でも、どこでも一貫したテスト実行が可 能となる
まとめ • リリースの頻度を変えずにE2Eテストを効果的に追加できた • 開発チームが顧客目線で製品を使うことで、開発チームからのフィー ドバックが増えた • テスト自動化フレームワークを開発プロセスに組み込んだが、典型的 な落とし穴にハマってしまった
ご清聴いただきありがとうございました!