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
Step Functions(TestState API)から始めるローカルテスト戦略
Search
桑野翔
December 11, 2025
1
770
Step Functions(TestState API)から始めるローカルテスト戦略
2025/12/10 re:Growth 大阪の登壇資料です。
桑野翔
December 11, 2025
Tweet
Share
More Decks by 桑野翔
See All by 桑野翔
AI時代に考えるビギナーエンジニア×スキルトランスファーとの向き合い方
kuwan0
1
210
Featured
See All Featured
Unsuck your backbone
ammeep
671
58k
Gemini Prompt Engineering: Practical Techniques for Tangible AI Outcomes
mfonobong
2
280
Embracing the Ebb and Flow
colly
88
5k
Applied NLP in the Age of Generative AI
inesmontani
PRO
4
2.1k
Why Our Code Smells
bkeepers
PRO
340
58k
The Limits of Empathy - UXLibs8
cassininazir
1
220
Into the Great Unknown - MozCon
thekraken
40
2.3k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
254
22k
Ruling the World: When Life Gets Gamed
codingconduct
0
150
A Tale of Four Properties
chriscoyier
162
24k
Ecommerce SEO: The Keys for Success Now & Beyond - #SERPConf2024
aleyda
1
1.8k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
122
21k
Transcript
クラウド事業本部 コンサルティング部 桑野 翔 Step Functionsから始める ローカルテスト戦略 〜TestState API の機能強化(2025年11⽉)〜
◯名前 ◯好きなAWSサービス ◯re:Invent参加歴 桑野 翔 くわ の かける API Gateway
WebSocket API なし来年は⾏きたい... ⾃⼰紹介
Q. Step Functionsのテスト やってますか?
「デプロイして動くかどうか確認すればいいんちゃう?」 「テストやってる暇があるなら機能開発優先やってや」 「テストってそもそも必要なん?」 よくある反応
本当にそれで⼤丈夫やろか?
Step Functionsはこんなサービス! ‧AWSサービスという「関数」を組み合わせた処理を実現 ‧複雑なエラーハンドリングの組み込み ‧条件分岐‧状態遷移の管理ができる ‧データ変換の仕組みを搭載
こんな多機能なサービス... テストするしかないやん!
TestState APIの歴史 ‧個別ステートのテスト ‧DEBUG / TRACE による検査 ◯2023年 re:Invent 専⽤APIから依存リソースを含む結合テストが可能に!
TestState APIの歴史(続き) ◯2023年 re:Invent ×制約がいくつかありました ‧依存リソースのデプロイが必要 ‧Lambda関数やS3など ‧それらを実⾏するためのIAMロール ‧実⾏コストが発⽣(費⽤‧時間)
TestState APIの歴史(続き) ‧Mock機能のサポートが追加 ◯2025年11⽉ pre re:Invent 専⽤APIから依存リソースが必要ない単体テストが可能に!
アップデート内容を紹介!! 1. Mockサポート ‧依存リソースなしでテストができる ‧roleArnがいらなくなる ※TestState APIを実⾏する権限だけは必要です
アップデート内容を紹介!!(続き) 2. ステートの全パターン検証 ‧Map(配列反復処理)やParallel(並列実⾏) 3. エラーパターンの検証 ‧Retry(試⾏回数の境界値テスト)やCatch(例外種別)
結局何が変わったん?
そもそもStep Functionsで確認したいこと ◎意図したデータ変換がされているか ◎エラーハンドリングが機能するか ◎条件分岐が正しいか
アップデートがもたらす変化 ◯Before(2023年 re:Invent) ‧テストするのに依存リソースのデプロイが必要 ‧テスト時にリソースにアクセス&実⾏してしまう ‧狙って条件分岐‧エラーを再現するのが困難 ‧テストにお⾦がかかる&時間もかかる
アップデートがもたらす変化(続き) ◯After(2025年11⽉ pre re:Invent) ‧テストに依存リソースのデプロイが不要 ‧テスト時にリソースにアクセス&実⾏しない ‧狙って条件分岐‧エラーを再現するのが簡単 ‧テストにお⾦がかからない&時間も削減
関⼼の分離が実現した! ⼀⾔で表すなら... 以上を踏まえてテスト戦略を考えてみる
None
Step Functionsのテスト戦略 ◯テストピラミッドに当てはめることができる ‧単体テスト:MockありTestState API →ステートのロジックを検証する ‧結合テスト:MockなしTestState API →他のAWSリソースとの統合を検証する ‧E2Eテスト:デプロイ済みワークフローを実⾏
→実環境のワークフロー全体を検証する
None
これが意味すること ◎通常のコードと同じようにテスト ◎⾼速なデプロイフィードバック ◎コードレビュー段階で品質担保 ◎コスト削減 単体テスト感覚で簡単に検証ができる デプロイしなくても即座に検証ができる プルリクマージ前にテストを実施できる サービス実⾏料⾦が不要になり、開発時間も削減できる
Step Functionsの開発体験が 劇的に変わります!
まとめ(TestState APIアップデートで実現できること) ◎Mockによるローカルテストの実⾏ ◎ステート定義のロジック検証 ◎CI / CD統合の難易度低下 ◎⾼速なフィードバックループの実現 デプロイが不要でコストがかからない データ変換、エラーハンドリング、状態遷移を簡単に再現できる
リソース依存がなく、最⼩権限で実⾏できる 開発時間が約40%ほど短縮できる...らしい
参考 ‧AWS Update Blog ‧AWS Docs https://aws.amazon.com/jp/about-aws/whats-new/2025/11/aws-step-functions-local-t esting-teststate-api/ docs.aws.amazon.com/step-functions/latest/dg/test-state-isolation.html
None