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
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
110
SHIFTのコミュニティ活動 / 20260828 Yumiko Ohata
shift_evolve
PRO
2
96
AI活用によるレガシーモダナイゼーションとプロジェクトマネジメント / 20260827 Tsukasa Takemura & Takashi Maekawa
shift_evolve
PRO
0
100
兼務の事務局から、組織へ SHIFTのAWSアライアンス立ち上げ記 / 20260807 Satoshi Torano
shift_evolve
PRO
1
98
AIは実装を速くする。では、私たちは何を今作るべきか?-立場を越えてリリースに向き合ったチーム開発の実践 / 20260801 Hiromi Nakaya and Naoki Takahashi
shift_evolve
PRO
3
1.5k
Issue設計から始める仕様駆動開発 / 20260731 Mizuki Hirata
shift_evolve
PRO
1
340
”そのまま移行”からの脱却へ ― AI解析で実現するSAP S/4HANA導入成功メソッド / 20260729 Akio Hane
shift_evolve
PRO
1
94
区民の問い合わせ、AIにどこまで任せる? 品川区×SHIFTが挑む自治体音声AI実証の現在地 / 20260626 Taku Nishizawa and Satoshi Torano
shift_evolve
PRO
1
360
コミュニティを、仕事にした。‐ 学びの場が会社の価値になるまで / 20260724 Ayana Chandler
shift_evolve
PRO
0
200
Other Decks in Business
See All in Business
採用デック
roms
0
210
オープンワーク会社紹介資料 / company profile
openwork
4
610k
DNX Capital|Introduction Deck
natsumidnx
0
170
逆の立場から考える職務経歴書 / A Resume from the Employer’s Perspective
iwashi86
13
5.7k
【株式会社カオナビ】会社紹介資料 for engineer / kaonavi/introduction-for-engineer
kaonavi
3
62k
エムスリーキャリア エンジニア採用資料 / M3C Engineer Guide
m3c
2
120k
事業計画及び成長可能性に関する事項
kuradashi
0
2.2k
アジャイルのインストールと実践 ~導入の軌跡と現在地~
nakahara
0
310
シナジーマーケティング株式会社 採用ピッチ資料
synergymarketing
1
68k
アドバリスター株式会社 プロフェッショナルサービス事業
advalistar
0
18k
事業本部紹介資料_261001
mwktp
0
280
Crisp Code inc.|わたしたちの事例 / 実績 - Works
so_kotani
0
2.4k
Featured
See All Featured
Optimizing for Happiness
mojombo
378
71k
More Than Pixels: Becoming A User Experience Designer
marktimemedia
3
570
Deep Space Network (abreviated)
tonyrice
0
380
AI Search: Where Are We & What Can We Do About It?
aleyda
0
8.1k
Odyssey Design
rkendrick25
PRO
2
880
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
50
10k
Effective software design: The role of men in debugging patriarchy in IT @ Voxxed Days AMS
baasie
1
570
Fireside Chat
paigeccino
43
4.1k
Become a Pro
speakerdeck
PRO
31
6.3k
Redefining SEO in the New Era of Traffic Generation
szymonslowik
1
480
Design of three-dimensional binary manipulators for pick-and-place task avoiding obstacles (IECON2024)
konakalab
0
630
Context Engineering - Making Every Token Count
addyosmani
9
1.2k
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
ご清聴ありがとうございました。