20
6年前に作ったプログラムにテストコー ドを書きました ^^); テスト駆動開発の薦 EY-Office 吉田裕美

6年前に作ったプログラムにテストコードを書きました ^^); 〜〜 テスト駆動開発の薦め

Embed Size (px)

DESCRIPTION

Shibuya Perl Mongers Tech Talks #8

Citation preview

6年前に作ったプログラムにテストコードを書きました ^^);テスト駆動開発の薦

EY-Office 吉田裕美

自己紹介

吉田 裕美 (ヨシダ ユウミ)

6年前に独立、有限会社EY-Office設立。Perl/Ruby/JavaでWebアプリ等の受託開発を始める。昨年より、本格的に教育関係の仕事を開始 。内容は Perl、Java、オブジェクト指向、Seasar2、Ruby、Rails など。

ブログ http://d.hatena.ne.jp/yuum32

アンケート(1)

テスト駆動開発なんて当たり前だよね?

3

アンケート(2)

ユニットテストを書くのは当たり前だよね?

4

今日、私が伝えたいこと

ユニットテストは誰のために書くの?

5

今日、私が伝えたいこと

ユニットテストは誰のために書くの?

開発者自身のため

6

6年前に作ったプログラムにテストコードを書きました

今年になって、6年前に作ったWebフレームワークにテストコードを書きました。

なぜ?

7

6年前に作ったプログラムにテストコードを書きました

大きな変更を行う事になった

内部文字コードの変更

携帯対応

Pg.pm → DBI.pm DBの部分的暗号化

8

6年前に作ったプログラムにテストコードを書きました

心理的、プレッシャー 大 たくさんの変更

6年間に蓄積されたアプリはたくさんある

変更後もちゃんとアプリは動くの?

開発時間は限られている9

6年前に作ったプログラムにテストコードを書きました

現在のフレームワークのコード

約 15,000行

書いたテストコード

約 5,000行 (テストパターン等も含む)

10

6年前に作ったプログラムにテストコードを書きました

テストコードのおかげで無事に機能拡張、完了! (たぶん)

11

テストコードがあると

開発者のモチベーションが上がる。

開発は通らないテストを通すという形で、短いサイクルで達成感を得られる。

テストを100%通すという明確な目標があり進み具合が判りやすい。

12

テストコードがあると

リファクタリングのバリアが下がる。

機能拡張で醜くなったコードをリファクタリングできる。

性能の悪い部分を改善し易くなる。

デグレードが減る。

13

テストコードがあると

安心感、勇気がえられる。

テストが通れば酷いバグはないはず、という安心感。

機能拡張などに積極的に取り組める。

開発が楽しくなる ^^)

14

テストコードがあると

ところで、テストコードはどうやって書けばいいの?

15

テストコードがあると

ところで、テストコードはどうやって書けばいいの?

すいせん ^^); 時間の都合で次回に続く・・・・

16

テストコードがあるとところで、テストコードはどうやって書けばいいの?

最初から完璧は目指さない。まずは正常系だけでもじゅうぶん。気がついたら/時間が見つかったらテストを足して行く。バグが見つかったら、再現コードをテストに追加する。

17

今日、私が伝えたかった事

ユニットテストは誰のために書くの?

開発者自身のため

18

お知らせ

今年も始まりました!

19

ご静聴ありがとうございました!

20