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
MagicPodで実現するE2Eテスト自動化
Search
Nozomi Ito
September 13, 2023
Technology
4k
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
MagicPodで実現するE2Eテスト自動化
TECH STREET テスト自動化の先駆者3社が集結!今後の自動化の方向性
の発表資料です。
Nozomi Ito
September 13, 2023
More Decks by Nozomi Ito
See All by Nozomi Ito
ノーコードに学ぶE2Eテスト自動化ベストプラクティス
nozomiito
0
1.1k
ノーコードE2Eテストで実現する高速開発
nozomiito
0
810
MagicPod開発におけるテスト自動化とCI
nozomiito
0
900
最近のMagicPodまとめ
nozomiito
0
700
テスト自動化スタートアップがエバンジェリストを募集するワケ
nozomiito
0
380
MagicPodが取り組むテスト自動化最前線
nozomiito
0
550
ロケーターを学んでテスト自動化上級者を目指そう
nozomiito
1
9.6k
テスト自動化で起業した10年とテスト自動化普及の歴史を振り返る
nozomiito
4
2.7k
テスト自動化で起業した10年とテスト自動化普及の歴史を振り返る
nozomiito
8
6.8k
Other Decks in Technology
See All in Technology
Oracle MCP Servers Explained
thatjeffsmith
0
460
Android skills に学ぶ
kokiko
0
170
【書籍出版記念】 10周回って、エージェント開発は RAGがすべてだった。〜RAGの歴史と開発現場で見えた実践知〜
akiratameto
20
7.1k
巨大気象データと戦う ― サロゲートモデル学習を高速化する圧縮技術
gpuunite_official
0
260
Kiro WebとCloud Sessions
nagisa53
2
190
Eight Engineering Unit 紹介資料
sansan33
PRO
3
8.3k
Kiro入門|仕様駆動開発で変わるAI時代の開発スタイル
cmkudo
0
350
도구에서 동료까지: 10년차 AI 스타트업의 AI 적응기
inureyes
PRO
1
340
Rust×eBPFでEDRっぽいものをつくる
sunlife3
2
930
AIで変わるエンジニアの働き方(仮)
naoinaoi
0
500
【GCC2026】大規模言語モデルを活用した内製検索サービスの社内展開や業務活用
bandainamcostudios
PRO
0
530
ハッカソンで入賞した話 @ Findy LT
asari194617
0
1.5k
Featured
See All Featured
Joys of Absence: A Defence of Solitary Play
codingconduct
1
440
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
37
6.6k
Music & Morning Musume
bryan
47
7.3k
AI Search: Implications for SEO and How to Move Forward - #ShenzhenSEOConference
aleyda
1
1.3k
Git: the NoSQL Database
bkeepers
PRO
432
67k
Odyssey Design
rkendrick25
PRO
2
770
Beyond borders and beyond the search box: How to win the global "messy middle" with AI-driven SEO
davidcarrasco
3
220
Designing Dashboards & Data Visualisations in Web Apps
destraynor
232
55k
Avoiding the “Bad Training, Faster” Trap in the Age of AI
tmiket
0
210
Leading Effective Engineering Teams in the AI Era
addyosmani
9
2.4k
Visual Storytelling: How to be a Superhuman Communicator
reverentgeek
2
620
Deep Space Network (abreviated)
tonyrice
0
270
Transcript
MagicPodで実現する E2Eテスト⾃動化 2023.9.12
About me • 伊藤 望 (Ito Nozomi) • MagicPod CEO
• ⾃動テストツール歴:約13年 • Seleniumコミュニティ主宰 • Twitter:@ito_nozomi
1. MagicPodの紹介 2. MagicPodが実現したいこと 3. MagicPod的ベストプラクティス 4. 各種機能紹介 Agenda
1. MagicPodの紹介 2. MagicPodが実現したいこと 3. MagicPod的ベストプラクティス 4. 各種機能紹介
MagicPod §Web & モバイルアプリのE2Eテスト⾃動化SasS §ノーコードで簡単にテスト作成 §柔軟性とメンテナンス性が強み (magicpod.com) 1. MagicPodの紹介
エキスパートが作ったテストツール 著者 翻訳者 コミッター 1. MagicPodの紹介
ご利⽤ユーザー様 https://magicpod.com/customer-stories/ 1. MagicPodの紹介
Demo 1. MagicPodの紹介
Webサイトテスト https://www.youtube.com/watch?v=p1lHiyj2dms 1. MagicPodの紹介 - Demo
モバイルアプリテスト https://www.youtube.com/watch?v=UQsw-q702PY 1. MagicPodの紹介 - Demo
1. MagicPodの紹介 2. MagicPodが実現したいこと 3. MagicPod的ベストプラクティス 4. 各種機能紹介
1. 開発⽣産性向上に寄与 2. MagicPodが実現したいこと • 毎⽇テスト、常にテスト • 問題の早期検出で⽣産性が向上 開発期間 😁
リリース
2. 継続的デリバリーの実現を⽀援 2. MagicPodが実現したいこと • 1⽇何回も、好きなタイミングで変更を本番環境にデプロイ • あらゆるレベルのテストを⾃動化する必要がある 本番 デプロイ
本番 デプロイ 本番 デプロイ 本番 デプロイ
Daily Test/Deployを実現した ユーザーが増えている 2. MagicPodが実現したいこと
2. MagicPodが実現したいこと
2. MagicPodが実現したいこと 家族アルバム みてねの安定リリースを⽀えるMagicPod活⽤状況
2. MagicPodが実現したいこと 『スタディサプリ 中学講座』における E2E Test の運⽤と計測による改善
2. MagicPodが実現したいこと ⾼い開発⽣産性を実現するために取り組んだMagicPodの利活⽤
1. MagicPodの紹介 2. MagicPodが実現したいこと 3. MagicPod的ベストプラクティス 4. 各種機能紹介
テストは毎⽇⾃動実⾏ 3. MagicPod的ベストプラクティス • 最新のソースコードを毎⽇ビルド‧デプロイし、テストを実⾏ • ⼿動だと、担当者‧体制が変わった際に実施されなくなりがち • リリース直前だけ実⾏だと、問題が起きた時に時間がなくて放置 しがち
• 毎⽇の変更を随時反映していく⽅がメンテナンス難易度が低い
テストはクラウドで実⾏ 3. MagicPod的ベストプラクティス • MagicPodクラウド、BrowserStack、SauceLabsのいずれか • ローカルPCだと、トラブルでテスト実⾏に時間がかかり、⼼理 的ハードルが⾼くなる - モバイル実機の接続トラブル
- MagicPodDesktopバージョンアップのトラブル - マシン環境トラブル
優先順位をつけて⾃動化する 3. MagicPod的ベストプラクティス • 早めに何らかの成果を得ることが、⾃動化定着の近道 • 優先順位をつけて⾃動化することが⼤切 まずは正常系を カバー 運⽤してみて、
課題を洗い出す 異常系は 正常系のあと
テスト間の依存関係を減らす 3. MagicPod的ベストプラクティス • 分かりにくいエラーが減る • 失敗切り分けの難易度が下がる • 実現しやすいよう、MagicPod側も改善していきたい
共有ステップを積極的に使う 3. MagicPod的ベストプラクティス • 画⾯が⼤きく変わった時のメンテナンスが楽 • ⾃動修復は(現状)あらゆるケースに有効ではない
ロケーターについて学ぶ 3. MagicPod的ベストプラクティス • ロケーター編集できると、画⾯変更により強いテストが作れる • ⽂法について学べるコンテンツ - https://speakerdeck.com/nozomiito/roketawoxue-ndetesutozi- dong-hua-shang-ji-zhe-womu-zhi-sou
- https://qiita.com/rllllho/items/cb1187cec0fb17fc650a - http://blog.bangboo.com/sub/xpath.html
テストしやすいアプリケーションにする 3. MagicPod的ベストプラクティス • 変わりにくいユニークIDをUI要素に付与する • テスト環境では⾃動テストしやすい設定にする - WebViewデバッグ有効化 -
⾃動化しにくい機能を迂回する⽅法を⽤意 • データを取得‧操作できるWeb APIを⽤意 - データのクリア - 初期データのセットアップ - 内部IDの取得
1. MagicPodの紹介 2. MagicPodが実現したいこと 3. MagicPod的ベストプラクティス 4. 各種機能紹介
クロスブラウザ‧マルチ端末 4. 各種機能紹介 • 作ったテストをさまざまなブラウザ‧端末で実⾏ • 並列実⾏もサポート
Visual Regression Test 4. 各種機能紹介 • 画⾯キャプチャが期待値と⼀致するかチェック • デザイン崩れバグなどの検出が可能
UI変更があった場合のテスト⾃動修復 4. 各種機能紹介
CI連携 4. 各種機能紹介 • Jenkins、GitHub Actions、 CircleCI、 Bitriseほか
各種メンテナンス⽀援機能 4. 各種機能紹介 UI定義共有 共有ステップ データ駆動テスト 変数 条件分岐 履歴管理
さまざまなコマンド 4. 各種機能紹介
値チェック 4. 各種機能紹介 ‒ さまざまなコマンド • 様々な条件で期待値チェック
各種ブラウザ操作 4. 各種機能紹介 ‒ さまざまなコマンド
各種モバイル端末操作 4. 各種機能紹介 ‒ さまざまなコマンド
各種モバイル端末操作 4. 各種機能紹介 ‒ さまざまなコマンド 画像アップロード フリーハンド図形描画 端末回転 スワイプ
各種モバイル端末設定 4. 各種機能紹介 ‒ さまざまなコマンド 地域 タイムゾーン 位置情報 ⾔語
各種ユーティリティコマンド 4. 各種機能紹介 ‒ さまざまなコマンド 数値⽐較 2段階認証突破 正規表現 四則演算
⽇付計算コマンド 4. 各種機能紹介 ‒ さまざまなコマンド • 「明⽇の⽇付を⼊⼒」などの⽤途に
HTTPリクエスト送信 4. 各種機能紹介 ‒ さまざまなコマンド • DBの値チェックやデータクリアなどに
無料トライアルも可能です!