ユニットテストツール

Posted on :| コメント (0) | トラックバック (0)

 トレンドマイクロによる「ウィルスバスターの不具合」の件は、ソフト開発者に改めてテストの重要性とその方法について考えさせる結果となった。吉田もソフトウェアのデバッグ手法については、2年前から取り組んでおり、エクストリームプログラミングをはじめとする、いくつかの開発手法の解説書も読んできた。
 この中で、ソフトウェアの品質向上にもっとも役に立ちそうなのが、エクストリームプログラミング(XP)にあるテストドリブン開発である。

 通常、プログラミングは「設計」→「実装(プログラミング)」→「テスト」という流れで行われる。規模の大小を問わず、基本的にはこの流れを踏襲している。実装の段階は開発手法によりことなり、詳細仕様書を見ながら忠実にプログラミングを行う方法や、ある程度の概略を仕様書として定めておき、実際の実装はプログラマに任せるというものがある。吉田の場合、一人で設計からテストまでを行うため、基本的には後者の方法をとっている。

 「テストドリブン」開発の場合、実装とテストフェーズが平行して行われる(もっと大きなスケールではテストは独立しているが)。

(1)プログラムのインターフェースを作る(入出力の形)
(2)インターフェースに基づいたテストを作る
(3)テストが失敗することを確認する(インターフェースだけで中身がないので)
(4)テストをパスするプログラムを書く
(5)テストを通ることを確認する
(6)仕様にあうようにプログラムを書き直す

このようなプロセスを経ることで、プログラミングとテストが同時に完了するわけである。テストは、「xUnit」と呼ばれるユニットテストツールを使えば、自動的に行うことができる。

 ユニットテストを導入していないシンプルぱっと1の場合、自動運転の処理をいじると各所への影響を確認するために、すべての条件でテストすることが求められる。自動運転の動作についてのクレームは、サポート掲示板を見ても分かるように、最も多いものである。そのため、自動運転の処理に対する改変要求は通りにくい。
 しかし、自動運転は「投資競馬」を実践するためのツールであり、個人ごとに要求事項がことなり、要望事項が最も多い箇所でもある。シンプルぱっと2の場合、スケジュールの都合から開発当初からユニットテストツールを導入できなかったが、現在少しずつ導入を進めている。

 自動運転専用ソフトの方は、当初からテストツールを使って開発をする予定である。

トラックバック

このエントリーのトラックバックURL:

コメント

コメントフォームに記入し投稿してください





Search
最近の記事
カテゴリー
過去の記事
Comments
TrackBacks
Feed
Powered by