Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
自動テストの世界に、この5年間で起きたこと
Search
Autify
February 13, 2025
Technology
18k
11
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
自動テストの世界に、この5年間で起きたこと
自動テストの世界に、この5年間で起きたこと
2025/02/13 Developer Summit 2025
Quality Evangelist 末村拓也による発表
Autify
February 13, 2025
More Decks by Autify
See All by Autify
プロセスの目線からみる「自動テストの安定化」
autifyhq
0
230
AI駆動開発カンファレンスAutumn2025 _AI駆動開発にはAI駆動品質保証
autifyhq
0
310
ベストプラクティスを適用するとシナリオはどう変化するのか
autifyhq
0
520
Pro Serviceチームの身近なAI活用事例 (JaSST'25 Hokkaido スポンサーセッション)
autifyhq
0
61
オーティファイ会社紹介資料 / Autify Company Deck
autifyhq
10
150k
Autify Company Deck
autifyhq
2
52k
AIによるソフトウェア品質保証の現在地点とこれから
autifyhq
1
520
事業継続を支える自動テストの考え方(レバレジーズ様勉強会版)
autifyhq
0
630
読みやすいテストコードの書き方
autifyhq
0
700
Other Decks in Technology
See All in Technology
Building applications in the Gemini API family.
line_developers_tw
PRO
0
2.6k
Disciplined Vibes: Scaling AI-Assisted Engineering
sheharyar
0
110
生成 AI × MCP で切り拓く次世代 SRE!自律型運用への挑戦と開発者体験の進化
_awache
0
190
就職⽀援サービスにおけるキャリアアドバイザーのシフトスケジューリング
recruitengineers
PRO
1
120
非定型業務をAI slackbotで自動化する ~ 社内要望を自動壁打ちするbotを作った ~/automating-ad-hoc-work-with-ai-slackbot
shibayu36
0
550
Socrates × Looker 〜セマンティックレイヤーで進化するデータ分析エージェント〜
hanon52_
3
1.9k
Dario Amodi『Policy on the AI Exponential』を理解する
nagatsu
0
210
MIERUNE JCT 発表資料「宇宙から伊能忠敬ごっこ」
syuchimu
0
200
10倍の生産性を実現するAI駆動並列エージェントのすべて
kumaiu
4
1.3k
製造業のクラウド活用最適解〜AI,DXを加速するデータ基盤の作り方〜
hamadakoji
0
430
2026TECHFRESH畢業分享會 - Lightning Talk - E起 See See : 電商推薦讀心術? 數據說了算
line_developers_tw
PRO
0
360
AI駆動開発が変える、大規模開発の前提 ーHuman in the Loop から Human on the Loop へ / AIE2026
visional_engineering_and_design
30
23k
Featured
See All Featured
How to Grow Your eCommerce with AI & Automation
katarinadahlin
PRO
1
200
How to Talk to Developers About Accessibility
jct
2
230
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
46
2.9k
Winning Ecommerce Organic Search in an AI Era - #searchnstuff2025
aleyda
1
2k
Breaking role norms: Why Content Design is so much more than writing copy - Taylor Woolridge
uxyall
0
310
What's in a price? How to price your products and services
michaelherold
247
13k
Efficient Content Optimization with Google Search Console & Apps Script
katarinadahlin
PRO
1
610
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
32
3.4k
Google's AI Overviews - The New Search
badams
0
1k
How to Get Subject Matter Experts Bought In and Actively Contributing to SEO & PR Initiatives.
livdayseo
0
140
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
201
75k
Embracing the Ebb and Flow
colly
88
5.1k
Transcript
自動テストの世界に、 この5年間で起きたこと 2025/02/13 Developer Summit 2025 Takuya Suemura Quality Evangelist
@ Autify, Inc.
自動テストの世界に、 この5年間で起きたこと (30分短縮版) 2025/02/13 Developer Summit 2025 Takuya Suemura Quality
Evangelist @ Autify, Inc.
60分セッションだと勘違いしていたからです え、なんで短縮版?
今日話すこと Autify が正式リリース されて丸5年が経ちました 現在も NoCode Web と名を変えて ご愛顧頂いております (おれは2019年8月入社)
ノーコードで誰でも簡単 AIが自動でメンテナンス AIを用いたノーコードテスト自動化ツール
5年の間に自動テストの技術やエンジニアのマインドセット 開発スタイルの潮流は大きく変わりました この発表では5年前のカスタマーペイン それに対してAutifyが提示したソリューションと 5年間で変わったものについて リリース前夜から同社にいた 一人の自動化エンジニアの視点から語りたいと思います 今日話すこと
タイトルタイトルタイトルタイトルタ イトルタイトルタイトル 小見出し小見出し小見出し小見出し 末村 拓也 (Takuya Suemura) Autify, Inc. (2019
-) Quality Evangelist • Ex. QA Manager • Ex. Senior Technical Support Engineer • Ex. Test Automation Engineer OPENLOGI (2017 - 2019) QA Engineer それより前はPHP開発をしていたり 倉庫でフォークリフトに載ったりしていました ソフトウェア品質や自動テストのあるべき姿を 業界の皆さんと一緒に考えるのが仕事です
タイトルタイトルタイトルタイトルタ イトルタイトルタイトル 小見出し小見出し小見出し小見出し テスト自動化実践ガイド (2024) Coming soon… (2025 Summer)
Pain & Solution 01.
• テストコードの作成が面倒 • テストコードのメンテナンスが大変 • 環境構築と運用が大変 2019年当時の課題感
• 当時は id や class などの内部構造を要素探索のキーにするのが一般的 • テストコードを書くたびにDevToolsと格闘 • リーダビリティ上も問題があった
当時の課題感 (1) テストコードの作成 ぼくのかんがえたさいきょうのE2Eフレームワーク with CodeceptJS
• E2Eテストは開発が終わってから ステージングなどの統合環境で実行され ることが多かった • リリースの直前になってテストが古いこと が分かると駆け込みでの修正を余儀なく されてしまう 当時の課題感 (2)
テストコードのメンテナンス テスト自動化実践ガイド 第2章「開発を支える自動テスト」より
レコードアンドリプレイ型のツール 「Autify Recorder」 操作した内容が 自動で記録されていく スクリーンショット付きで見やすいのは UI自動テストにおいて大きなアドバンテージだった ソリューション (1) ノーコード
Autify Recorderで記録した要素のメタ情報を元に DOM上の「一番近い要素」を探索 ソリューション (2) メンテナンス AI メタ情報の例 • タグ名
• アクセシブルロール • id や class などの属性 • 文言 • 親要素や兄弟要素 • 要素の座標 • 絶対パス
Autifyユーザーの方が (サポートから聞いた情報を元に) 仕組みを図示してくれている! 余談)この図について https://qiita.com/megmogmog1965/items/53a201e09929aea34657
やりたいことに対して 準備しないといけないことが多い ほぼ別のアプリケーションを 作るぐらいのレベル 当時の課題感 (3) 環境構築と運用 Software Testing 誌
2020年6月 「はじめよう、高速E2Eテスト」を元に一部加筆
色々なところに互換性バグの種があった • Webサイトとブラウザの互換性(←見つけたいやつ) • WebサイトとWebDriverの互換性 • ブラウザとWebDriverの互換性 • 自動化コードとWebDriverの互換性 •
WebDriver自体のバグ 自分のプロダクトの自動テストをしたいのに 自動テストフレームワークのデバッグからはじめないといけない E2E自動テストは本質的に複雑
Webサイト <> Selenium/Appium間で発生する ありとあらゆるエッジケースを踏み抜いたものたちだ、面構えが違う • deprecatedのCSSスタイル zoom を使うとクリック位置がおかしくなる • 古いバージョンの
prototype.js は Array.reduce() などの prototypeを書き換えておりSeleniumを壊す • AMPのサイトは HTMLElement を上書きしており、 instanceof HTMLElement が期待した値を返さない • Appiumの nativeWebTap を有効にした状態で JSの scrollTo() でスクロールされる とタップ位置がズレる 余談)Autifyのテクニカルサポート
ソリューション (3) Out of the box Autifyクラウド(エミュレーター環境) Autify実機環境(Device Farm) Windows
10.11 macOS 80種類を超える端末から 自由選択 Edge/Windows server Chrome/Linux Chrome / iOS,Android 「箱から出してすぐ」並列実行やクロスブラウザテストができる • Autifyがホストしているクラウド環境は並列実行向き • デバイスファーム上でクロスデバイス・クロスブラウザテストが可能
私たちがつくりました
世の中に起きた変化 03.
• フロントエンドエコシステムとの統合 • リッチなデバッグ体験 • CI/CDパイプラインへの組み込みが楽になった ◦ 同時期に登場した GitHub Actions
/ CircleCI Orb などが後押しした • クロスブラウザ環境構築が楽に 新たなツール群はテストのハードルを下げた
• テストはテスト対象のふるまいに依存すべきである • E2Eテストは技術的制約から内部構造に依存しがちであった ◦ ID, class, タグ名など • Testing
Libraryの登場と共に 文字列、セマンティクス、 alt-textなど アクセシブルな属性をロケーターに使う考え方が普及した アクセシビリティベースのロケーター Testing Library page.getByRole('button', { name: '送信' }); page.locator('input[type="button"]');
マインドセットの浸透 🦁
マインドセットの浸透 🦁
マインドセットの浸透 https://findy-code.io/engineer-lab/t-wada より引用
• 多くの人々🦁🥦による普及活動の末、 自動テストの重要性や TDD/BDD/ATDD といった考え方が浸透した ◦ この2人と17時からパネルやるから来てね • 高速なリリースサイクルが 開発生産性を支えるという考え方が浸透した
今やテストの話が無いカンファレンスの方が珍しくなりましたね マインドセットの浸透
自動テストのこれから 04.
自動テスト実装は簡単になったが、どんなテストを実装すれば良いか分からない • E2Eテストカバレッジを増やしたいけど 何をどうすれば増えるのか分からない • どのようなテストがあれば障害の予防に 効果的なのかが分からない テスト設計に課題を抱える会社が多かったが 非定型的な業務のため、改善が難しかった 新たに見つけた課題
既存の自動化とは異なり • 何らかのフォーマットで定式化されて いなくても理解できる • 繰り返し実施する ものでなくても効果を発揮する 仕様書の分析・テスト設計のような ワンショットかつ複雑な業務も自動化できる可能性が出てきた LLMは既存の自動化に向いていないタスクを処理できる
テキスト以外の入力も扱える = モック・画面遷移図なども扱える マルチモーダル AIの登場 出展: [マルチモーダルAIとは?](https://www.aist.go.jp/aist_j/magazine/20231129.html)
開発者の視点 ユーザーの視点 テスト手法の視点 様々なドキュメントをシナリオ生成に利用する テストシナリオ 作成 トレーニング済みの観点 要件 定義書 画面
設計図 仕様書 開発ドキュメント
• E2Eテストそのもののアーキテクチャーの複雑さ ◦ ブラウザが複雑である以上どうしようもない • トラブルシュートの労力 自動テストツールの選定において 「サポートとNDAに金を払う」側面は今後も捨てきれなさそう (テストツールのトラブルシューティングに情熱を費やす人、良かったら弊社に来て下さい 超楽しいと思います)
変わらないもの
• 自動化を進めたいが、目先のテスト業務に追われている ◦ 既に手動テストがたくさんあるような会社だとこの感じが多い • 全員がモダンな文化を受け入れているわけではないことも ◦ 便利なツールを入れる前に良い文化を入れる必要があるかも ◦ ??「自動テストの工数は誰が払うんですか?」
◦ ??「自動テストより売上につながる機能開発が もちろん優先ですよね?」 ベストプラクティスと現実の狭間に揺れる人たちは今も昔も多い印象 木こりのジレンマと文化
テスト自動化導入支援・品質保証サービス 自動化カバレッ ジの向上 QAコンサルティ ング 開発・テストのア ジャイル化 自社運用までの 伴走支援 自動テスト
作成・運用代行 QAリソース 確保・工数削減 QAチームの 立ち上げ 自動化導入支 援検証(PoC)
• 自動テストは手動テストの代替ではなく 高速な開発サイクルの礎になるものである • 「リリース前にテストしたい」から「常にテストし続けたい」に ニーズが変化した 高度化したニーズに対応できる 新たなソリューションが必要 ニーズの高度化への対応 https://en.wikipedia.org/wiki/DevOps_toolchain
• E2Eテストは忠実だが低速 • それゆえに限定的な利用がベストプラクティスとされていた 技術の進歩が促進するもの https://gihyo.jp/dev/serial/01/savanna-letter/0005 https://kentcdodds.com/blog/the-testing-trophy-and-testing-classifications これはアンチパターン
理想的にはE2Eテストは「ユーザーが取りうるふるまい」の 数だけ存在していてほしい E2Eテストが十分高速になれば 「実行可能なユースケースの 完璧なカタログ」も 実用的になってくるはず 技術の進歩が促進するもの テスト自動化実践ガイド 第1章「自動テストに取り組む前に」より
今後、E2E テストを縛る技術的制約が飛躍的に改善 されれば、将来のベストプラクティスはむしろアイスク リームコーン型に近い形になるかもしれません。 開発者たちが必要とする最低限の単体テストと、信 頼性を保つための多くの結合テスト、そしてユーザー 目線での品質を保つ大規模な E2E テスト群を備えた テストスイートは、さながらアイスクリームパフェのよう
な形になるでしょう(図 4-4)。 技術の進歩が促進するもの テスト自動化実践ガイド 第4章「E2Eテストとは何か」より
• テスト設計などの上流工程の自動化 ◦ 生成AIの力で現実的になってきた • より良いソフトウェアエンジニアリングを支える 技術と文化の実装支援 • 高速なフィードバックサイクルを支援するE2Eテストの進化 ◦
ユーザージャーニーを直接テストできる唯一のテストレベル ◦ 最も忠実度の高い実行可能なユーザージャーニーのドキュメント これから
AI-powered Quality Engineering Platform AutifyはAI, 生成AIを活用したプロダクトと 品質保証のプロフェッショナルがテストプロセスのすべてをサポート
何でも相談に乗ってくれる Testing Baby 自動化関係ない、Autify関係ないことでもOK テストとDevOpsのスペシャリストとして 何でも相談に乗ります • 自社の開発プロセスについて第三者の目線から意見を聞 きたい •
理想の自動テストのあり方についてエンジニアたちとざっく ばらんに意見交換してほしい • 講演しにきてほしい • サインほしい 詳しくはAutifyブース or 懇親会でつかまえてください
Appiumのミートアップやるからみんな東日本橋来てくれ! 最後に1つだけおしらせ
ご清聴ありがとうございました 60分フルバージョンは後日またどこかで Enjoy Testing!