この記事は Google Cloud Translation APIを使用した自動翻訳です。
いくつかの文書は原文を読むのに良いかもしれません。
#Overview
行動ベースの開発(BDD)は、ソフトウェア開発プロセス全体で開発者、品質保証(QA)チーム、およびビジネスステークホルダー間のコラボレーションを促進するアジャイルソフトウェア開発プロセスです。 BDDは、テスト主導開発(TDD)の一般的な技術と原則をAgileのコミュニケーションとコラボレーションの利点と組み合わせるプロセスです。ビジネス価値を提供する目的でアプリケーションの動作に焦点を当てる広く使用されている開発方法論です。
#History
BDDは2006年、Dan NorthがTDDの進化型として初めて紹介しました。 Northは1990年代後半にTDDを開発したKent Beckの仕事に触発されました。 Northの目標は、ビジネスステークホルダーと開発者の間のコミュニケーションのギャップを埋めるのに役立つプロセスを作成することでした。 BDDは現在ソフトウェア開発に広く使用されており、Agileの方法論の重要な部分と考えられています。
#description
BDDは、ユーザーの観点からアプリケーションの動作に焦点を当てるプロセスです。ユーザーの要件から始まり、コードまで逆方向に作業する反復プロセスです。 BDDは、開発プロセスがコードではなくアプリケーションの動作によって主導されなければならないという考えに基づいています。
プロセスはユーザーのニーズと期待から始まります。その後、ユーザーの要件は、アプリケーションの動作方法を説明する個々のシナリオに分類されます。その後、これらのシナリオを使用して、アプリケーションの動作を検証するために使用できる自動化されたテストを作成します。その後、テストは開発プロセスをガイドするために使用され、アプリケーションがユーザーの期待を満たしていることを確認します。
#特徴
BDDの主な機能は、ユーザーの観点からアプリケーションの動作に焦点を当てることです。これは、アプリケーションがユーザーのニーズと期待を満たしていることを確認するのに役立ちます。 BDDはまた、開発者、QAチーム、ビジネスステークホルダー間のコラボレーションを奨励しています。これにより、すべてのステークホルダーがアプリケーションの動作を明確に理解し、アプリケーションがユーザーの要件を満たすように開発されていることを確認できます。
#yes
たとえば、ユーザーが書籍を検索できるアプリケーションを望んでいるとします。ユーザーの要件には、タイトル、著者、ジャンル別に検索する機能が含まれます。 BDDプロセスは、ユーザーの要件を個々のシナリオに分割することから始まります。
たとえば、1つのシナリオは次のとおりです。 「ユーザーがタイトルで書籍を検索している場合、ユーザーが有効なタイトルを入力すると、アプリケーションはそのタイトルの書籍のリストを表示する必要があります。」
次のステップは、このシナリオを検証する自動化されたテストを作成することです。テストはCucumberやGherkinなどの言語で書かれており、アプリケーションが期待どおりに機能していることを確認するために使用されます。
#長所と短所
BDDの主な利点は、アプリケーションがユーザーのニーズと期待を満たすのに役立ちます。また、ユーザーの要件を満たすようにアプリケーションが開発されていることを確認するのに役立つステークホルダー間のコラボレーションも促進します。
BDDの主な欠点は、時間がかかることです。各シナリオに対して自動化されたテストを作成するのは時間がかかるプロセスである可能性があり、ユーザーの変化する要件に従うのは困難です。
#関連技術
BDDは、別のAgileソフトウェア開発プロセスであるTDDと密接に関連しています。 TDDは、アプリケーションの動作ではなくコードに焦点を当て、コードの品質を保証するために使用されます。 BDD と TDD を併用すると、アプリケーションがユーザーの要件を満たし、コード品質が高いことを確認できます。
#結論
行動指向の開発は、ユーザーの観点からアプリケーションの行動に焦点を当てたアジャイルソフトウェア開発プロセスです。開発者、QAチーム、ビジネスステークホルダー間のコラボレーションを促進し、アプリケーションがユーザーのニーズと期待を満たしていることを確認するのに役立ちます。 BDDはTDDと密接に関連しており、アプリケーションがユーザーの要件を満たし、コード品質が高いことを確認するために一緒に使用できます。