テスト駆動開発

テスト駆動開発(Test-Driven Development)とは、「先にテストを作成し(テストファーストと呼ぶ)、そのテストが成功するような実装を行う」このサイクルを繰り返し行いコードを洗練させるソフトウェア開発手法の一種である、略称でTDDと呼ばれる。

基本的なサイクル

開発サイクルは「レッド」→「グリーン」→「リファクタリング」のようになります。

レッド

まずテストを書いていく訳ですが、そもそも実装されていない機能のテストを記載するのでテスト結果としては失敗(レッド)となる訳です。故にこのフェーズは「レッド」と呼ばれます、失敗(レッド)となることでこのフェーズは成功と言えるでしょう。

グリーン

こちらのフェーズでは失敗(レッド)を成功(グリーン)にする作業を行います。テストの結果を成功(グリーン)にすることが目的なのでこのフェーズで完璧なコードに仕上げなくとも良いです。

リファクタリング

最後にグリーンでテストが成功したソースコードをリファクタリングし可読性を上げる作業を行います。
このフェーズでTDDのサイクルが終わるため、「一応テストをクリアしているから後回し」とせず、全てリファクタリングすることが大事です。後回しにした場合、プログラムの規模が大きくなるにつれて修正負担が大きくなってしまうため気をつけましょう。

メリット・デメリット

メリット

  • 仕様の把握がしやすい
  • 不具合の発見・修正が初期段階で可能

デメリット

  • テストの実装、保守にコストがかかる
  • 意図したテストコードを作成する為には、ある程度の経験と慣れが必要となる

関連用語


リファクタリング(refactoring) | 今更聞けないIT用語集
ソフトウェア開発 | 今更聞けないIT用語集

APPSWINGBYの

ソリューション

APPSWINGBYのセキュリティサービスについて、詳しくは以下のメニューからお進みください。

システム開発

クラウドネイティブ技術とアジャイル手法を駆使し、市場投入スピード(Time-to-Market)を最大化。「進化し続けるアプリケーション」を開発します。初期リリースを最速化し、拡張性と柔軟性を備えた、ビジネスの成長に追従できるアプリケーションを開発します。

DX・AI戦略支援

「何から手を付けるべきか分からない」「AIを導入したいが、費用対効果が見えない」といった経営課題に対し、技術とビジネスの両面から解を導き出します。 絵に描いた餅で終わる戦略ではなく、エンジニアリングの実装能力に基づいた、「実現可能で、勝てる技術戦略」を策定します。


リファクタリング・リアーキテクチャ

「システムが古くて改修できない」「障害が頻発する」といった技術的負債を解消します。既存資産の徹底的な診断に基づき、コードのクリーン化(リファクタリング)や、クラウドへの移行(リアーキテクチャ)を行い、システムの寿命を延ばしコストを最適化します。

お問い合わせ・ご相談

「システム構築時から大分時間が経過しているのでセキュリティ対策の状況が不安がある」「脆弱性診断を受けたい」「サイバーセキュリティ対策に不安がある。」など、サイバーセキュリティ対策・情報漏えい対策についてのご質問・ご相談などございましたら、何でもお気軽にお問い合わせください。