TDD と ATDD とは?

この記事では、一般に TDD と ATDD として知られている 2 つの人気のあるテスト手法の類似点と相違点に注目します。

TDD とはテスト駆動開発、ATDD とは受け入れテスト駆動開発の略称です。 これらの 2 つのテスト アプローチがどのように機能するかを理解することは、テストの専門家にとって重要であり、この投稿は、あなたが両方の発見を始めるための入門書となります。 TDD と ATDD の違いについて理解することができます。

テスト駆動開発 (TDD) とは何か?

TDD はエクストリーム プログラミング (XP) の原則に従ってソフトウェアを開発するシステムですが、時を経て、独立したソフトウェア開発手法としてスピンオフしています。

まず、テスターは、システムが理想的に実行すべき望ましい機能を定義した自動テストケースを書きますが、意図的に、現在の状態ではシステムが満たせないような方法でテストケースを設計します。

次に、開発者はシステムがテストを満たさなかった理由をメモし、システムをリファクタリングして 2 度目の挑戦でテストを通過できるよう必要なコードを書き出します。 TDD プロセスはこのように、失敗と成功の間をジグザグに進み、反復ごとにシステムを限界まで押し上げ、生成されるフィードバックを通じてそれを克服するのを助けます。 しかし、一度やってしまえば、テスト中の失敗に対する恐怖に対抗し、自分の仕事を向上させるための、シンプルで非常に効果的な方法を手に入れることができます。このステップのポイントは、これらすべての利害関係者がプロジェクトの主な目標、特にエンドユーザーが期待できる機能に関して同意することを確実にすることです。 ATDD のこのフェーズでは、ユーザー ペルソナやユーザー ストーリーなどの手法が非常に役立ちます。

最終的に受け入れテストがシステム上で実行されると、障害が指摘され、開発者は次のトライで受け入れ基準を満たすために必要なコードを記述することにより、欠陥のあるコンポーネントをリファクタリングすることになります。

acceptance test driven development

ATDD は、最終製品がどのように動作するかについてチームに明確なビジョンを提供し、全員がコードの個々の行で迷うのではなく、長期目標に集中し続けることができる。 これら 2 つのテスト方法は密接に関連していますが、ATDD はプロセスに受け入れテストも含み、TDD よりもチームのコラボレーションを重要視します。

両方のアプローチは、以前の失敗に基づいて構築するためにフィードバックを収集することを奨励しているので、アジャイルの原則にうまく適合しています。 システムを継続的にリファクタリングし、前の試行で直面した問題に対処するため、これらの方法は、より価値のある最終製品を漸進的に開発するのに役立ちます。

Leave a Reply