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
unittest
Search
tsuyoshi nakamura
August 31, 2016
Technology
91
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
unittest
unit testをちゃんとした話
tsuyoshi nakamura
August 31, 2016
More Decks by tsuyoshi nakamura
See All by tsuyoshi nakamura
社内の勉強会で発表した_output_一部抜粋版_.pdf
tsuyoshi
0
510
PHPを少しでも早く_条件はあるよ_.pdf
tsuyoshi
0
87
スタートアップ6年目のレビュー文化.pdf
tsuyoshi
1
2k
PHPを少し深堀るよ.pdf
tsuyoshi
0
400
Reactive_Manifesto.pdf
tsuyoshi
0
92
About_Resilience.pdf
tsuyoshi
1
99
エンジニアの循環ってgood_or_bad_.pdf
tsuyoshi
0
1.3k
スタートアップしてからの失敗の数々
tsuyoshi
0
2.5k
スタートアップエンジニアの役割
tsuyoshi
0
550
Other Decks in Technology
See All in Technology
オートロックマンションなのに、各部屋は施錠なし!? 攻撃者が組織内ネットワークで大暴れする理由 / The Front Door Is Locked, but the Rooms Are Wide Open: Why Attackers Move Freely Inside Enterprise Networks
nttcom
1
5.9k
Reference-Free Image Quality Assessment for Virtual Try-On via Human Feedback
zozotech
PRO
0
140
強化学習「理論」入門
enakai00
3
3.6k
Kiro Crew入門 - 常駐エージェントの仕組みと使いどころ / Intro to Kiro Crew
k_adachi_01
1
150
メルカリのグローバルアプリで挑んだ AlloyDB 運用と課題解決の実践記
hatappi
0
250
Service Connect 上のサービスに ECS Service の外側から到達できなかった話
ota1022
1
260
My broken English still works: speaking at global OSS events
naruoga
0
100
修正PRを食べてレビュースキルが賢くなる:Claude Codeによる自己改善サイクル
yuyaumetsu
6
1.5k
Bits AI を制するものは Datadog を制す / The player that controls Bits AI, controls Datadog
kaminashi
0
110
ソフトウェアサプライチェーンの構造的リスクとコンテナ環境の保護
kyohmizu
3
170
Bill One 開発エンジニア 紹介資料
sansan33
PRO
7
19k
事業価値と Engineering 2026年度版
recruitengineers
PRO
50
24k
Featured
See All Featured
Imperfection Machines: The Place of Print at Facebook
scottboms
270
14k
Producing Creativity
orderedlist
PRO
348
40k
WCS-LA-2024
lcolladotor
0
800
How GitHub (no longer) Works
holman
316
150k
The Straight Up "How To Draw Better" Workshop
denniskardys
239
140k
30 Presentation Tips
portentint
PRO
1
370
Applied NLP in the Age of Generative AI
inesmontani
PRO
4
2.4k
Discover your Explorer Soul
emna__ayadi
2
1.3k
Mind Mapping
helmedeiros
PRO
1
310
A Modern Web Designer's Workflow
chriscoyier
698
190k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.8k
How Software Deployment tools have changed in the past 20 years
geshan
1
34k
Transcript
テストコードをちゃんとした話 中村剛 09/01 2015
アジェンダ ①なぜテストコードが書けていなかったのか反省と分析 ②現状を踏まえどうやって変えていったか ③まとめ
①:忙しさという名の響きに負けた 全くのゼロからのスタートアップでやるべき事が溢れ、後 回しになり結局、十分な時間が取れなかった フレームワークの比較見当、コーディング規約、テスト方 針、すべてが後手になり統一意識が取れず、各々が考え る実装でくみ上げられていった。
・同じようなメソッドが無駄に増える ・デグレが多発 ・単純な凡ミスが増加 ・ブラウザので手動テスト頼み、コストがドンドン膨らむ この時テストコードの存在すらないので当然カバレッジ0% よくあるダメなパターン
②:決めを作ってとにかく頑張る フレームワークの特性に合わせてある程度のコーディン グ規約を決めた。 頑張ってリファクタした。 Jenkinsでユニットテストを定期的に実施するようにした Jenkinsでテストの結果、カバレッジを視覚化した Githubに移行してレビュー行程を導入した
②:頑張った結果新たな問題も ビジネスサイドからすると、エンジニアは頑張ってコード書 いてるけど、別に新機能や改善されてる機能のリリースが 少ないという不満 抱えている問題、先送りすればするほど傷が深くなるので 今その問題に対応してる為、新機能開発が遅れている旨 を説明 といってもリファクタ+テストコードの実装だけでずっと人 員を避けないので、新規機能も実装+ボーイスカウトポリ シー(通りかかった道のゴミを拾うポリシー)で実装を進め
た
大きな声で言えないけど軽く無視してやり続けた。 (時として必要) 100%のカバレッジは果てしなく遠いゴールなので70〜80% した。Webサービスとして適正値と判断
③:まとめ ・いくら時間が無くとも頑張りどころはあって、ココで踏ん張 りきれずに妥協すると向こう2年をこの問題に悩まされる と考えて頑張る ・色々考えて決めたら、途中問題が出てきても頑張りきる ただし、結果間違った決めだった可能性もあるので時に 真摯に振返る ・自動化できる部分やツールで軽減できる事、定量的に見 える化は積極的に活用する