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
アマチュアでも出来るTDD
Search
高見知英
PRO
January 24, 2009
Programming
0
38
アマチュアでも出来るTDD
2009-01-24 わんくま同盟東京勉強会 No. 28で発表した資料です。
高見知英
PRO
January 24, 2009
Tweet
Share
More Decks by 高見知英
See All by 高見知英
ポッドキャストをはじめよう ポッドキャストのやりかたと続けるコツ
takamichie
PRO
0
63
高見知英とAndroid
takamichie
PRO
0
50
大人になってからのゲームデビューのハナシ
takamichie
PRO
0
60
最近のゲーム実況のハナシ
takamichie
PRO
0
70
健常者から見たAndroidのアクセシビリティ機能
takamichie
PRO
0
480
山手縁乃庭のいまとこれから考えていること
takamichie
PRO
0
130
子どもとゲームとそのほかいろいろのハナシ
takamichie
PRO
0
120
高見知英のヒストリー
takamichie
PRO
0
91
SRPGがやりたい!
takamichie
PRO
0
230
Other Decks in Programming
See All in Programming
Software Architecture
hschwentner
6
2.3k
Writing Better Go: Lessons from 10 Code Reviews
konradreiche
2
5.1k
なぜあの開発者はDevRelに伴走し続けるのか / Why Does That Developer Keep Running Alongside DevRel?
nrslib
3
410
Catch Up: Go Style Guide Update
andpad
0
240
コード生成なしでモック処理を実現!ovechkin-dm/mockioで学ぶメタプログラミング
qualiarts
0
230
Devoxx BE - Local Development in the AI Era
kdubois
0
130
スキーマ駆動で、Zod OpenAPI Honoによる、API開発するために、Hono Takibiというライブラリを作っている
nakita628
0
290
XP, Testing and ninja testing ZOZ5
m_seki
3
790
overlayPreferenceValue で実現する ピュア SwiftUI な AdMob ネイティブ広告
uhucream
0
200
Go言語はstack overflowの夢を見るか?
logica0419
0
510
CSC305 Lecture 09
javiergs
PRO
0
300
なぜGoのジェネリクスはこの形なのか? - Featherweight Goが明かす設計の核心
qualiarts
0
220
Featured
See All Featured
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
34
2.5k
Rails Girls Zürich Keynote
gr2m
95
14k
Statistics for Hackers
jakevdp
799
220k
Thoughts on Productivity
jonyablonski
70
4.9k
Building Applications with DynamoDB
mza
96
6.7k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
55
3k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
53k
Making the Leap to Tech Lead
cromwellryan
135
9.6k
Documentation Writing (for coders)
carmenintech
75
5.1k
A Tale of Four Properties
chriscoyier
161
23k
Context Engineering - Making Every Token Count
addyosmani
7
280
Building Adaptive Systems
keathley
44
2.8k
Transcript
わんくま同盟 東京勉強会 #28 アマチュアでも出来るTDD 2009年1月24日(土) 磯子クリエイティブチーム 高見知英
わんくま同盟 東京勉強会 #28 自己紹介 • 高見知英(id:TakamiChie) • アマチュアプログラマ – 代表作:TMemo
• 磯子クリエイティブチーム リーダー
わんくま同盟 東京勉強会 #28 TDD 今回何が言いたいか・・・
わんくま同盟 東京勉強会 #28 TDDとは • Time Division Duplex(時分割通信)ではない • Test
Driven Development(テスト駆動開発)
わんくま同盟 東京勉強会 #28 TDDとは
わんくま同盟 東京勉強会 #28 TDDとは • Time Division Duplex(時分割通信)ではない • Test
Driven Development(テスト駆動開発) – テストをしながら、開発を進めていく手法 – 流れ • 処理コード書いて • 処理をテストするコード(テストケース)を書いて • テストを完了させる • 実際のTDDは若干違うらしいので、注意
わんくま同盟 東京勉強会 #28 なぜTDDか • 初期段階でバグを見つけられる – 後半になればなるほど、バグの影響は大きい • 毎回テストを自動実行する
– ツールを使用する – メソッドの変更によるバグ埋め込みを発見できる • アマチュアなら実地テスト(システムテスト)だけ で十分? – 希少性の高いバグ • TDDを使えば、多少は早く見つかる のかな?
わんくま同盟 東京勉強会 #28 試験自動化ツール xUnit • CUnit, NUnitなどの総称 • テストを実行して、結果を◦×で返すツール
– あるメソッドにこの引数を渡したらどうなる? • 予想どおりの戻り値が返るか • 予想どおりの例外が発生するか – メソッドに対していくつかのテストコードを実施する ことで、メソッドテストを行う
わんくま同盟 東京勉強会 #28 テストケースの作り方? • 全てのコードを実行す る・・・のが理想 – 網羅率=カバレッジ率 –
カバレッジ基準 • 命令網羅 – ソースコード中の全命 令を一回以上実行 • 分岐網羅 – ソースコード中の全分 岐のtrue/falseの結果 を一回以上通るように する • 分岐網羅>命令網羅 処理初め 処理 判断 処理 処理 処理終り
わんくま同盟 東京勉強会 #28 まとめ • xUnitとは、テストケースを実行し、結果を◦か ×で返すツール • テストできない内容も・・・ –
GUIやユーザー操作が絡むもの – インターネット上のデータ等の取得が絡むもの • GUI自動化ツール(UWSCなど) • NMock – 手間をかけず、自動化できるテスト手段を
わんくま同盟 東京勉強会 #28 おわり ご静聴ありがとうございました