6年前に作ったプログラムにテストコードを書きました ^^);テスト駆動開発の薦
EY-Office 吉田裕美
自己紹介
吉田 裕美 (ヨシダ ユウミ)
6年前に独立、有限会社EY-Office設立。Perl/Ruby/JavaでWebアプリ等の受託開発を始める。昨年より、本格的に教育関係の仕事を開始 。内容は Perl、Java、オブジェクト指向、Seasar2、Ruby、Rails など。
ブログ http://d.hatena.ne.jp/yuum32
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
テストコードがあると
ところで、テストコードはどうやって書けばいいの?
すいせん ^^); 時間の都合で次回に続く・・・・
16
テストコードがあるとところで、テストコードはどうやって書けばいいの?
最初から完璧は目指さない。まずは正常系だけでもじゅうぶん。気がついたら/時間が見つかったらテストを足して行く。バグが見つかったら、再現コードをテストに追加する。
17