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
0
55
unittest
unit testをちゃんとした話
tsuyoshi nakamura
August 31, 2016
Tweet
Share
More Decks by tsuyoshi nakamura
See All by tsuyoshi nakamura
社内の勉強会で発表した_output_一部抜粋版_.pdf
tsuyoshi
0
380
PHPを少しでも早く_条件はあるよ_.pdf
tsuyoshi
0
38
スタートアップ6年目のレビュー文化.pdf
tsuyoshi
1
1.6k
PHPを少し深堀るよ.pdf
tsuyoshi
0
270
Reactive_Manifesto.pdf
tsuyoshi
0
33
About_Resilience.pdf
tsuyoshi
1
51
エンジニアの循環ってgood_or_bad_.pdf
tsuyoshi
0
1.1k
スタートアップしてからの失敗の数々
tsuyoshi
0
2.2k
スタートアップエンジニアの役割
tsuyoshi
0
430
Other Decks in Technology
See All in Technology
ChatGPT for IT Service Management (IT Pro)
dahatake
7
1.6k
TechFeed Experts Night#27 〜 フロントエンドフレームワーク最前線 (Svelte)
baseballyama
1
540
本当のAWS基礎
toru_kubota
0
530
Compose Compiler Metricsを使った実践的なコードレビュー
tomorrowkey
1
220
開発パフォーマンスを最大化するための開発体制
ham0215
2
440
Vertex AI を中心に 生成AIのアップデートを共有します
kaz1437
0
310
On Your Data を超えていく!
hirotomotaguchi
2
690
Building a RAG-poweredAI chat appwith Python and VS Code
pamelafox
0
100
プロトタイピングによる不確実性の低減 / Reducing Uncertainty through Prototyping
ohbarye
5
390
Google Cloud Next '24 Recap(Cloud Run/k8s)
mokocm
0
240
一生覚えておきたい「システム開発=コミュニケーション」〜初めての実務案件振り返りLT〜
maimyyym
1
160
Gitlab本から学んだこと - そーだいなるプレイバック / gitlab-book
soudai
4
440
Featured
See All Featured
The Cost Of JavaScript in 2023
addyosmani
16
3.9k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
121
39k
StorybookのUI Testing Handbookを読んだ
zakiyama
13
4.6k
ParisWeb 2013: Learning to Love: Crash Course in Emotional UX Design
dotmariusz
104
6.6k
GitHub's CSS Performance
jonrohan
1025
450k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
9
8.3k
Done Done
chrislema
178
15k
The Illustrated Children's Guide to Kubernetes
chrisshort
31
46k
Building Your Own Lightsaber
phodgson
99
5.7k
Stop Working from a Prison Cell
hatefulcrawdad
266
19k
In The Pink: A Labor of Love
frogandcode
138
21k
Rebuilding a faster, lazier Slack
samanthasiow
73
8.2k
Transcript
テストコードをちゃんとした話 中村剛 09/01 2015
アジェンダ ①なぜテストコードが書けていなかったのか反省と分析 ②現状を踏まえどうやって変えていったか ③まとめ
①:忙しさという名の響きに負けた 全くのゼロからのスタートアップでやるべき事が溢れ、後 回しになり結局、十分な時間が取れなかった フレームワークの比較見当、コーディング規約、テスト方 針、すべてが後手になり統一意識が取れず、各々が考え る実装でくみ上げられていった。
・同じようなメソッドが無駄に増える ・デグレが多発 ・単純な凡ミスが増加 ・ブラウザので手動テスト頼み、コストがドンドン膨らむ この時テストコードの存在すらないので当然カバレッジ0% よくあるダメなパターン
②:決めを作ってとにかく頑張る フレームワークの特性に合わせてある程度のコーディン グ規約を決めた。 頑張ってリファクタした。 Jenkinsでユニットテストを定期的に実施するようにした Jenkinsでテストの結果、カバレッジを視覚化した Githubに移行してレビュー行程を導入した
②:頑張った結果新たな問題も ビジネスサイドからすると、エンジニアは頑張ってコード書 いてるけど、別に新機能や改善されてる機能のリリースが 少ないという不満 抱えている問題、先送りすればするほど傷が深くなるので 今その問題に対応してる為、新機能開発が遅れている旨 を説明 といってもリファクタ+テストコードの実装だけでずっと人 員を避けないので、新規機能も実装+ボーイスカウトポリ シー(通りかかった道のゴミを拾うポリシー)で実装を進め
た
大きな声で言えないけど軽く無視してやり続けた。 (時として必要) 100%のカバレッジは果てしなく遠いゴールなので70〜80% した。Webサービスとして適正値と判断
③:まとめ ・いくら時間が無くとも頑張りどころはあって、ココで踏ん張 りきれずに妥協すると向こう2年をこの問題に悩まされる と考えて頑張る ・色々考えて決めたら、途中問題が出てきても頑張りきる ただし、結果間違った決めだった可能性もあるので時に 真摯に振返る ・自動化できる部分やツールで軽減できる事、定量的に見 える化は積極的に活用する