未来のいつか/hyoshiokの日記 このページをアンテナに追加 RSSフィード Twitter

2010-03-12

そろそろ大規模ソフトウェア開発に一言いっておくか。デイリービルドとリグレッションテスト  そろそろ大規模ソフトウェア開発に一言いっておくか。デイリービルドとリグレッションテストを含むブックマーク  そろそろ大規模ソフトウェア開発に一言いっておくか。デイリービルドとリグレッションテストのブックマークコメント

会社勉強会自分の今までの経験からテストについてお話をした。その資料を公開する。自分が関わった、Oracle8、DEC Rdb日本語COBOL、そしてSamba3.0国際化プロジェクトでのテストやディリービルドなどについて紹介した。

テストファースト開発など、最近広く知られるようになってきたが、ディリービルドとリグレッションテストの実行という方法論は昔からソフトウェア製品開発の現場では行われていたベストプラクティスである。そのリズムとか雰囲気を伝えたかった。

テストがある開発現場ってのは、こんな感じなんだ〜という雰囲気が伝われば幸いだ。

アジャイル開発方法論としてXPの手法とかいろいろ知られているが、このディリービルドとリグレッションテストというプラクティスもその一つである。

闘うプログラマービル・ゲイツの野望を担った男達)には、大規模ソフトウェア開発のドラマが記されている。そしてディリービルドやリグレッションテストの話が出ている。わたしも1998年ごろに書いたシリコンバレー日記やこのはてなの日記でもそれを何度か取り上げた。

リグレッションテストがあると、安心して心の平静が保てるのである。

例えば、テストのないレガシーコードテストを作ることによって、そのシステムの理解が深まったり、動作を記述することによって、変更の影響が即座にわかったりする。変更の影響がわかれば、大胆に実装を変更したりすることが容易にできるようになり、開発の俊敏性が高まる。それが安心であり、心の平静が保てる。

テストがないシステムレガシーシステムであるが、それをモダンにする第一歩はテストを書くことである。

新規に開発するプログラムテストがなければレガシーシステムである。そして初めからテストを書いていれば、実装したプログラムの機能を確認できて、安心であり、心の平静が保てる。

Oracle8の開発には100名以上のプログラマが関わった。間違いなく大規模ソフトウェア開発である。そして大規模なソフトウェアだからこそ開発の俊敏性が求められ、市場の変化に柔軟に対応することが市場に生き残る条件となるのである。

以下は、「未来のいつか/hyoshiokの日記」より

ロートルの嘆き、アジャイル開発って何 http://d.hatena.ne.jp/hyoshiok/20100211#p1

日本オラクルの若手エンジニアに会って来た http://d.hatena.ne.jp/hyoshiok/20090314#p2

OSSに対する企業の貢献 http://d.hatena.ne.jp/hyoshiok/20041022

デイリービルドの続き http://d.hatena.ne.jp/hyoshiok/20040516#p1

98/2/18 デイリービルド http://d.hatena.ne.jp/hyoshiok/20040429

デイリービルド http://d.hatena.ne.jp/hyoshiok/20040412

以下は「ユメのチカラ」より

新卒プログラマのころ http://blog.miraclelinux.com/yume/2007/11/post_607a.html

リグレッションテスト http://blog.miraclelinux.com/yume/2007/04/post_5140.html

大規模ソフトウェアの効率的な理解(その6)、リグレッションテスト http://blog.miraclelinux.com/yume/2006/08/6_570e.html

開発工程を別々に担当してはいけない http://blog.miraclelinux.com/yume/2007/10/post_4e54.html

ぴこぴこ 2010/03/13 11:17 初めまして。ぴこと申します。
いつも楽しく拝見させて頂いております。

私は、主に受託開発業務を担当しており大規模ソフトウェアの開発は
したことがありません。
テストコードを書く、ということは最近では細々と始まっているのですが
いかんせんGUI周りについてはテストコードや良いフレームワークが
少ないので苦労しています。大手ベンダーさんでは、GUI周りについては
自前のツールなどが使われているのでしょうか?