$30 off During Our Annual Pro Sale. View Details »
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Step Functions(TestState API)から始めるローカルテスト戦略
Search
桑野翔
December 11, 2025
1
350
Step Functions(TestState API)から始めるローカルテスト戦略
2025/12/10 re:Growth 大阪の登壇資料です。
桑野翔
December 11, 2025
Tweet
Share
Featured
See All Featured
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.3k
StorybookのUI Testing Handbookを読んだ
zakiyama
31
6.4k
The Invisible Side of Design
smashingmag
302
51k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
141
34k
Navigating Team Friction
lara
191
16k
How STYLIGHT went responsive
nonsquared
100
6k
Writing Fast Ruby
sferik
630
62k
The Straight Up "How To Draw Better" Workshop
denniskardys
239
140k
The Cost Of JavaScript in 2023
addyosmani
55
9.3k
We Have a Design System, Now What?
morganepeng
54
7.9k
Bootstrapping a Software Product
garrettdimon
PRO
307
120k
Mobile First: as difficult as doing things right
swwweet
225
10k
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