what is early testing
早期テストとは何ですか?
ソフトウェアテストは、ソフトウェア開発ライフサイクルの早い段階で開始する必要があります。これは、SDLCの初期段階、つまり要件の収集と設計の段階で欠陥を捕捉して排除するのに役立ちます。テストを早期に開始することで、欠陥の数を減らし、最終的には手直しのコストを削減できます。
のさまざまな側面 初期テスト ここでは、SDLCでテスト戦略ドキュメントを作成または考案する際にQAマネージャーとリードを支援します。
アーリーテストを採用することで、高品質の製品を確実に納品することができます。
このチュートリアルが終了するまでに、読者、QAマネージャー、リード、およびテスターは、以下の概念について十分な知識を持つようになります。
PCでbinファイルを開く方法
- SDLC(プロジェクトまたはソフトウェアリリース)で早期テストを行う理由
- 初期のテスト作業の範囲
- 何を早期にテストしますか?
- 開始と終了
- 長所と短所
ニュアンスを詳しく見ていきましょう!
学習内容:
テストの原則
図1 - テストの原則の簡略化されたビュー
SDLCの特定のソフトウェア、システム、または製品のリリースには、以下のテストの原則のほとんどについて、明確に定義されたさまざまな方法論または戦略があります。
- テストとは何ですか?
- なぜテストするのですか?
- 何をテストしますか?
- テストする方法は?
ただし、多くのリーダー、テスター、リード、およびQAマネージャーが尋ねる、またはより明確にしたいと思う最も長引く質問のいくつかは、インクルード(灰色の領域 図1 )
- ソフトウェアリリースでいつテストを開始するか、またはプロジェクトでいつテストを開始する必要がありますか?
- いつテストを開始し、いつテストを停止しますか?
- SDLCの早い段階でテストを開始する必要があるのはなぜですか?
- ソフトウェア開発の初期テストとは何ですか?
聴衆を簡単に理解するために、私はすべての「灰色の領域」の質問を1つの傘の下にまとめました。 初期のテスト。
SDLCの初期にテストする理由
テストの一部であるいくつかのイベントとアクティビティについて説明しましょう。
通常、プログラム管理チームは、プログラムマネージャー(PM)を特定のソフトウェアリリースまたはプロジェクトに割り当てます。 PMは、マーケティング、開発、QA、サポートチームを含むすべての利害関係者と協力して、リリーススケジュールを作成します。
このチュートリアルでは、私は選択しました 四半期ごとのリリーススケジュール を使用して ウォーターフォールモデル 説明するために 初期のテストの概念 詳細に。
ソフトウェアリリーステストスケジュール
ほとんどの組織は今でも伝統的な方法に従っています 時間ベースのリリース (TBR)ソフトウェアまたは製品のリリースが、四半期ごと、半年ごと、または年ごとの配信が計画されているモデル。
主に、ウォーターフォールモデルはそのようなソフトウェアリリースを実行するために使用されます。リリースサイクルを短くする場合は、アジャイル/スクラムモデルが採用されます。
図2 - 典型的な四半期リリーステストスケジュール(プロジェクト全体またはリリーススケジュールではありません)
重大または重大度の高い欠陥の影響
図3 - 重大な欠陥の典型的な影響
主に 、テストの過程で、次のことが予想されます。
- 重大または重大度の高い欠陥は、テスターによって識別およびログに記録されます。
- 開発者はこれらの欠陥を修正する必要があります。
- その後、テスターは修正を確認する必要があります。
第二に 、非常に多くの重大度または重大なバグを修正および検証することは、多くの製品およびソフトウェアエンジニアリング組織によって広く認識されています。
- 時間がかかる
- リソースの占有(人間+機械)
- 付随的な傾向があり、重大なバグの修正は、交差領域を含むコードの大部分にほとんど影響します。
最後に 、特定のリリースの終了時に多数の重大なバグが見つかった場合、次の1つ以上のネガティブな開発が発生します。
- テストサイクルが延長される可能性が高い。
- リリース期限を逃す可能性が高い。
- 多数の欠陥がある特定の機能は、その特定のリリースからすべてまとめて引き出す必要がある場合があります。
- 顧客のコミットメントが失われています。
他の欠陥はどうですか?
テスターによって識別およびログに記録される中優先度および低優先度の欠陥があります。これらも、開発チームとQAチームが適切に処理する必要があります。したがって、全体として、それは膨大な運動です。
特効薬はありません
ソフトウェア製品またはシステムにあるすべての欠陥を発見できるテストの量がないことはよく知られている事実です。つまり、実際には、テストに終わりはなく、製品に欠陥はありません。
ただし、「 保守性 の競争力と市場投入までの時間(TTM)モデルの観点では、リリースサイクルの早い段階で最大の欠陥、特に重大で重大度の高い欠陥を特定するために、一般的な考え方を打ち破る必要があります。
上記のいずれかまたはすべては、組織のビジネスに悪影響を及ぼします。この文脈では、「 初期テスト ’ 個別のテストアクティビティ 特定のプロジェクトまたはリリースのSDLCの全体的な管理に役立ちます。
初期テストの取り組みの範囲
前のセクションの「 なぜ早期テスト? 」、「 初期のテスト作業の範囲 ' 詳細に。
テストの実行中に排他的に追跡される新しいアクティビティとしてテストアーリーを導入しているため、以下で説明するように、テスト作業の範囲を練習することをお勧めします。
仮定:
- プロジェクト全体またはソフトウェアリリーススケジュールが承認され、すべての利害関係者が利用できるようになります。
- 全体的なテスト戦略文書は、すべての利害関係者によって作成、レビュー、および承認されます。
- テストする高、中、低優先度の機能は十分に文書化されています。
- すべての機能のテスト計画とテストケースは、すべての利害関係者によって開発、レビュー、および承認されます。
- すべてのテスト計画とテストケースは、テストの実行を追跡するために中央リポジトリにアップロードされます。
- テストベッドのセットアップとテスト計画の実行には、すべての人的資源、インフラストラクチャ機器、およびツールを利用できます。
何を早期にテストしますか?
図4 - 早期テストの範囲への全体的なアプローチ
アプローチ
- 取りましょう 例 3つの高優先度機能A、B、およびC、10の中優先度機能、および15のマイナー(または低優先度)機能を備えたリリースXYZの。
- 優先度の高い機能とは、高収益および/または標準への準拠、および/または競合他社のキャッチアップおよび/または競合他社のワンアップマンシップ、およびこれらすべてを生み出している機能です。
- 優先度の高い機能には通常、複雑なコーディングが含まれ、多数の新しいコード行が追加されます。
- 新しいコード行が多数あるということは、交差領域の可能性が高いことも意味します。
- 通常、優先度の高い機能や新しいコード行が多数ある機能は、早期テストの最適な候補です。
- 早期テスト活動のために作成された個別のテスト計画は必要ありません。
- QAリードまたはテスターは、開発リードまたはSME(対象分野の専門家)とともに、このテストアクティビティのコード/テストの対象範囲について話し合い、合意する必要があります。
- 機能テストプランA、B、およびCのそれぞれから必要と思われる場合は、適切な高優先度テストケース、および一部の中優先度テストケースを特定します。
- 適切な機能とテストケースのサブセットが特定されたら、組織が採用しているテスト追跡ツールを使用してそれらが追跡されていることを確認します。
ヒント:コラボレーションが重要です! 初期テスト活動中、開発チームとQAチームの両方が緊密に協力して、設定された目標が高品質の結果で達成されることを確認する必要があります。
早期テストの開始と終了
開発チームとQAチームの両方がブレインストーミングを行い、開始日と終了日を含む早期テストアクティビティ全体のすべてのアプローチに同意して、すべてが同じページに表示されるようにすることが重要です。
スタートのエントリー基準
- 統合テストの完了率
- 未解決のバグの数
- 早期テストを開始するためのブロッカーはありません
活動フェーズ
- 進捗状況の追跡
- このテスト中にドロップするコードの数
- バグ修正アプローチ
- バグ検証アプローチ
- このテスト結果を記録する
終了基準
- テストの次のフェーズ(通常は機能テスト)へのハンドオフアクティビティ。
- 初期テスト中に見つかった未解決のバグの解決。
- テストの次のフェーズのためのブロッカーがある場合はその解決。
- 初期のテスト結果を公開します。
長所と短所
すべての新しいイニシアチブまたは活動には、独自の長所と短所があります。
このテストアプローチの長所と短所を調べてみましょう。
長所
- ウォーターフォールモデルに最適です。
- テストサイクルの早い段階で重大なバグを発見するのに役立ちます。
- リリースサイクルの早い段階で重大なバグを特定します。
- 開発チームがコードを早期に安定させるのに役立ちます。
- バグ修正による販促素材の最小化に役立ちます。
- 開発チームがリリースサイクルの早い段階で交差領域全体の脆弱性を詳細に特定するのに役立ちます。
- 管理チームは、その特定のリリースまたはプロジェクトの未解決の重大なバグについてデューデリジェンスを行い、適切なビジネス上の意思決定を行うことができます。
- 拡張に役立ちます テストカバレッジ 効果的にサイクリングします。
- 開発およびテストのリソースを効率的かつ効果的に配布するのに役立ちます。
短所
- アジャイル/スクラムモデルには理想的ではありません。ただし、このようなモデルでは、適切な調整を行うことでスプリントの早期テストを採用できます。
- 減少する可能性があります 統合テスト 開発チームによる。
結論
顧客またはエンドユーザーは、保守性の高い製品またはシステムまたはソリューションを購入または採用します。そのようなシステムまたは製品で実行されているソフトウェアの保守性を検証することが主要な要件です
なぜテストするのかなど、テストの原則の主要なコンポーネントテストとは何ですか?何をテストしますか?テストする方法は?ほとんどの場合、明確に定義され、理解されています。ただし、早期テストのような概念について、読者、テスター、リード、およびマネージャーの心に支えられ続けるいくつかの長引く質問があります。
特定のソフトウェアプロジェクトまたはリリースの全体的なテストスケジュールの不可欠なアクティビティとして早期テストを採用することは、組織が堅牢な認定製品またはシステムを提供するのに非常に役立ちます。
キャリアにおける早期テストの重要性に気づいたことがありますか?下記のコメント欄で、お気軽にご意見・ご感想をお聞かせください!
推奨読書
- 最高のソフトウェアテストツール2021 (QAテスト自動化ツール)
- 実用的な例を含む移植性テストガイド
- ソフトウェアテストQAアシスタントジョブ
- 実用的なソフトウェアテスト-新しい無料の電子書籍(ダウンロード)
- アルファテストとベータテスト(完全ガイド)
- ソフトウェアテストコース:どのソフトウェアテスト機関に参加する必要がありますか?
- キャリアとしてのソフトウェアテストの選択
- ソフトウェアテストテクニカルコンテンツライターフリーランサーの仕事