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
1k
ノーコードに学ぶ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
720
MagicPodで実現するE2Eテスト自動化
nozomiito
0
3.8k
MagicPod開発におけるテスト自動化とCI
nozomiito
0
840
最近のMagicPodまとめ
nozomiito
0
660
テスト自動化スタートアップがエバンジェリストを募集するワケ
nozomiito
0
350
MagicPodが取り組むテスト自動化最前線
nozomiito
0
510
ロケーターを学んでテスト自動化上級者を目指そう
nozomiito
1
9k
テスト自動化で起業した10年とテスト自動化普及の歴史を振り返る
nozomiito
4
2.6k
テスト自動化で起業した10年とテスト自動化普及の歴史を振り返る
nozomiito
8
6.4k
Other Decks in Technology
See All in Technology
APMの世界から見るOpenTelemetryのTraceの世界 / OpenTelemetry in the Java
soudai
PRO
0
140
Oracle Database@AWS:サービス概要のご紹介
oracle4engineer
PRO
4
1.5k
大規模な組織におけるAI Agent活用の促進と課題
lycorptech_jp
PRO
4
4.7k
技術選定 したい人 したくない人
shirayanagiryuji
0
340
Interop Tokyo 2025 ShowNet Team Memberで学んだSRv6を基礎から丁寧に
miyukichi_ospf
0
170
Goで実現する堅牢なアーキテクチャ:DDD、gRPC-connect、そしてAI協調開発の実践
fujidomoe
3
610
Getting started with Google Antigravity
meteatamel
0
350
「技術的にできません」を越えて価値を生み出せ──研究開発チームをPMが率いて生み出した価値創出
hiro93n
1
310
Oracle Database@Google Cloud:サービス概要のご紹介
oracle4engineer
PRO
3
1.1k
NW構成図の自動描画は何が難しいのか?/netdevnight3
corestate55
2
270
AIに視覚を与えモバイルアプリケーション開発をより円滑に行う
lycorptech_jp
PRO
1
490
EMから現場に戻って見えた2026年の開発者視点
sudoakiy
1
390
Featured
See All Featured
Building a Scalable Design System with Sketch
lauravandoore
463
34k
Large-scale JavaScript Application Architecture
addyosmani
515
110k
Un-Boring Meetings
codingconduct
0
210
Paper Plane (Part 1)
katiecoart
PRO
0
4.8k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
How to Get Subject Matter Experts Bought In and Actively Contributing to SEO & PR Initiatives.
livdayseo
0
74
Context Engineering - Making Every Token Count
addyosmani
9
680
Writing Fast Ruby
sferik
630
62k
Noah Learner - AI + Me: how we built a GSC Bulk Export data pipeline
techseoconnect
PRO
0
120
Utilizing Notion as your number one productivity tool
mfonobong
3
230
Believing is Seeing
oripsolob
1
67
<Decoding/> the Language of Devs - We Love SEO 2024
nikkihalliwell
1
140
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定義共有 共有ステップ データ駆動テスト 変数 条件分岐 履歴管理
ありがとうございました!