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
Better Way for Test Data Generation??
Search
shunsuke sato
July 30, 2019
Programming
1
2.8k
Better Way for Test Data Generation??
shunsuke sato
July 30, 2019
Tweet
Share
More Decks by shunsuke sato
See All by shunsuke sato
要約 "Add Live Text interaction to your app"
ushisantoasobu
1
980
ANDPAD iOS開発の生態系と課題 - 最近取り組み始めた「マルチモジュール化」について
ushisantoasobu
1
780
Summary of Diagnose unreliable code with test repetitions
ushisantoasobu
1
970
実践!「みてね」における自動生成活用例
ushisantoasobu
5
6.2k
5 Tips when test fails randomly
ushisantoasobu
2
3.6k
iOS/Androidのサブスクリプション実装における違いをざっと振り返る
ushisantoasobu
2
1.6k
24時間でMacアプリを作ってスベってきた話
ushisantoasobu
0
2.1k
Redirectable in App?
ushisantoasobu
2
910
iOSのClean Architecture テンプレ自動生成を支える技術 / generating CA's templates
ushisantoasobu
0
280
Other Decks in Programming
See All in Programming
ソフトウェアエンジニアの成長
masuda220
PRO
10
1.2k
SpringBoot3.4の構造化ログ #kanjava
irof
2
1k
第3回 Snowflake 中部ユーザ会- dbt × Snowflake ハンズオン
hoto17296
4
370
Amazon ECS とマイクロサービスから考えるシステム構成
hiyanger
2
560
CDK開発におけるコーディング規約の運用
yamanashi_ren01
2
120
color-scheme: light dark; を完全に理解する
uhyo
3
360
技術を根付かせる / How to make technology take root
kubode
1
250
楽しく向き合う例外対応
okutsu
0
120
Conform を推す - Advocating for Conform
mizoguchicoji
3
690
『品質』という言葉が嫌いな理由
korimu
0
160
定理証明プラットフォーム lapisla.net
abap34
1
1.8k
Honoとフロントエンドの 型安全性について
yodaka
7
1.2k
Featured
See All Featured
A designer walks into a library…
pauljervisheath
205
24k
Bootstrapping a Software Product
garrettdimon
PRO
306
110k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.1k
The World Runs on Bad Software
bkeepers
PRO
67
11k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
9
440
Agile that works and the tools we love
rasmusluckow
328
21k
The Cult of Friendly URLs
andyhume
78
6.2k
Rebuilding a faster, lazier Slack
samanthasiow
80
8.8k
BBQ
matthewcrist
87
9.5k
Designing Experiences People Love
moore
140
23k
The Invisible Side of Design
smashingmag
299
50k
Fantastic passwords and where to find them - at NoRuKo
philnash
51
3k
Transcript
Better Way for Test Data Generation?? 2019/07/30 @Otemachi.swift #04
ࣗݾհ w ࠤ౻ढ़ี • @ushisantoasobu w גࣜձࣾϛΫγΟΈͯͶࣄۀ෦ w J04ϝΠϯʹɺ"OESPJE3BJMTগʑ w
͖ͳͷίʔώʔϑοταϧ
ΞδΣϯμ
ΞδΣϯμ w ίʔυδΣωϨʔγϣϯʹ͍ͭͯ w ʮςετσʔλʯͷδΣωϨʔγϣϯ w ͦͦԿΛղܾ͍ͨ͠ͷ͔ʁ w ίʔυδΣωϨʔγϣϯ͍ͯ͘͠ʢ࣮ʣ
ίʔυδΣωϨʔγϣϯʹ͍ͭͯ
ίʔυδΣωϨʔγϣϯʹ͍ͭͯ w J04ք۾ʹ͓͚Δ͜͜ͷಈ͖ʢॴײʣ w J04։ൃͷख़ංେԽ͢ΔΞϓϦ w ΞʔΩςΫνϟ w ςετ w
σβΠϯγεςϜ ͳͲ͕ϗοτͳτϐοΫʹ
w J04ք۾ʹ͓͚Δ͜͜ͷಈ͖ʢॴײʣ w J04։ൃͷख़ංେԽ͢ΔΞϓϦ w ΞʔΩςΫνϟ w ςετ w σβΠϯγεςϜ
ͳͲ͕ϗοτͳτϐοΫʹ ίʔυδΣωϨʔγϣϯʹ͍ͭͯ
w J04ք۾ʹ͓͚Δ͜͜ͷಈ͖ʢॴײʣ w J04։ൃͷख़ංେԽ͢ΔΞϓϦ w ΞʔΩςΫνϟ w ςετ w σβΠϯγεςϜ
ͳͲ͕ϗοτͳτϐοΫʹ ίʔυδΣωϨʔγϣϯʹ͍ͭͯ ϘΠϥʔϓϨʔτΛͨ͘͞Μॻ͔ͳ͍ͱ͍͚ͳ͍ ίʔυδΣωϨʔγϣϯͷॏཁੑ͕ߴ·͍ͬͯΔʁ
ίʔυδΣωϨʔγϣϯͷࣄྫ w 0UFNBDIJTXGUͰൃදͨ͠ͷ w ʮϓϨθϯςʔγϣϯʯͷςϯϓϨࣗಈੜ • https://speakerdeck.com/ushisantoasobu/ generating-cas-templates
ίʔυδΣωϨʔγϣϯͷࣄྫ
ίʔυδΣωϨʔγϣϯͷࣄྫ w 6*,POGͰௌ͍͖ͯͨɺ6CFSͷࣄྫ w ʢJ04ͷϓϩμΫτશͯͰʣສߦ w ͦͷ͏ͪͷίʔυδΣωϨʔγϣϯ͞Εͨͷ • https://www.youtube.com/watch? v=Tkg8721fObU&t=79s
ʮςετσʔλʯͷδΣωϨʔγϣϯ
ͦͦԿΛղܾ͍ͨ͠ͷ͔ʁ
ྫ͑ɺ͜ͷΑ͏ͳ&OUJUZ͕͋ͬͯɺɺɺ
ϢχοτςετͰͦͷҰཡΛฦ͢ϞοΫͷ3FQPTJUPSZΛॻ͘ͱ͜͏ͳΔ
ςετσʔλΛʹॻ͔ͳͯ͘ͳΒͳ͍ ʢ"TTFSU͢Δͱ͖ʹඞཁͳͷzJEz͚ͩͩͬͨΓ͢Δʣ
͜ͷΘ͠͞Λղܾ͍ͨ͠
• https://clean-swift.com/seed-data-unit-tests/ • https://github.com/Nonchalant/FactoryProvider • https://speakerdeck.com/tattn/tesutodetafalsezi- dong-sheng-cheng-fang-fa-falsebie-jie ଞͷํͷղܾํ๏ͷྫ
w Ͱ͖Δָ͚ͩʹॻ͚ΔΑ͏ʹ w ϓϩμΫγϣϯίʔυʹखΛ͚ͭͨ͘ͳ͍ w ϚʔΧʔ༻ͷϓϩτίϧ͢ΒͰ͖Ε͚ͭͨ͘ͳ͍ w ֶशίετߴ͘ͳ͍ͷ͕·͍͠ w ͘ΘΕ͍ͯΔϥΠϒϥϦҎ֎ͷͷ͍ͨ͘ͳ͍
ࣗͳΓʹߟ͑ͨɺཧͷͷ
None
None
ͯ͢ͷϓϩύςΟʹ ͦΕΆ͍σϑΥϧτҾΛͭ ΠχγϟϥΠβΛࣗಈੜͰ͖Ε࠷ߴͰʁ
͖͞΄Ͳͷ&OUJUZʹରͯ͠ɺɺɺ
͜ͷΑ͏ͳϝιουΛςετλʔήοτʹͷΈੜͯ͋͛͠Δ
͖͞΄Ͳͷͩͬͨ6OJU5FTUͷίʔυ͕ɺɺɺ
͜ͷΑ͏ʹεοΩϦͱॻ͚Δ
None
ίʔυδΣωϨʔγϣϯ͍ͯ͘͠ʢ࣮ʣ
4PVSDFSZ 4UFODJM
͜Μͳײ͡Ͱॻ͍ͯΈ·ͨ͠ʢTUFODJMϑΝΠϧʣ
ҎԼʹαϯϓϧϓϩδΣΫτ͋Γ·͢ https://github.com/ushisantoasobu/ DemoTestDataGeneration/pull/1/files
ߟ͑Δ͜ͱʮͦΕͧΕͷܕͷσϑΥϧτΛͲ͏͢Δ͔ʯͷΈ
0QUJPOBMͷͱ͖OJM
ϓϦϛςΟϒܕͷͱ͖ͦΕͧΕͷܕͷσϑΥϧτΛઃఆͯ͋͛͠Δ ʢz*OUzͳΒ l4USJOHzͳΒۭจࣈɺͳͲʣ
&OVNͷͱ͖࠷ॳͷ
Ͳ͏͍ͯ͠͠ͱ͖ʢࠓճͷྫͰ͍͏ͱ"TTPDJBUFE7BMVFΛͭ&OVNͷ ͷͱ͖ʣʮϕλॻ͖ʯͰಀΕΔ͜ͱͰ͖Δ
ͦΕҎ֎ͷͱ͖ଞͷ&OUJUZͱͯ͠࠶ؼతʹѻ͏
5*14ͱͯ͠ɺ4PVSDFSZ4UFODJMͱʹ υΩϡϝϯτ͕͔ͬ͠Γඋ͍ͯ͠ΔΘ͚Ͱͳ͍ͷͰ ίʔυΈΔͱޮతͩͬͨ ʢͬͱ͍͍σόοάͷํ͋Δͷ͔͠Εͳ͍͕ʣ
w Ͱ͖Δָ͚ͩʹॻ͚ΔΑ͏ʹ✅ w ϓϩμΫγϣϯίʔυʹखΛ͚ͭͨ͘ͳ͍✅ w ϚʔΧʔ༻ͷϓϩτίϧ͢ΒͰ͖Ε͚ͭͨ͘ͳ͍ w ֶशίετߴ͘ͳ͍ͷ͕·͍͠✅ w ͘ΘΕ͍ͯΔϥΠϒϥϦҎ֎ͷͷ͍ͨ͘ͳ͍✅
ࣗͳΓʹߟ͑ͨɺཧͷͷʢ֬ೝʣ
Thanks for Listening ☕