アジャイルテスト-方法論

アジャイルは反復型開発方法論であり、プロジェクトチーム全体がすべての活動に参加します。要件は、顧客と自己組織化チーム間のコラボレーションを通じて、反復が進むにつれて進化します。コーディングとテストはインタラクティブかつ段階的に行われるため、開発の過程で、最終製品は高品質になり、顧客の要件が保証されます。

すべての反復により、統合された作業成果物が増加し、ユーザー受け入れテストに提供されます。このようにして得られた顧客のフィードバックは、次の/後続の反復への入力になります。

継続的インテグレーション、継続的品質

継続的インテグレーションは、アジャイル開発を成功させるための鍵です。必要に応じてリリースの準備ができるように、少なくとも毎日、頻繁に統合します。アジャイルでのテストは、開発のすべてのフェーズの不可欠なコンポーネントになり、製品の継続的な品質を保証します。プロジェクトに関係するすべての人からの絶え間ないフィードバックは、製品の品質を向上させます。

アジャイルでは、コミュニケーションが最重要事項であり、必要に応じて顧客の要求を受け取ります。これにより、すべての入力が考慮され、開発全体で高品質の製品が利用可能であるという顧客の満足度が得られます。

アジャイル手法

アジャイル開発をサポートするいくつかのアジャイル手法があります。アジャイル手法には以下が含まれます-

スクラム

スクラムは、チーム中心のアプローチに重点を置いたアジャイル開発手法です。これは、すべてのプロジェクト開発活動へのチーム全体の参加を提唱しています。

XP

エクストリームプログラミングは顧客中心であり、絶えず変化する要件に焦点を当てています。頻繁なリリースと顧客からのフィードバックにより、最終製品は、プロセス中に明確になる顧客の要件を満たす品質になります。

結晶

Crystalは、用船、定期配送、およびまとめに基づいています。

  • 傭船には、開発チームの編成、予備的な実現可能性分析の実行、初期計画の達成、および開発方法論が含まれます。

  • 2つ以上の配信サイクルを伴う循環配信は、開発フェーズと最終的な統合製品配信に重点を置いています。

  • まとめ、ユーザー環境への展開、展開後のレビュー、および反映が実行されます。

FDD

機能駆動開発(FDD)には、機能の設計と構築が含まれます。FDDと他のアジャイル開発手法の違いは、機能が特定のフェーズと短いフェーズで別々に開発されることです。

DSDM

Dynamic Software Development Method(DSDM)は、Rapid Application Development(RAD)に基づいており、アジャイルフレームワークに対応しています。DSDMは、製品の頻繁な配信に重点を置いており、ユーザーを積極的に関与させ、チームが迅速な意思決定を行えるようにします。

リーンソフトウェア開発

リーンソフトウェア開発では、無駄を排除し、顧客に価値を提供することに重点を置いています。これにより、迅速な開発と価値のある製品が実現します。

廃棄物には、部分的に行われた作業、無関係な作業、顧客が使用していない機能、納期の遅れを助長する欠陥などが含まれます。

ザ・ Lean Principles は−

  • 無駄をなくす
  • 学習を増幅する
  • コミットメントの遅延
  • チームに力を与える
  • 高速配信
  • で整合性を構築する
  • 全体を見る

かんばん

かんばんは、チームメンバーに過負荷をかけずに、ジャストインタイム(JIT)配信に重点を置いた作業管理に重点を置いています。タスクは、すべての参加者が表示できるように、またチームメンバーがキューから作業をプルできるように表示されます。

かんばんはに基づいています-

  • かんばんボード(開発全体で視覚的かつ永続的)
  • 仕掛品(WIP)の制限
  • リードタイム

アジャイルテストの方法論

テストの実践は、アジャイルであるかどうかにかかわらず、すべてのプロジェクトで明確に定義されており、高品質の製品を提供します。従来のテストの原則は、アジャイルテストでよく使用されます。それらの1つは、-に焦点を当てた早期テストです。

  • システムの動作を表現するためのテストケースの作成。

  • 早期の欠陥防止、検出および除去。

  • 適切なテストタイプが適切なタイミングで適切なテストレベルの一部として実行されるようにします。

私たちが議論したすべてのアジャイル方法論において、アジャイルテスト自体が方法論です。すべてのアプローチで、テストケースはコーディングの前に作成されます。

このチュートリアルでは、アジャイルテストの方法論としてスクラムに焦点を当てます。

他の一般的に使用されるアジャイルテスト方法論は次のとおりです。

  • Test-Driven Development (TDD) −テスト駆動開発(TDD)は、テストによって導かれるコーディングに基づいています。

  • Acceptance Test-Driven Development (ATDD) −受け入れテスト駆動開発(ATDD)は、顧客、開発者、テスター間のコミュニケーションに基づいており、事前定義された受け入れ基準と受け入れテストケースによって推進されます。

  • Behavior-Driven Development (BDD) −ビヘイビア駆動開発(BDD)テストは、開発中のソフトウェアの予想される動作に基づいています。

アジャイルテストのライフサイクル

スクラムでは、テスト活動には次のものが含まれます。

  • テストケースとして描かれているシステムの予想される動作に基づいてユーザーストーリーに貢献する

  • テストの労力と欠陥に基づくリリース計画

  • ユーザーストーリーと欠陥に基づくスプリント計画

  • 継続的テストによるスプリントの実行

  • スプリント完了後の回帰テスト

  • テスト結果の報告

  • 自動化テスト

以下の図に示すように、テストは反復的でスプリントベースです。