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
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
tsuyoshi nakamura
August 31, 2016
Technology
89
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
500
PHPを少しでも早く_条件はあるよ_.pdf
tsuyoshi
0
87
スタートアップ6年目のレビュー文化.pdf
tsuyoshi
1
2k
PHPを少し深堀るよ.pdf
tsuyoshi
0
390
Reactive_Manifesto.pdf
tsuyoshi
0
88
About_Resilience.pdf
tsuyoshi
1
95
エンジニアの循環ってgood_or_bad_.pdf
tsuyoshi
0
1.3k
スタートアップしてからの失敗の数々
tsuyoshi
0
2.5k
スタートアップエンジニアの役割
tsuyoshi
0
550
Other Decks in Technology
See All in Technology
失敗を経て、Harness Engineering で 大切にしたいことを考える / Learning from Failure: What Matters in Harness Engineering
bitkey
PRO
0
220
Rubyで音を視る
ydah
1
310
AAIFに入ってみた ~内から見えるコミュニティ動向~
sato4
0
110
自律型AIエージェントは何を破壊するのか
kojira
0
130
日本 Fintech 未来予測レポート 2027〜2028年(オリジナル版)
8maki
0
180
PHP と TypeScript の型システム比較:AI 時代の「型」は誰のためにあるのか? #frontend_phpcon_do / frontend_phpcon_do_2026
shogogg
1
280
OCI Oracle AI Database Services新機能アップデート(2026/03-2026/05)
oracle4engineer
PRO
0
330
あなたの AI ワークスペースに、 専門コーダーを連れてくる - Amazon Quick Desktop 最新情報
kawaji_scratch
1
120
MCP Appsを作ってみよう
iwamot
PRO
4
350
AIソロプレナー時代に2ヶ月で20人増員した事業創造会社の開発組織の話
miyatakoji
0
490
MIERUNE JCT 発表資料「宇宙から伊能忠敬ごっこ」
syuchimu
0
200
AGENTS.mdとSkillsで始めるAIエージェント活用
sonoda_mj
2
160
Featured
See All Featured
The Art of Programming - Codeland 2020
erikaheidi
57
14k
Neural Spatial Audio Processing for Sound Field Analysis and Control
skoyamalab
0
330
Abbi's Birthday
coloredviolet
2
8k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
21
1.5k
Ecommerce SEO: The Keys for Success Now & Beyond - #SERPConf2024
aleyda
1
2k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
31
10k
Max Prin - Stacking Signals: How International SEO Comes Together (And Falls Apart)
techseoconnect
PRO
0
180
Code Review Best Practice
trishagee
74
20k
Optimising Largest Contentful Paint
csswizardry
37
3.7k
How to Grow Your eCommerce with AI & Automation
katarinadahlin
PRO
1
200
Balancing Empowerment & Direction
lara
6
1.1k
Discover your Explorer Soul
emna__ayadi
2
1.1k
Transcript
テストコードをちゃんとした話 中村剛 09/01 2015
アジェンダ ①なぜテストコードが書けていなかったのか反省と分析 ②現状を踏まえどうやって変えていったか ③まとめ
①:忙しさという名の響きに負けた 全くのゼロからのスタートアップでやるべき事が溢れ、後 回しになり結局、十分な時間が取れなかった フレームワークの比較見当、コーディング規約、テスト方 針、すべてが後手になり統一意識が取れず、各々が考え る実装でくみ上げられていった。
・同じようなメソッドが無駄に増える ・デグレが多発 ・単純な凡ミスが増加 ・ブラウザので手動テスト頼み、コストがドンドン膨らむ この時テストコードの存在すらないので当然カバレッジ0% よくあるダメなパターン
②:決めを作ってとにかく頑張る フレームワークの特性に合わせてある程度のコーディン グ規約を決めた。 頑張ってリファクタした。 Jenkinsでユニットテストを定期的に実施するようにした Jenkinsでテストの結果、カバレッジを視覚化した Githubに移行してレビュー行程を導入した
②:頑張った結果新たな問題も ビジネスサイドからすると、エンジニアは頑張ってコード書 いてるけど、別に新機能や改善されてる機能のリリースが 少ないという不満 抱えている問題、先送りすればするほど傷が深くなるので 今その問題に対応してる為、新機能開発が遅れている旨 を説明 といってもリファクタ+テストコードの実装だけでずっと人 員を避けないので、新規機能も実装+ボーイスカウトポリ シー(通りかかった道のゴミを拾うポリシー)で実装を進め
た
大きな声で言えないけど軽く無視してやり続けた。 (時として必要) 100%のカバレッジは果てしなく遠いゴールなので70〜80% した。Webサービスとして適正値と判断
③:まとめ ・いくら時間が無くとも頑張りどころはあって、ココで踏ん張 りきれずに妥協すると向こう2年をこの問題に悩まされる と考えて頑張る ・色々考えて決めたら、途中問題が出てきても頑張りきる ただし、結果間違った決めだった可能性もあるので時に 真摯に振返る ・自動化できる部分やツールで軽減できる事、定量的に見 える化は積極的に活用する