Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
仕様書0からAPIテストを自動生成した時のお話
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
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
価値実現重視へとシフトした時代を生き抜くには / 20260713 Takeshi Watarai
shift_evolve
PRO
1
37
SHIFTのコミュニティ活動 / 20260828 Yumiko Ohata
shift_evolve
PRO
2
67
AI活用によるレガシーモダナイゼーションとプロジェクトマネジメント / 20260827 Tsukasa Takemura & Takashi Maekawa
shift_evolve
PRO
0
48
兼務の事務局から、組織へ SHIFTのAWSアライアンス立ち上げ記 / 20260807 Satoshi Torano
shift_evolve
PRO
1
66
AIは実装を速くする。では、私たちは何を今作るべきか?-立場を越えてリリースに向き合ったチーム開発の実践 / 20260801 Hiromi Nakaya and Naoki Takahashi
shift_evolve
PRO
3
1.2k
Issue設計から始める仕様駆動開発 / 20260731 Mizuki Hirata
shift_evolve
PRO
1
250
”そのまま移行”からの脱却へ ― AI解析で実現するSAP S/4HANA導入成功メソッド / 20260729 Akio Hane
shift_evolve
PRO
1
56
区民の問い合わせ、AIにどこまで任せる? 品川区×SHIFTが挑む自治体音声AI実証の現在地 / 20260626 Taku Nishizawa and Satoshi Torano
shift_evolve
PRO
1
99
コミュニティを、仕事にした。‐ 学びの場が会社の価値になるまで / 20260724 Ayana Chandler
shift_evolve
PRO
0
140
Other Decks in Business
See All in Business
PMは、ブランドマネージャーになる。 / PM to BrandManager
sninomi1018
1
270
FABRIC TOKYO会社紹介資料 / We are hiring(2026年9月3日更新)
yuichirom
39
420k
NEXERA inc. | Company Deck
nexera
0
25k
事業領域
daisan123
0
510
ファブリカホールディングス_2027年3月期 第1四半期説明資料
fabrica_com
1
6.2k
WHITEGLASSES BRAND BOOK | デジタル時代に勝てるキャリアを
whiteglasses2021
1
890
株式会社ユビレジ_採用ピッチ資料 / Ubiregi_CompanyProfile
ubiregi_saiyo
1
12k
ダイサンデジタル事業部
daisan123
0
510
202609_UPDATER_companysummary
updater_pr
0
170k
株式会社ジェーイーエル会社案内_簡易版202608
jelrobot
0
410
増え続ける運用を、 Skill化する"型"でさばく
morimori3
0
240
20260806financial-results-presentation
sios3744
0
150
Featured
See All Featured
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
49
10k
Six Lessons from altMBA
skipperchong
29
4.5k
Effective software design: The role of men in debugging patriarchy in IT @ Voxxed Days AMS
baasie
0
510
How to Think Like a Performance Engineer
csswizardry
28
2.8k
Prompt Engineering for Job Search
mfonobong
0
450
Why Our Code Smells
bkeepers
PRO
340
58k
We Are The Robots
honzajavorek
0
350
The Director’s Chair: Orchestrating AI for Truly Effective Learning
tmiket
1
290
Product Roadmaps are Hard
iamctodd
55
13k
Agile that works and the tools we love
rasmusluckow
331
22k
GraphQLとの向き合い方2022年版
quramy
50
15k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
230
23k
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
ご清聴ありがとうございました。