テストは開発者から利用者視点へ

はじめに不規則な生活や徹夜での不具合修正作業で、いつの間にか、お肌はぼろぼろ・・・。「(女としての)自分の品質を劣化させないようにしなければ!」と真剣に考える今日この頃です。若さを甦らせるような簡単な技法やツールはないものかしら・・・。

小川 英惠

2005年11月29日 20:00

はじめに

不規則な生活や徹夜での不具合修正作業で、いつの間にか、お肌はぼろぼろ・・・。「(女としての)自分の品質を劣化させないようにしなければ!」と真剣に考える今日この頃です。若さを甦らせるような簡単な技法やツールはないものかしら・・・。

自分の品質向上はさておき、ソフトウェア開発において品質をどのように確保するかは大切なことです。

本連載では、ソフトウェア開発プロセスの中でのテスト駆動開発とソフトウェアの品質向上のためのテストに着目し、マイクロソフトから本年度提供されるVisual Studio 2005(以下、VS2005)Team Systemの適用方法と有効性を考察していきます。

今回は、テスト駆動開発の有効性について考察します。テスト駆動開発を円滑に行うことを支援するツールとしてのVS2005 Team Systemの機能を紹介するとともに、ソフトウェアの品質向上に必要な統合開発環境としてのVS2005 Team Systemの機能についても解説します。

次に、テスト駆動開発に必要なツールであるユニットテストとリファクタリングを紹介し、最後に開発を補完する重要なツールであるコード分析を紹介します。

 

VS2005 Team Systemでテスト駆動開発

テスト駆動開発という言葉を聞いたことがある方は多いでしょう。

しかし「さあ、テスト駆動開発を実際に適用して!」といわれても、どのようやればよいのか、そして何から手をつければよいのかわからなくて、手が止まってしまう人も多いのではないでしょうか。

それでは、テスト駆動開発とは何でしょうか。

 

テスト駆動開発とは?

テスト駆動開発とは、まずテストコードを作成、次にソースコードを作成、その後にリファクタリング。この3つをリズムに乗って繰り返しながら開発するという開発プロセスです。

 

従来の開発スタイル

テスト駆動開発について詳しく説明する前に、従来の開発スタイルを振り返ってみましょう。従来型の開発スタイルでのプログラミングと単体テストのアプローチは表1のようになります。
 

  1. 設計する
  2. ソースコードを作成する
  3. テストコードを作成する
  4. テストする
  5. ソースコードを修正する
  6. 4〜5を繰り返す

表1:従来型の開発スタイル

この手法では最初に考えたコードを修正するだけで、コードが改善/改良されることありません。さらに、開発者は十分なコードを作成したのかについて常に不安を抱えながらコーディングしなければなりません。

これらの結果として、テストもコーディングも不十分なままで実装終了(諦めや割り切り)となってしまい、またもや不安の渦に巻き込まれることになります。

人気記事トップ10

人気記事ランキングをもっと見る

企画広告も役立つ情報バッチリ! Sponsored

ClickHouse Cloudが実現した広告運用SaaS「ATOM」のデータ基盤革新、パフォーマンスを向上しながら、運用負荷とコストを削減 11月11日 6:20 AIで開発が加速する時代、品質保証はどう変わる? Tricentisが示すAIエージェント活用の実像 11月9日 6:45 悪用までの猶予が「1分」に迫るフロンティアAI時代に開発と本番を貫く脆弱性管理が必要 10月29日 8:30 欧州CRA対応とSBOM運用。AI生成コードのOSS混入問題の対策とは ――スニペット単位で検出する「FossID」「Insignary Clarity」によるSBOM運用 9月16日 6:40 PostgreSQLからTiDBへ、稼働中SaaSで進める段階的DB移行の実践と再設計への展望 9月7日 6:30 機能安全開発におけるGoogleTestの活用を支援!「Parasoft C/C++test CT」で実現する効率化&AI連携 4月14日 6:30 【CNDW2025】Grafanaが明かす「オブザーバビリティの哲学」ー最小限の労力で実用的なインサイトを得るには 1月23日 6:30 【CNDW2025】プロダクト急増に備える基盤刷新 ーウェルスナビがECSからEKSへの移行で得た知見とは 1月15日 6:30 【CNDW2025】250環境を5人で運用、構築時間は30分に ーKINTOテクノロジーズが語るインフラ基盤組織の作り方 2025年12月18日 6:30 新たな自動化で熱視線! AIエージェントの「推論能力」を支える2つのコンポーネントとは? 2025年11月28日 6:30