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
仕様書0からAPIテストを自動生成した時のお話
Search
SHIFT EVOLVE
PRO
March 25, 2022
Business
1.4k
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
仕様書0からAPIテストを自動生成した時のお話
SHIFT EVOLVE
PRO
March 25, 2022
More Decks by SHIFT EVOLVE
See All by SHIFT EVOLVE
コミュニティを、仕事にした。‐ 学びの場が会社の価値になるまで / 20260724 Ayana Chandler
shift_evolve
PRO
0
51
越境QA 〜QA歴18年のキャリア~ / 20260724 Masakazu Yoshikawa
shift_evolve
PRO
0
39
fukabori.fm出張版:AI駆動開発でテストエンジニアは不要になるのか / 20260723 Yoshimasa Iwase & Tomoo Morikawa
shift_evolve
PRO
2
49
【実録】「なんちゃってアジャイル」によるプロジェクト崩壊とその教訓 / 20260723 Takeshi Watarai
shift_evolve
PRO
1
25
AIとハーネスで育てるトランスコンパイラ / 20260722 Yasushi Katayama
shift_evolve
PRO
3
790
AWS DevOps AgentでCDKメンテナンスは楽になるのか ~検証から見えた最適解~ / 20260718 Masaki Okuda
shift_evolve
PRO
0
590
AI時代のYAGNI:「爆速で無駄になった機能」からの学び / 20260720 Naoki Takahashi
shift_evolve
PRO
3
540
AIが変えるDevSecOps―開発速度とセキュリティの両立へ / 20260714 Mitsutoshi Matsuo
shift_evolve
PRO
1
85
生成AI活用によるODC欠陥分析の分類高速化の実践と導入効果 / 20260703 Suguru Ishii
shift_evolve
PRO
2
170
Other Decks in Business
See All in Business
株式会社ripples(リップルズ)-Company Deck
ripples_deck
0
660
SimpleForm 会社紹介資料
simpleform
2
57k
When do you feel a customer's trust?
tanaken0515
0
220
【アルー株式会社】27年度・28年度新卒採用_会社説明資料
recruitalue
0
170
Copilotで資料を作るようになって仕事のやり方が変わった話
aonomasahiro
2
720
サステナブルな成長を支えるセルフマネジメントの技術/Self Management skill for growth
ikuodanaka
1
310
POP-UPデザイン企画提案書
superpenguin
PRO
0
160
フルカイテン株式会社 採用資料
fullkaiten
0
100k
株式会社ルクレ新卒向け採用ピッチ
lecre
0
1k
ClaudeCode × Hubspot 営業・マーケティングAI段階的成長ロードマップ
nagatsu
0
770
自分を知ることから始まる生存戦略
peacemaker07
2
450
JAPANSHOP大阪/POP-UPセミナースライド
superpenguin
PRO
0
190
Featured
See All Featured
GitHub's CSS Performance
jonrohan
1033
470k
How Fast Is Fast Enough? [PerfNow 2025]
tammyeverts
3
660
Data-driven link building: lessons from a $708K investment (BrightonSEO talk)
szymonslowik
1
1.2k
Site-Speed That Sticks
csswizardry
13
1.3k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
17k
Fireside Chat
paigeccino
42
4k
Claude Code どこまでも/ Claude Code Everywhere
nwiizo
65
57k
Typedesign – Prime Four
hannesfritz
42
3.1k
How to Build an AI Search Optimization Roadmap - Criteria and Steps to Take #SEOIRL
aleyda
1
2.1k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
230
23k
Between Models and Reality
mayunak
4
380
Paper Plane (Part 1)
katiecoart
PRO
1
9.8k
Transcript
仕様書0からAPIテストを自動生成した時のお話 「すべてのソフトウェアにMade in Japanの品質を」
自動テストでこんなことに困っていませんか? • E2Eテストが安定しない(flaky)…. • E2Eテストのメンテナンスに時間がかかる…. • E2Eテストの実行時間が長い…. • E2Eテストのテストコード作成までが一苦労….
自動テストでこんなことに困っていませんか? だったら、E2Eテストやめればいいじゃね
自動テストでこんなことに困っていませんか? E2EテストはスモークテストとUIテストだけにして データ遷移などのテストは、APIテストでいいじゃ ないか
自動テストでこんなことに困っていませんか? けど・・・
自動テストでこんなことに困っていませんか? API仕様書がない! ※Open APIもない
自動テストでこんなことに困っていませんか? テストケースはある!
自動テストでこんなことに困っていませんか? APIテストを0から書くのは面倒だ!
自動テストでこんなことに困っていませんか? テストケース通り操作したら勝手に APIテストが作成できたら楽だよね
自動テストでこんなことに困っていませんか? そんなライブラリあるかな
自動テストでこんなことに困っていませんか? なさそう・・・
自動テストでこんなことに困っていませんか? だったら、作ればいいんだ!
自動テストでこんなことに困っていませんか? 作りました! https://www.npmjs.com/package/rest-api-testing-codegen
どの辺のテストができるの? 既存のテストタイプにマッチするものがなかったので、 BFF(Backend For Frontend)APIテスト と命名しました。
どの辺のテストができるの? BFF(Backend For Frontend)APIテストとは? バックエンド側に、APIリクエストを組み合わせて発行し、 UIを返さず、画面操作を模した形で行うテストアプローチ。 ※テストピラミッドでは、UI TestsとIntegration API Testsの中間位置
バックエンドのAPIテストのため、 UIの影響を最小限に E2Eテストよりも安定かつ高速な テスト実行が可能 テストメンテナンス テスト実行 テスト観点 E2EテストとAPIシナリオテストでテストレベル(観点)を 分けることにより、より適切なメンテナンス量へ
BFFAPIテストツールのご紹介 ブラウザ操作でキャプチャ 画面A 画面B 画面C Playwright Web Api Testing Codege
WebApiを抽出、 シナリオテストコードを自動生成 API呼び出し 画面A 画面B 画面C ブラウザ操作で、RestApiでのシナリオテストを自動生成 GUIを使用しない安定かつ高速なテストを実現 BFFAPIテストツール 自動生成
BFFAPIテストの導入効果 従 来 の E 2 E テ ス ト
の 場 合 B F F A P I テ ス ト を 組 み 合 わ せ た 場 合 テスト自動化コスト テストスコープ テスト 設計 自動テスト 作成 テスト 実行 運用保守 自動化 エンジニア テスト 設計 自動テスト 作成 テスト 実行 運用保 守 コストカット GUI操作キャプチャによ るテストコード自動生成 で工数短縮 UIなしの高速APIテス トで実行時間短縮 UI変更に影響しないため 既存テストの修正が不要 UI Testsの範囲にBFFAPIテストを加え、テストスコープを最適化 E2Eテストはクイックやスモークテスト などで最小限にする 因子水準の多い組み合わせテス トは高速なAPIテストで実行する UI Tests 全てをE2Eテストで行う 組み合わせの多いパターンも 全てE2Eテストでカバーする 【4画面10組み合わせテストの場合】 4画面 * 10組み合わせ = 40パターン 【4画面10組み合わせテストの場合】 E2Eテスト:4画面 * 4因子 = 4パターン BFFAPIテスト:10組み合わせ = 10パターン 計:14パターン 自動化 エンジニア
DEMO mkdir aws-ec2-instance-pricing cd aws-ec2-instance-pricing npm init -y npm i
-D rest-api-testing-codegen npm i -D @playwright/test npx rest-api-testing-codegen --baseURL=https://aws.amazon.com/jp/ec2/pricing/reserved- instances/pricing/ --headers=cookie npx playwright test
ご清聴ありがとうございました。