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
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Hisashi Kamezawa
January 24, 2018
Programming
1.2k
0
Share
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
ユニットテストの先へ:テスト技法で要求・仕様を整理するJava開発実践 / Beyond_Unit_Testing_Practical_Java_Development_Techniques_for_Organizing_Requirements_and_Specifications
shimashima35
0
310
AI駆動開発で崩れていくコードベースを立て直す
kyoko_nr_nr
1
400
メソッドのジェネリクスでGoの夢は広がるか? / Kyoto.go #65
utgwkk
0
230
GitHub Copilot CLIのいいところ
htkym
2
1.2k
AI時代の仕事技芸論 — ソフトウェア開発で「遊ぶように働く」職人的熟達のすすめ
kuranuki
1
540
Java × distroless で 軽量なコンテナイメージを / Java on Distroless
contour_gara
0
430
TypeScriptだけでAIエージェントを作る フロント・エージェント・インフラのフルスタック実践
har1101
6
1.2k
ビジネスモデルから紐解く、AI+型駆動開発
hirokiomote
2
4.7k
関係性から理解する"同一性"の型用語たち
pvcresin
2
620
AIチームを指揮するOSS「TAKT」活用術 / How to Use “TAKT,” an OSS Tool for Orchestrating AI Teams
nrslib
6
760
AI 時代のソフトウェア設計の学び方
masuda220
PRO
29
11k
DynamoDBには集計系のクエリがないけどなんとかしたい
musan
1
110
Featured
See All Featured
Claude Code のすすめ
schroneko
67
220k
How to build a perfect <img>
jonoalderson
1
5.5k
How GitHub (no longer) Works
holman
316
150k
The SEO identity crisis: Don't let AI make you average
varn
0
480
Abbi's Birthday
coloredviolet
2
7.8k
Believing is Seeing
oripsolob
1
140
The Anti-SEO Checklist Checklist. Pubcon Cyber Week
ryanjones
0
150
Documentation Writing (for coders)
carmenintech
77
5.4k
Lightning talk: Run Django tests with GitHub Actions
sabderemane
0
190
Skip the Path - Find Your Career Trail
mkilby
1
130
Designing for Performance
lara
611
70k
Leadership Guide Workshop - DevTernity 2021
reverentgeek
1
290
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 による恩恵 思考が整理され、問題をシンプルに捉えることができる → 複雑なテストを書くときに良さそう → 逆に簡潔に書けるテストや既存のテストに似たテストに無理に使う必要はない
ご清聴ありがとうございました