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
Postman test scripts でつくるカード決済の非同期処理テスト
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
ur1bou
December 11, 2023
Programming
580
1
Share
Postman test scripts でつくるカード決済の非同期処理テスト
ur1bou
December 11, 2023
More Decks by ur1bou
See All by ur1bou
Postmanでつくる決済システムの非同期処理テスト
ur1bou
6
2.2k
クレジットカード発行システムの裏側
ur1bou
1
1.6k
Other Decks in Programming
See All in Programming
今さら聞けないCancellationToken
htkym
0
210
権限チェックの一貫性を型で守る TypeScript による多層防御
mnch
4
1.1k
Copilot CLI の継戦能力を高める コンテキスト管理
nozomutu
1
1.2k
TAKTでAI駆動開発の品質を設計する
j5ik2o
4
240
正しくソフトウェアを作る、前提を疑うための認知の視点 / doubt-premise
minodriven
17
5.2k
不変条件と整合性境界—ビジネスが決める設計判断と実現パターン / Invariants and Consistency Boundaries
nrslib
13
3.3k
開発体験を左右するライブラリの API 設計 - GraphQL スキーマ構築ライブラリから考える #tskaigi
izumin5210
2
1.5k
JJUG CCC 2026 Spring: JSpecify で実現する Kotlin フレンドリーな Java API 設計
ternbusty
1
130
Make SRE Operations Easier with Azure SRE Agent
kkamegawa
0
3k
New "Type" system on PicoRuby
pocke
1
430
Old Dog, New Tricks: The Java 25 Reinvention - JNation
bazlur_rahman
0
140
AIとRubyの静的型付け
ukin0k0
0
510
Featured
See All Featured
Marketing to machines
jonoalderson
1
5.3k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
16
2k
Ruling the World: When Life Gets Gamed
codingconduct
0
240
Writing Fast Ruby
sferik
630
63k
WENDY [Excerpt]
tessaabrams
11
38k
The Impact of AI in SEO - AI Overviews June 2024 Edition
aleyda
5
1.1k
Have SEOs Ruined the Internet? - User Awareness of SEO in 2025
akashhashmi
0
360
Technical Leadership for Architectural Decision Making
baasie
3
390
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
287
14k
ラッコキーワード サービス紹介資料
rakko
1
3.5M
How to make the Groovebox
asonas
2
2.2k
Redefining SEO in the New Era of Traffic Generation
szymonslowik
1
320
Transcript
5FTUTDSJQUTͰͭ͘Δ Χʔυܾࡁͷඇಉظॲཧςετ
8BLBCBZBTIJ:VUB !@VSCPV !VSJCPV 4NBSU#BOL *OD 4FSWFSTJEF&OHJOFFS
w 1PTUNBOͰͲͷΑ͏ʹΧʔυܾࡁͷඇಉظॲཧΛςετ͔ͨ͠ w ͲͷΑ͏ʹ5FTUTDSJQUTΛڞ௨Խ͔ͨ͠ ຊ͓͢Δ͜ͱ ɹ5FTUTDSJQUTͰͭ͘ΔΧʔυܾࡁͷඇಉظॲཧςετ
ɹ5FTUTDSJQUTͰͭ͘ΔΧʔυܾࡁͷඇಉظॲཧςετ 5FTUTDSJQUT +4ͰΞαʔγϣϯΛఆٛͰ͖Δ /PEFKTϕʔεͷϥϯλΠϜڥ Ͱ࣮ߦ͞ΕΔ IUUQTMFBSOJOHQPTUNBODPNEPDTXSJUJOHTDSJQUTUFTUTDSJQUT
Χʔυܾࡁͷඇಉظॲཧςετ
X
Χʔυܾࡁͷ͘͠Έ BVUIPSJ[BUJPOT ɹ5FTUTDSJQUTͰͭ͘ΔΧʔυܾࡁͷඇಉظॲཧςετ
Χʔυܾࡁͷ͘͠Έ ΦʔιϦθʔγϣϯ Χʔυ͕ར༻Ͱ͖Δ͔ͷ༩৴ॲཧ Χʔυൃߦձ͕ࣾ"1*Λ༻ҙ Χʔυར༻࣌ʹϦΞϧλΠϜͰνΣοΫ͞ΕΔ BVUIPSJ[BUJPOT ɹ5FTUTDSJQUTͰͭ͘ΔΧʔυܾࡁͷඇಉظॲཧςετ
Χʔυܾࡁͷ͘͠Έ ΦʔιϦθʔγϣϯ Χʔυ͕ར༻Ͱ͖Δ͔ͷ༩৴ॲཧ Χʔυൃߦձ͕ࣾ"1*Λ༻ҙ Χʔυར༻࣌ʹϦΞϧλΠϜͰνΣοΫ͞ΕΔ BVUIPSJ[BUJPOT ΫϦΞϦϯά ΦʔιϦθʔγϣϯͷ֬ఆॲཧ
ΧʔυൃߦձࣾʹඇಉظͰϑΝΠϧ͕࿈ܞ͞ΕΔ ɹ5FTUTDSJQUTͰͭ͘ΔΧʔυܾࡁͷඇಉظॲཧςετ
ࣗಈςετͷ͘͠Έ BVUIPSJ[BUJPOT ɹ5FTUTDSJQUTͰͭ͘ΔΧʔυܾࡁͷඇಉظॲཧςετ
ࣗಈςετͷ͘͠Έ BVUIPSJ[BUJPOT ΦʔιϦθʔγϣϯ 1PTUNBO /FXNBO Λར༻ͯ͠ ΦʔιϦ"1*ͷࣗಈςετΛ࣮ߦ ɹ5FTUTDSJQUTͰͭ͘ΔΧʔυܾࡁͷඇಉظॲཧςετ
ࣗಈςετͷ͘͠Έ BVUIPSJ[BUJPOT ΦʔιϦθʔγϣϯ 1PTUNBO /FXNBO Λར༻ͯ͠ ΦʔιϦ"1*ͷࣗಈςετΛ࣮ߦ ΫϦΞϦϯά ΦʔιϦ
1PTUNBO ͷ݁Ռ͔Β࿈ܞϑΝΠϧΛ࡞ "1*ͷϨεϙϯεΛͲ͔͜ʹอଘ͢Δඞཁ͕͋Δ ɹ5FTUTDSJQUTͰͭ͘ΔΧʔυܾࡁͷඇಉظॲཧςετ
1PTUNBOͰୟ͍ͨ݁ՌΛอଘ͢Δ ɹ5FTUTDSJQUTͰͭ͘ΔΧʔυܾࡁͷඇಉظॲཧςετ
w 1PTUNBOͰୟ͍ͨ"1*ͷϨεϙϯεΛϩʔΧϧϑΝΠϧʹอଘ͍ͨ͠ w ͔͠͠ɺ1PTUNBO͔ΒϑΝΠϧอଘͰ͖ͳ͍ 1PTUNBOͰୟ͍ͨ݁ՌΛอଘ͢Δ ɹ5FTUTDSJQUTͰͭ͘ΔΧʔυܾࡁͷඇಉظॲཧςετ
w 1PTUNBOͰୟ͍ͨ"1*ͷϨεϙϯεΛϩʔΧϧϑΝΠϧʹอଘ͍ͨ͠ w ͔͠͠ɺ1PTUNBO͔ΒϑΝΠϧอଘͰ͖ͳ͍ w ҰํͰ5FTUTDSJQUT͔Βผͷ"1*Λୟ͘͜ͱՄೳ 1PTUNBOͰୟ͍ͨ݁ՌΛอଘ͢Δ ɹ5FTUTDSJQUTͰͭ͘ΔΧʔυܾࡁͷඇಉظॲཧςετ
w 1PTUNBOͰୟ͍ͨ"1*ͷϨεϙϯεΛϩʔΧϧϑΝΠϧʹอଘ͍ͨ͠ w ͔͠͠ɺ1PTUNBO͔ΒϑΝΠϧอଘͰ͖ͳ͍ w ҰํͰ5FTUTDSJQUT͔Βผͷ"1*Λୟ͘͜ͱՄೳ w ผ్ϩʔΧϧϑΝΠϧʹอଘ͢Δ"1*Λ༻ҙͯ͠5FTUTDSJQUTͰୟ͘ 1PTUNBOͰୟ͍ͨ݁ՌΛอଘ͢Δ
ɹ5FTUTDSJQUTͰͭ͘ΔΧʔυܾࡁͷඇಉظॲཧςετ
ΦʔιϦ"1* ᶃςετ࣮ߦ ΦʔιϦ ɹ5FTUTDSJQUTͰͭ͘ΔΧʔυܾࡁͷඇಉظॲཧςετ
ΦʔιϦ"1* ᶃςετ࣮ߦ ΦʔιϦ ᶄ5FTUTDSJQUTͰςετ݁ՌΛ͢ ϑΝΠϧอଘ"1* ςετ݁ՌΛอଘ ɹ5FTUTDSJQUTͰͭ͘ΔΧʔυܾࡁͷඇಉظॲཧςετ
ΦʔιϦ"1* ᶃςετ࣮ߦ ΦʔιϦ ᶄ5FTUTDSJQUTͰςετ݁ՌΛ͢ ϑΝΠϧอଘ"1* ςετ݁ՌΛอଘ ᶅςετ݁Ռ͔Β࿈ܞϑΝΠϧΛ࡞ ΫϦΞϦϯά ɹ5FTUTDSJQUTͰͭ͘ΔΧʔυܾࡁͷඇಉظॲཧςετ
ΦʔιϦ"1* ᶃςετ࣮ߦ ΦʔιϦ ᶄ5FTUTDSJQUTͰςετ݁ՌΛ͢ ϑΝΠϧอଘ"1* ςετ݁ՌΛอଘ ᶅςετ݁Ռ͔Β࿈ܞϑΝΠϧΛ࡞ ΫϦΞϦϯά NBLFίϚϯυʹͯࣗ͠ಈςετՄೳʹ͢Δ
ɹ5FTUTDSJQUTͰͭ͘ΔΧʔυܾࡁͷඇಉظॲཧςετ
ίϨΫγϣϯͷ5FTUTͰϑΝΠϧอଘ"1*Λୟ͘ ɹ5FTUTDSJQUTͰͭ͘ΔΧʔυܾࡁͷඇಉظॲཧςετ
TDSJQUTͷڞ௨Խ
5FTUTDSJQUTʹॾʑՃͨ݁͠Ռ ංେԽͨ͠εΫϦϓτΛෳͷέʔεͰίϐϖ దٓϞδϡʔϧԽͯ͠ݺͼग़͍͕ͨ͠ 1PTUNBOͰϞδϡʔϧԽαϙʔτ͍ͯ͠ͳ͍ ɹ5FTUTDSJQUTͰͭ͘ΔΧʔυܾࡁͷඇಉظॲཧςετ
FWBMΛ༻͍ͨTDSJQUTͷڞ௨Խ ɹ5FTUTDSJQUTͰͭ͘ΔΧʔυܾࡁͷඇಉظॲཧςετ
FWBMΛ༻͍ͨTDSJQUTͷڞ௨Խ ίϨΫγϣϯͷ5FTUTͰ ίϨΫγϣϯมʹεΫϦϓτΛจࣈྻͰηοτ ɹ5FTUTDSJQUTͰͭ͘ΔΧʔυܾࡁͷඇಉظॲཧςετ
FWBMΛ༻͍ͨTDSJQUTͷڞ௨Խ ֤έʔεͰมΛಡΜͰFWBMͰ࣮ߦ ɹ5FTUTDSJQUTͰͭ͘ΔΧʔυܾࡁͷඇಉظॲཧςετ
·ͱΊ ɹ5FTUTDSJQUTͰͭ͘ΔΧʔυܾࡁͷඇಉظॲཧςετ
·ͱΊ w 1PTUNBOͰඇಉظॲཧͷςετΛߦ͏ํ๏ w ϩʔΧϧϑΝΠϧʹॻ͖ग़͢"1*Λ5FTUTDSJQUTͰୟ͍࣮ͯߦ݁ՌΛ อଘ͢Δ ɹ5FTUTDSJQUTͰͭ͘ΔΧʔυܾࡁͷඇಉظॲཧςετ
·ͱΊ w 1PTUNBOͰඇಉظॲཧͷςετΛߦ͏ํ๏ w ϩʔΧϧϑΝΠϧʹॻ͖ग़͢"1*Λ5FTUTDSJQUTͰୟ͍࣮ͯߦ݁ՌΛ อଘ͢Δ w 1PTUNBOͰTDSJQUTΛڞ௨Խ͢Δํ๏ w
εΫϦϓτΛจࣈྻͱͯ͠ίϨΫγϣϯมʹอଘ͢Δ w ֤ςετέʔεͰFWBMͰݺͼग़͢ ɹ5FTUTDSJQUTͰͭ͘ΔΧʔυܾࡁͷඇಉظॲཧςετ
·ͱΊ w 1PTUNBOͰඇಉظॲཧͷςετΛߦ͏ํ๏ w ϩʔΧϧϑΝΠϧʹॻ͖ग़͢"1*Λ5FTUTDSJQUTͰୟ͍࣮ͯߦ݁ՌΛ อଘ͢Δ w 1PTUNBOͰTDSJQUTΛڞ௨Խ͢Δํ๏ w
εΫϦϓτΛจࣈྻͱͯ͠ίϨΫγϣϯมʹอଘ͢Δ w ֤ςετέʔεͰFWBMͰݺͼग़͢ ɹ5FTUTDSJQUTͰͭ͘ΔΧʔυܾࡁͷඇಉظॲཧςετ 1PTUNBOؾܰʹࣗಈςετΛߏஙͰ͖ͯศར ͢Δ͜ͱͰରԠέʔεΛ૿͢͜ͱ͕Ͱ͖ΔΑ