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
ノーコードに学ぶE2Eテスト自動化ベストプラクティス
Search
Nozomi Ito
October 11, 2023
Technology
0
760
ノーコードに学ぶE2Eテスト自動化ベストプラクティス
Frontend Night 〜Webフロントエンドテスト編〜
のLT登壇資料です。
Nozomi Ito
October 11, 2023
Tweet
Share
More Decks by Nozomi Ito
See All by Nozomi Ito
ノーコードE2Eテストで実現する高速開発
nozomiito
0
590
MagicPodで実現するE2Eテスト自動化
nozomiito
0
2.6k
MagicPod開発におけるテスト自動化とCI
nozomiito
0
660
最近のMagicPodまとめ
nozomiito
0
540
テスト自動化スタートアップがエバンジェリストを募集するワケ
nozomiito
0
250
MagicPodが取り組むテスト自動化最前線
nozomiito
0
420
ロケーターを学んでテスト自動化上級者を目指そう
nozomiito
1
5.7k
テスト自動化で起業した10年とテスト自動化普及の歴史を振り返る
nozomiito
4
2.1k
テスト自動化で起業した10年とテスト自動化普及の歴史を振り返る
nozomiito
8
5.2k
Other Decks in Technology
See All in Technology
ドメイン駆動設計の実践により事業の成長スピードと保守性を両立するショッピングクーポン
lycorptech_jp
PRO
7
760
.NET 最新アップデート ~ AI とクラウド時代のアプリモダナイゼーション
chack411
0
190
iPadOS18でフローティングタブバーを解除してみた
sansantech
PRO
1
120
完全自律型AIエージェントとAgentic Workflow〜ワークフロー構築という現実解
pharma_x_tech
0
320
I could be Wrong!! - Learning from Agile Experts
kawaguti
PRO
8
3.3k
Goで実践するBFP
hiroyaterui
1
120
生成AI × 旅行 LLMを活用した旅行プラン生成・チャットボット
kominet_ava
0
150
深層学習と3Dキャプチャ・3Dモデル生成(土木学会応用力学委員会 応用数理・AIセミナー)
pfn
PRO
0
450
Accessibility Inspectorを活用した アプリのアクセシビリティ向上方法
hinakko
0
170
20250116_JAWS_Osaka
takuyay0ne
2
190
AWSサービスアップデート 2024/12 Part3
nrinetcom
PRO
0
140
データ基盤におけるIaCの重要性とその運用
mtpooh
2
250
Featured
See All Featured
jQuery: Nuts, Bolts and Bling
dougneiner
62
7.6k
Building Adaptive Systems
keathley
38
2.4k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
507
140k
The Illustrated Children's Guide to Kubernetes
chrisshort
48
49k
Building Better People: How to give real-time feedback that sticks.
wjessup
366
19k
Site-Speed That Sticks
csswizardry
2
260
Thoughts on Productivity
jonyablonski
68
4.4k
Facilitating Awesome Meetings
lara
51
6.2k
Writing Fast Ruby
sferik
628
61k
Building Your Own Lightsaber
phodgson
104
6.2k
Navigating Team Friction
lara
183
15k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
230
52k
Transcript
ノーコードに学ぶE2Eテスト⾃動化 ベストプラクティス 2023.10.11 Frontend Night
About me • 伊藤 望 (Ito Nozomi) • MagicPod CEO
• ⾃動テストツール歴:約13年 • Seleniumコミュニティ主宰 • Twitter:@ito_nozomi
1. MagicPodとは 2. ⾃動テストで変わる開発フロー 3. MagicPod的ベストプラクティス 4. 各種機能紹介 Agenda
1. MagicPodとは 2. ⾃動テストで変わる開発フロー 3. MagicPod的ベストプラクティス 4. 各種機能紹介
MagicPod §Web & モバイルアプリのE2Eテスト⾃動化SasS §ノーコードで簡単にテスト作成 §柔軟性とメンテナンス性が強み (magicpod.com) 1. MagicPodとは
ユーザーさんのブログ記事‧発表 1. MagicPodとは ⾃動テストを社内へ浸透させた話 MagicPodで始める がんばらない回帰試験の⾃動化 スタンバイQAのテスト⾃動化 (MagicPod) MagicPodのWeb APIコールを利⽤した
MailSlurpの⾃動テストTips MagicPodの「履歴機能」による テストケースレビューの効率化 MagicPodの要素検出で検出できなかった 要素を指定する⽅法(XPath編)
Demo(Webサイトテスト) https://www.youtube.com/watch?v=p1lHiyj2dms 1. MagicPodとは
1. MagicPodとは 2. ⾃動テストで変わる開発フロー 3. MagicPod的ベストプラクティス 4. 各種機能紹介
1. 開発⽣産性が向上 2. ⾃動テストで変わる開発フロー • 毎⽇テスト、常にテスト • 問題の早期検出で⽣産性が向上 開発期間 😁
リリース
2. 継続的デリバリーを実現 2. ⾃動テストで変わる開発フロー • 1⽇何回も、好きなタイミングで変更を本番環境にデプロイ • あらゆるレベルのテストを⾃動化する必要がある 本番 デプロイ
本番 デプロイ 本番 デプロイ 本番 デプロイ
Daily Test/Deployを実現した ユーザーが増えている 2. ⾃動テストで変わる開発フロー
2. ⾃動テストで変わる開発フロー 家族アルバム みてねの安定リリースを⽀えるMagicPod活⽤状況
2. ⾃動テストで変わる開発フロー フロントエンド開発における、デプロイ頻度を上げるための テスト設計と仕組みづくりのヒント
2. ⾃動テストで変わる開発フロー 『スタディサプリ 中学講座』における E2E Test の運⽤と計測による改善
2. ⾃動テストで変わる開発フロー ⾼い開発⽣産性を実現するために取り組んだMagicPodの利活⽤
Daily Test実現までの道のり 2. ⾃動テストで変わる開発フロー CIを 定着させる テストを いくつか作る CIにつないで 毎⽇回す
回しながら テストを 増やす
⾼頻度デプロイ実現までの道のり 2. ⾃動テストで変わる開発フロー 各社事例を参考
1. MagicPodとは 2. ⾃動テストで変わる開発フロー 3. MagicPod的ベストプラクティス 4. 各種機能紹介
⼀番実践して欲しい2つのこと 3. MagicPod的ベストプラクティス 1. 毎⽇⾃動実⾏ 2. クラウドで実⾏
1.テストは毎⽇⾃動実⾏ 3. MagicPod的ベストプラクティス • 最新のソースコードを毎⽇ビルド‧デプロイし、テストを実⾏ • ⼿動だと、担当者‧体制が変わった際に実施されなくなりがち • リリース直前だけ実⾏だと、問題が起きた時に時間がなくて放置 しがち
• 毎⽇の変更を随時反映していく⽅がメンテナンス難易度が低い
2.テストはクラウドで実⾏ 3. MagicPod的ベストプラクティス • MagicPodクラウド、BrowserStack、SauceLabsのいずれか • ローカルPCだと、トラブルでテスト実⾏に時間がかかり、⼼理 的ハードルが⾼くなる - モバイル実機の接続トラブル
- MagicPodDesktopバージョンアップのトラブル - マシン環境トラブル
優先順位をつけて⾃動化する 3. MagicPod的ベストプラクティス • 早めに何らかの成果を得ることが、⾃動化定着の近道 • 優先順位をつけて⾃動化することが⼤切 まずは正常系を カバー 運⽤してみて、
課題を洗い出す 異常系は 正常系のあと
テスト間の依存関係を減らす 3. MagicPod的ベストプラクティス • 分かりにくいエラーが減る • 失敗切り分けの難易度が下がる • 実現しやすいよう、MagicPod側も改善していきたい
共有ステップを積極的に使う 3. MagicPod的ベストプラクティス • 画⾯が⼤きく変わった時のメンテナンスが楽 • ⾃動修復は(現状)あらゆるケースに有効ではない
ロケーターについて学ぶ 3. MagicPod的ベストプラクティス • ロケーター編集できると、画⾯変更により強いテストが作れる • ⽂法について学べるコンテンツ - https://qiita.com/rllllho/items/cb1187cec0fb17fc650a -
http://blog.bangboo.com/sub/xpath.html • MagicPod側のコンテンツ‧機能も強化したい
テストしやすいアプリケーションにする 3. MagicPod的ベストプラクティス • 変わりにくいユニークIDをUI要素に付与する • テスト環境では⾃動テストしやすい設定にする - WebViewデバッグ有効化 -
⾃動化しにくい機能を迂回する⽅法を⽤意 • データを取得‧操作できるWeb APIを⽤意 - データのクリア - 初期データのセットアップ - 内部IDの取得
1. MagicPodとは 2. ⾃動テストで変わる開発フロー 3. MagicPod的ベストプラクティス 4. 各種機能紹介
クロスブラウザ‧マルチ端末 4. 各種機能紹介 • 作ったテストをさまざまなブラウザ‧端末で実⾏ • 並列実⾏もサポート
Visual Regression Test 4. 各種機能紹介 • 画⾯キャプチャが期待値と⼀致するかチェック • デザイン崩れバグなどの検出が可能
UI変更があった場合のテスト⾃動修復 4. 各種機能紹介
CI連携 4. 各種機能紹介 • Jenkins、GitHub Actions、 CircleCI、 Bitriseほか
各種メンテナンス⽀援機能 4. 各種機能紹介 UI定義共有 共有ステップ データ駆動テスト 変数 条件分岐 履歴管理
ありがとうございました!