Agile-testing-methodologies
アジャイルテスト-方法論
アジャイルは反復的な開発方法論であり、プロジェクトチーム全体がすべてのアクティビティに参加します。 顧客と自己組織化チームとのコラボレーションを通じて、反復が進むにつれて要件が進化します。 コーディングとテストは対話形式で段階的に行われるため、開発の過程で最終製品の品質が向上し、顧客の要件が確実に満たされます。
すべての反復により、統合された実際の製品が増加し、ユーザー受け入れテストに提供されます。 このようにして得られた顧客フィードバックは、次/後続の反復への入力になります。
継続的な統合、継続的な品質
継続的インテグレーションは、アジャイル開発の成功の鍵です。 必要に応じてリリースの準備ができるように、少なくとも毎日、頻繁に統合します。 アジャイルでのテストは、開発のすべてのフェーズの必須コンポーネントとなり、製品の継続的な品質を保証します。 プロジェクトに関わるすべての人からの絶え間ないフィードバックは、製品の品質を高めます。
アジャイルでは、コミュニケーションが最重要であり、顧客の要求は必要に応じて受け取られます。 これにより、すべての入力が考慮され、開発中に高品質の製品が利用できるという顧客満足度が得られます。
アジャイル手法
アジャイル開発をサポートするアジャイル手法がいくつかあります。 アジャイル手法には以下が含まれます-
スクラム
スクラムは、チーム中心のアプローチに重点を置いたアジャイル開発手法です。 すべてのプロジェクト開発活動にチーム全体が参加することを提唱しています。
XP
eXtreme Programmingは顧客中心であり、絶えず変化する要件に焦点を当てています。 頻繁なリリースと顧客からのフィードバックにより、最終製品は、プロセス中に明確にされた顧客の要件を満たす品質のものになります。
結晶
Crystalは、チャーター、周期的配達、およびまとめに基づいています。
- チャーターには、開発チームの編成、予備的な実行可能性分析の実行、初期計画と開発方法論の到着が含まれます。
- 2つ以上の配信サイクルを使用する周期的配信は、開発フェーズと最終的な統合製品配信に焦点を当てています。
- まとめ中に、ユーザー環境への展開、展開後のレビュー、および反映が実行されます。
FDD
機能駆動開発(FDD)には、機能の設計と構築が含まれます。 FDDと他のアジャイル開発方法論の違いは、機能が特定のフェーズと短いフェーズで別々に開発されることです。
DSDM
Dynamic Software Development Method(DSDM)は、Rapid Application Development(RAD)に基づいており、アジャイルフレームワークに合わせて調整されています。 DSDMは、頻繁に製品を提供することに焦点を当てており、ユーザーを積極的に関与させ、チームが迅速な意思決定を行えるようにします。
無駄のないソフトウェア開発
リーンソフトウェア開発では、無駄をなくし、顧客に価値を提供することに重点が置かれています。 これにより、迅速な開発と価値のある製品がもたらされます。
無駄には、部分的に行われた作業、無関係な作業、顧客が使用していない機能、欠陥などが含まれます。 それは配達の遅れに追加します。
- リーン原則*は-
- 無駄をなくす
- 学習を増幅する
- コミットメントの遅延
- チームに力を与える
- 高速配信
- で整合性を構築
- 全体を見る
かんばん
かんばんは、チームメンバーに過負荷をかけずに、ジャストインタイム(JIT)配信に重点を置いて作業を管理することに焦点を当てています。 タスクが表示され、すべての参加者が表示され、チームメンバーがキューから作業をプルします。
かんばんはに基づいています-
- かんばんボード(開発全体にわたって視覚的で永続的)
- 仕掛品(WIP)の制限
- リードタイム
アジャイルテストの方法論
高品質の製品を提供するために、アジャイルかどうかに関係なく、テストプラクティスはすべてのプロジェクトに対して明確に定義されています。 アジャイルテストでは、従来のテストの原則がよく使用されます。 それらの1つは、に焦点を当てた早期テストです-
- システムの動作を表現するためのテストケースの作成。
- 早期欠陥防止、検出、および削除。
- 適切なテストタイプが適切なタイミングで適切なテストレベルの一部として実行されるようにします。
ここで説明したすべてのアジャイル手法では、アジャイルテスト自体が手法です。 すべてのアプローチで、テストケースはコーディングの前に作成されます。
このチュートリアルでは、アジャイルテストの方法論としてスクラムに焦点を当てます。
他の一般的に使用されるアジャイルテスト方法論は-
- テスト駆動開発(TDD)-テスト駆動開発(TDD)は、テストに基づいたコーディングに基づいています。
- * Acceptance Test-Driven Development(ATDD)*-Acceptance Test-Driven Development(ATDD)は、顧客、開発者、テスター間のコミュニケーションに基づいており、事前に定義されたAcceptance CriteriaおよびAcceptance Test Casesに基づいています。
- 行動駆動開発(BDD)-行動駆動開発(BDD)のテストは、開発中のソフトウェアの予想される動作に基づいています。
アジャイルテストのライフサイクル
スクラムでは、テストアクティビティに含まれるもの-
- テストケースとして示されたシステムの予想される動作に基づいたユーザーストーリーへの貢献
- テストの労力と欠陥に基づくリリース計画
- ユーザーストーリーと欠陥に基づくスプリント計画
- 継続的なテストによるスプリントの実行
- スプリント完了後の回帰テスト
- テスト結果の報告
- 自動化テスト
テストは反復的であり、以下の図に示すようにスプリントに基づいています-