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
0
1.2k
Assert First
Hisashi Kamezawa
January 24, 2018
Tweet
Share
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
AIとペアプロして処理時間を97%削減した話 #pyconshizu
kashewnuts
1
150
AWS Infrastructure as Code の新機能 2025 総まとめ~ SA 4人による怒涛のデモ祭り ~
konokenj
8
2.2k
並行開発のためのコードレビュー
miyukiw
2
2k
朝日新聞のデジタル版を支えるGoバックエンド ー価値ある情報をいち早く確実にお届けするために
junkiishida
1
260
AI活用のコスパを最大化する方法
ochtum
0
110
2026年は Rust 置き換えが流行る! / 20260220-niigata-5min-tech
girigiribauer
0
210
モジュラモノリスにおける境界をGoのinternalパッケージで守る
magavel
0
3k
Rails Girls Tokyo 18th GMO Pepabo Sponsor Talk
yutokyokutyo
0
170
iOSアプリでフロントエンドと仲良くする
ryunakayama
0
120
2025年の活動の振り返り
hideg
0
120
CSC307 Lecture 09
javiergs
PRO
1
850
要求定義・仕様記述・設計・検証の手引き - 理論から学ぶ明確で統一された成果物定義
orgachem
PRO
1
450
Featured
See All Featured
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
10
1.1k
Side Projects
sachag
455
43k
The Straight Up "How To Draw Better" Workshop
denniskardys
239
140k
Game over? The fight for quality and originality in the time of robots
wayneb77
1
130
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.4k
The Cost Of JavaScript in 2023
addyosmani
55
9.7k
Beyond borders and beyond the search box: How to win the global "messy middle" with AI-driven SEO
davidcarrasco
2
65
Building Applications with DynamoDB
mza
96
6.9k
GraphQLの誤解/rethinking-graphql
sonatard
74
11k
The Language of Interfaces
destraynor
162
26k
What's in a price? How to price your products and services
michaelherold
247
13k
Design of three-dimensional binary manipulators for pick-and-place task avoiding obstacles (IECON2024)
konakalab
0
360
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 による恩恵 思考が整理され、問題をシンプルに捉えることができる → 複雑なテストを書くときに良さそう → 逆に簡潔に書けるテストや既存のテストに似たテストに無理に使う必要はない
ご清聴ありがとうございました