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
2.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
730
ノーコードE2Eテストで実現する高速開発
nozomiito
0
570
MagicPod開発におけるテスト自動化とCI
nozomiito
0
650
最近のMagicPodまとめ
nozomiito
0
530
テスト自動化スタートアップがエバンジェリストを募集するワケ
nozomiito
0
240
MagicPodが取り組むテスト自動化最前線
nozomiito
0
410
ロケーターを学んでテスト自動化上級者を目指そう
nozomiito
1
5.5k
テスト自動化で起業した10年とテスト自動化普及の歴史を振り返る
nozomiito
4
2.1k
テスト自動化で起業した10年とテスト自動化普及の歴史を振り返る
nozomiito
8
5.1k
Other Decks in Technology
See All in Technology
PHPからGoへのマイグレーション for DMMアフィリエイト
yabakokobayashi
1
170
祝!Iceberg祭開幕!re:Invent 2024データレイク関連アップデート10分総ざらい
kniino
3
310
PHP ユーザのための OpenTelemetry 入門 / phpcon2024-opentelemetry
shin1x1
1
260
サイボウズフロントエンドエキスパートチームについて / FrontendExpert Team
cybozuinsideout
PRO
5
38k
Oracle Cloud Infrastructure:2024年12月度サービス・アップデート
oracle4engineer
PRO
0
200
NW-JAWS #14 re:Invent 2024(予選落ち含)で 発表された推しアップデートについて
nagisa53
0
270
20241214_WACATE2024冬_テスト設計技法をチョット俯瞰してみよう
kzsuzuki
3
530
あの日俺達が夢見たサーバレスアーキテクチャ/the-serverless-architecture-we-dreamed-of
tomoki10
0
460
ガバメントクラウドのセキュリティ対策事例について
fujisawaryohei
0
560
フロントエンド設計にモブ設計を導入してみた / 20241212_cloudsign_TechFrontMeetup
bengo4com
0
1.9k
レンジャーシステムズ | 会社紹介(採用ピッチ)
rssytems
0
150
Fanstaの1年を大解剖! 一人SREはどこまでできるのか!?
syossan27
2
170
Featured
See All Featured
Statistics for Hackers
jakevdp
796
220k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
26
1.9k
KATA
mclloyd
29
14k
A better future with KSS
kneath
238
17k
RailsConf 2023
tenderlove
29
940
Fashionably flexible responsive web design (full day workshop)
malarkey
405
66k
4 Signs Your Business is Dying
shpigford
181
21k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
0
98
How to Think Like a Performance Engineer
csswizardry
22
1.2k
Producing Creativity
orderedlist
PRO
341
39k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
2
290
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
28
900
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の値チェックやデータクリアなどに
無料トライアルも可能です!