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
0
3.5k
MagicPodで実現するE2Eテスト自動化
TECH STREET テスト自動化の先駆者3社が集結!今後の自動化の方向性
の発表資料です。
Nozomi Ito
September 13, 2023
Tweet
Share
More Decks by Nozomi Ito
See All by Nozomi Ito
ノーコードに学ぶE2Eテスト自動化ベストプラクティス
nozomiito
0
950
ノーコードE2Eテストで実現する高速開発
nozomiito
0
670
MagicPod開発におけるテスト自動化とCI
nozomiito
0
800
最近のMagicPodまとめ
nozomiito
0
630
テスト自動化スタートアップがエバンジェリストを募集するワケ
nozomiito
0
320
MagicPodが取り組むテスト自動化最前線
nozomiito
0
490
ロケーターを学んでテスト自動化上級者を目指そう
nozomiito
1
8.2k
テスト自動化で起業した10年とテスト自動化普及の歴史を振り返る
nozomiito
4
2.4k
テスト自動化で起業した10年とテスト自動化普及の歴史を振り返る
nozomiito
8
6.1k
Other Decks in Technology
See All in Technology
Databricks AI/BI Genie の「値ディクショナリー」をAmazonの奥地(S3)まで見に行く
kameitomohiro
1
380
「REALITY」3Dアバターシステムの7年分の拡張の歴史について
gree_tech
PRO
0
130
Introduction to Bill One Development Engineer
sansan33
PRO
0
300
AI駆動で進める依存ライブラリ更新 ─ Vue プロジェクトの品質向上と開発スピード改善の実践録
sayn0
1
170
まだ間に合う! 2025年のhono/ssg事情
watany
2
260
SCONE - 動画配信の帯域を最適化する新プロトコル
kazuho
1
320
Okta Identity Governanceで実現する最小権限の原則 / Implementing the Principle of Least Privilege with Okta Identity Governance
tatsumin39
0
160
Claude Codeを駆使した初めてのiOSアプリ開発 ~ゼロから3週間でグローバルハッカソンで入賞するまで~
oikon48
10
5.4k
データ戦略部門 紹介資料
sansan33
PRO
1
3.8k
OpenTelemetry が拡げる Gemini CLI の可観測性
phaya72
2
1.9k
GraphRAG グラフDBを使ったLLM生成(自作漫画DBを用いた具体例を用いて)
seaturt1e
1
110
物体検出モデルでシイタケの収穫時期を自動判定してみた。 #devio2025
lamaglama39
0
270
Featured
See All Featured
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.5k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.2k
Optimising Largest Contentful Paint
csswizardry
37
3.5k
Raft: Consensus for Rubyists
vanstee
140
7.2k
Being A Developer After 40
akosma
91
590k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
For a Future-Friendly Web
brad_frost
180
10k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
48
9.7k
Intergalactic Javascript Robots from Outer Space
tanoku
272
27k
Practical Orchestrator
shlominoach
190
11k
The Straight Up "How To Draw Better" Workshop
denniskardys
238
140k
Building an army of robots
kneath
305
46k
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の値チェックやデータクリアなどに
無料トライアルも可能です!