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
Assert First
Search
Hisashi Kamezawa
January 24, 2018
Programming
1.2k
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Assert First
Hisashi Kamezawa
January 24, 2018
More Decks by Hisashi Kamezawa
See All by Hisashi Kamezawa
What we learned from code review
hisas
7
2k
Other Decks in Programming
See All in Programming
エンジニアと一緒にテストコードの設計と実装を改善した話
mototakatsu
0
210
依存関係から依存物へ―Dependencyという言葉の歴史をひも解く
j_lee
0
120
技術的負債解消で開発者の未来を開く- AIの力でコード刷新
kmd2kmd
0
110
jQueryをバージョンアップする前に使いたいjQuery Migrate
matsuo_atsushi
0
560
キャリア迷子上等 ─ "ない道"は自分で作ればいい
16bitidol
3
2.2k
メソッドのジェネリクスでGoの夢は広がるか? / Kyoto.go #65
utgwkk
3
850
The ROI of Quarkus for Spring Boot Applications
hollycummins
0
120
Javaの型とAI時代に型が大事な理由 / java types and type in AI era
kishida
2
140
技術記事、 専門家としてのプログラマ、 言語化
mizchi
13
6.2k
過去最大のMCPアップデート! 2026-07-28 RC版の謎に迫る
licux
6
370
Claspは野良GASの夢をみるか
takter00
0
200
AI時代のUIはどこへ行く?その2!
yusukebe
22
7.4k
Featured
See All Featured
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
47
8.2k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
34
2.8k
jQuery: Nuts, Bolts and Bling
dougneiner
66
8.5k
Hiding What from Whom? A Critical Review of the History of Programming languages for Music
tomoyanonymous
2
860
Ethics towards AI in product and experience design
skipperchong
2
310
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.7k
HU Berlin: Industrial-Strength Natural Language Processing with spaCy and Prodigy
inesmontani
PRO
0
410
Six Lessons from altMBA
skipperchong
29
4.3k
Navigating Weather and Climate Data
rabernat
0
220
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
201
75k
The Mindset for Success: Future Career Progression
greggifford
PRO
0
360
The B2B funnel & how to create a winning content strategy
katarinadahlin
PRO
1
390
Transcript
Assert First 亀澤尚志 (@hisas) 2018/01/24
自己紹介 - 亀澤尚志 (Kamezawa Hisashi) - @hisas - 2017年度入社新卒 -
フィヨルドインターン卒 - Ginza.rbにたまに出没
本日お話しすること - Assert First との出会い - Assert First とは? -
Assert First をオススメする理由
本日お話しすること - Assert First との出会い - Assert First とは? -
Assert First をオススメする理由
None
None
None
None
ペアプロでやったこと ① 要件定義 ユーザー検索を名前のあいまい検索で実装 ② TODO リストの作成
ペアプロでやったこと ③ テストを書く - 何が達成されていれば良いかをまず考えるため最後の行から埋めていく - RSpecでは visit から入るのではなく expect
から書くイメージ ④ 機能を実装
本日お話しすること - Assert First との出会い - Assert First とは? -
Assert First をオススメする理由
アサーションを最初に書こう
いつアサーションを書くべきだろうか——最初に書こう - システム構築はどこから始めるべきだろうか。システム構築が終わったらこうなる、 というストーリーを語るところからだ。 - 機能はどこから書き始めるべきだろうか。コードが書き終わったらこのように動く、と いうテストを書くところからだ。 - ではテストはどこから書き始めるべきだろうか。それはテストの終わりにパスすべき アサーションを書くところからだ。
参考文献 Kent Beck 著 和田卓人 訳(2017) 「テスト駆動開発」
本日お話しすること - Assert First との出会い - Assert First とは? -
Assert First をオススメする理由
Assert First による恩恵 思考が整理され、問題をシンプルに捉えることができる → 複雑なテストを書くときに良さそう → 逆に簡潔に書けるテストや既存のテストに似たテストに無理に使う必要はない
ご清聴ありがとうございました