Enviar pesquisa
Carregar
テスト駆動開発を継続する
•
50 gostaram
•
5,340 visualizações
irof N
Seguir
2013年はじめのTDD Boot Camp in 大阪 外伝 の資料です。 http://kokucheese.com/event/index/64957/
Leia menos
Leia mais
Denunciar
Compartilhar
Denunciar
Compartilhar
1 de 70
Baixar agora
Baixar para ler offline
Recomendados
BrowserMob-Proxyのお話
BrowserMob-Proxyのお話
Masahiko Hashimoto
『JUnit実践入門』写経・実践会 in 横浜 #6 (特別編) #junitbook
『JUnit実践入門』写経・実践会 in 横浜 #6 (特別編) #junitbook
shinyaa31
R5 3 type annotation
R5 3 type annotation
EIICHI KIMURA
地方における勉強会事情
地方における勉強会事情
Soudai Sone
システム設計の謎 ~べ、別にあんたのために設計してるんじゃないんだからね///~
システム設計の謎 ~べ、別にあんたのために設計してるんじゃないんだからね///~
terahide
失敗から学ぶAPI設計 #ccc_h4 #jjug #jjug_ccc JJUG CCC 2013 Spring
失敗から学ぶAPI設計 #ccc_h4 #jjug #jjug_ccc JJUG CCC 2013 Spring
Yusuke Yamamoto
ユースケースからテスト駆動開発へ
ユースケースからテスト駆動開発へ
Shuji Watanabe
Spring integration概要
Spring integration概要
kuroiwa
Recomendados
BrowserMob-Proxyのお話
BrowserMob-Proxyのお話
Masahiko Hashimoto
『JUnit実践入門』写経・実践会 in 横浜 #6 (特別編) #junitbook
『JUnit実践入門』写経・実践会 in 横浜 #6 (特別編) #junitbook
shinyaa31
R5 3 type annotation
R5 3 type annotation
EIICHI KIMURA
地方における勉強会事情
地方における勉強会事情
Soudai Sone
システム設計の謎 ~べ、別にあんたのために設計してるんじゃないんだからね///~
システム設計の謎 ~べ、別にあんたのために設計してるんじゃないんだからね///~
terahide
失敗から学ぶAPI設計 #ccc_h4 #jjug #jjug_ccc JJUG CCC 2013 Spring
失敗から学ぶAPI設計 #ccc_h4 #jjug #jjug_ccc JJUG CCC 2013 Spring
Yusuke Yamamoto
ユースケースからテスト駆動開発へ
ユースケースからテスト駆動開発へ
Shuji Watanabe
Spring integration概要
Spring integration概要
kuroiwa
2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by Hubspot
Marius Sescu
Everything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPT
Expeed Software
Product Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage Engineerings
Pixeldarts
How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental Health
ThinkNow
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
marketingartwork
Skeleton Culture Code
Skeleton Culture Code
Skeleton Technologies
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024
Neil Kimberley
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)
contently
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024
Albert Qian
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
Kurio // The Social Media Age(ncy)
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024
Search Engine Journal
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary
SpeakerHub
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd
Clark Boyd
Getting into the tech field. what next
Getting into the tech field. what next
Tessa Mero
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Lily Ray
How to have difficult conversations
How to have difficult conversations
Rajiv Jayarajah, MAppComm, ACC
Introduction to Data Science
Introduction to Data Science
Christy Abraham Joy
Time Management & Productivity - Best Practices
Time Management & Productivity - Best Practices
Vit Horky
The six step guide to practical project management
The six step guide to practical project management
MindGenius
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
RachelPearson36
Mais conteúdo relacionado
Destaque
2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by Hubspot
Marius Sescu
Everything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPT
Expeed Software
Product Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage Engineerings
Pixeldarts
How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental Health
ThinkNow
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
marketingartwork
Skeleton Culture Code
Skeleton Culture Code
Skeleton Technologies
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024
Neil Kimberley
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)
contently
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024
Albert Qian
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
Kurio // The Social Media Age(ncy)
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024
Search Engine Journal
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary
SpeakerHub
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd
Clark Boyd
Getting into the tech field. what next
Getting into the tech field. what next
Tessa Mero
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Lily Ray
How to have difficult conversations
How to have difficult conversations
Rajiv Jayarajah, MAppComm, ACC
Introduction to Data Science
Introduction to Data Science
Christy Abraham Joy
Time Management & Productivity - Best Practices
Time Management & Productivity - Best Practices
Vit Horky
The six step guide to practical project management
The six step guide to practical project management
MindGenius
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
RachelPearson36
Destaque
(20)
2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by Hubspot
Everything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPT
Product Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage Engineerings
How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental Health
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
Skeleton Culture Code
Skeleton Culture Code
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd
Getting into the tech field. what next
Getting into the tech field. what next
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search Intent
How to have difficult conversations
How to have difficult conversations
Introduction to Data Science
Introduction to Data Science
Time Management & Productivity - Best Practices
Time Management & Productivity - Best Practices
The six step guide to practical project management
The six step guide to practical project management
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
テスト駆動開発を継続する
1.
テスト駆動開発を
継 るす続 2013/1/13 TDDBC Osaka 2013 1月 外伝 @irof
2.
よく言われること 「動いているコードに触っ てはいけない」 変更し辛いのはテストの コストが高いからだ!
3.
テストがないコードは レガシーコードだ! レガシーコードとの戦いは 苛烈を極める
4.
自動テストがあれば?
5.
自動テストがあれば、いくら でも自由に変更出来る!
6.
……本当に?
7.
少し考える 自動テストがあったら自由に 変更できる? なんか直感に反する。
8.
少し考える テストってなんだろう?
9.
少し考える テストってなんだろう? テストの価値って?
10.
少し考える テストってなんだろう? テストの価値って? テストが最も輝く瞬間ってい つだろう?
11.
テストの価値は 失敗にある
12.
無傷のテスト 一度も失敗したことがないテスト そんなテストに価値はない (言い過ぎ←弱気)
13.
使ったことのない道具を いざと言う時に使えるか?
14.
使ったことのない道具を いざと言う時に使えるか? 否
15.
幕間
16.
知らないコードのメンテをす ることになった俺達は……
17.
こんな状況 TDDで開発されたコード
18.
こんな状況 TDDで開発されたコード 既に実装済みのところが変更になった
19.
こんな状況 TDDで開発されたコード 既に実装済みのところが変更になった テストコードがあるから大丈夫!
20.
新規開発じゃない時のTDD
21.
やったことのないことには あたりまえで対抗する
22.
あたりまえのこと
23.
TDDのあたりまえ やりたいことをテストで表現 テストを通す最小限の実装 テストを維持しつつリファクタリング
24.
仕様変更でもあたりまえに 変えたいことをテストで表現 テストを通す最小限の変更 テストを維持しつつリファクタリング
25.
でもテストがあるので まずテストを通す 変えたいことをテストで表現 テストを通す最小限の変更 テストを維持しつつリファクタリング
26.
不安なら確かめる まずテストを通す 次にテストを確かめる 変えたいことをテストで表現 テストを通す最小限の変更 テストを維持しつつリファクタリング
27.
確かめたいこと おかしなことをしたら止め てくれるか?
28.
テストの価値は 失敗にある
29.
有益な失敗をさせる 失敗したときのふるまいを観 察する。 「このメッセージで何したら良 いかわかるか?」を問う。
30.
テストを失敗させる 「こうなったら失敗するはず」 バグを埋め込む ミューテーションテスト
31.
見ときたいこと 失敗してくれる? 失敗する量は最少? 失敗した内容がわかる?
32.
レガシーコード乙 失敗しない 失敗する量は最少? 失敗した内容がわかる?
33.
脆いの 失敗してくれる? たくさん失敗する 失敗した内容がわかる?
34.
きついの 失敗してくれる? 失敗する量は最少? 失敗が意味不明
35.
たくさん失敗する 複数のテストで同じことを確 認しちゃってる。 一つのテストで複数のことを 確認しちゃってる。
36.
ついで症候群
37.
ついで症候群 「このときってこうだよね?」 自分のわかっていることを全て書い
てしまったりする。 名前で表現できないことは assertしない。
38.
失敗が意味不明
39.
失敗が意味不明 なんで落ちたかわかんない 謎の依存関係があったとか? でも「落ちた」だけじゃね……
40.
テストにして欲しいこと 失敗してくれる 失敗する量は最少 失敗した内容がわかる
41.
テストの価値は 失敗にある
42.
幕間
43.
あたりまえのこと①
44.
テストは落ちるもの
45.
なんかよく見るの 「テストが失敗した!」 誰がした 何をした
どうしてした 次しないためには
46.
なんかよく見るの 「テストが失敗した!」 誰がした
テスト失敗が 何をした 大イベント どうしてした 次しないためには
47.
背景 バグを直すのには凄い労力が必要 原因の特定 影響範囲を調査
コードの修正 テストの実施 などなど……
48.
大変だから 「失敗しない」 ようにしよう!
49.
ちゃうねん……。
50.
テストの価値は 失敗にある
51.
テストは落ちるもの
だから 失敗をあたりまえに扱う
52.
あたりまえのこと②
53.
他人の書いたテスト はわかりづらい
54.
自分の書いたテスト もわかりづらい
55.
過去に書いたテスト はわかりづらい
56.
「わかりづらい」で止まるの は、「コードの変更」が特別 行事になってる だからあまりやらない だから失敗する だからやれない
57.
コードの変更が特別行事だ から、「わかりづらい」を特別 なことにしようとする
58.
テストはわかり辛い
だから あたりまえに変更する
59.
幕間
60.
あたりまえのことはあたりまえ にする とくべつなことをあたりまえに する 自信を持ってできるのはいつ もやってること
61.
変更を躊躇うのは特別行事 だから もしあたりまえのことなら躊躇 いの枷は外せる(かも) だから「あたりまえ」にする
62.
あたりまえのはなし
63.
特別なことをしない テストが落ちるのも テストが読みにくいのも テストが変わるのも 全部あたりまえのこと
64.
特別なことと思ってしまうと失 敗する 特別なことには特別な対応 をしがち 特別な対応には特別な不 具合が紛れ込みやすい
65.
あたりまえにする
66.
緊急時の規律 平時にTDDの規律を守り、緊急時にそ れを守らないとすれば、TDDの効果を 心から信じていないと言うことだ。 信じられないなら、自信もクソもない。
67.
普段から失敗させて 普段から失敗に対処する 信じるために成功を積む 失敗に対処することで学べる ものは多い
68.
テストの価値は 失敗にある
69.
失敗を あたりまえに扱おう
70.
おしまい
Baixar agora