System-analysis-and-design-testing-quality-assurance

提供:Dev Guides
移動先:案内検索

テストと品質保証

ソフトウェアシステムは、各開発段階で意図された動作と進行方向をチェックして、作業の重複、時間とコストのオーバーランを回避し、規定の時間内にシステムの完了を保証する必要があります。各開発段階での意図された動作と進行方向により、作業の重複、時間とコストのオーバーランを回避し、規定の時間内にシステムを確実に完了させることができます。

システムのテストと品質保証は、システムのチェックに役立ちます。 それが含まれています-

  • 製品レベルの品質(テスト)
  • プロセスレベルの品質。

それらを簡単に見てみましょう-

テスト

テストとは、システムの品質と信頼性を向上させるために、指定されたユーザー要件に従ってソフトウェアの機能と正確性をチェックするプロセスまたはアクティビティです。 これは、システム開発における高価で時間のかかる重要なアプローチであり、テストプロセス全体の適切な計画が必要です。

テストが成功すると、エラーが検出されます。 エラーを見つけるという明示的な意図でプログラムを実行します。つまり、プログラムを失敗させます。 これは、強力なシステムを作成することを目的としてシステムを評価するプロセスであり、主にシステムまたはソフトウェアの脆弱な領域に焦点を当てています。

システムテストの特徴

システムテストはモジュールレベルで開始され、ソフトウェアシステム全体の統合に進みます。 システムをテストしている間、異なる時間に異なるテスト手法が使用されます。 これは、小規模プロジェクトの場合は開発者によって、大規模プロジェクトの場合は独立したテストグループによって実施されます。

システムテストの段階

次の段階がテストに関与しています-

テスト戦略

これは、システムのテストに使用されるさまざまなレベル、方法、ツール、および手法に関する情報を提供するステートメントです。 組織のすべてのニーズを満たす必要があります。

テスト計画

システムをテストするための計画を提供し、テスト中のシステムがすべての設計および機能仕様を満たしていることを検証します。 テスト計画は、次の情報を提供します-

  • 各テスト段階の目的
  • テストに使用されるアプローチとツール
  • 各テスト活動に必要な責任と時間
  • ツール、機能、およびテストライブラリの可用性
  • テストの計画と実施に必要な手順と基準
  • テストプロセスが正常に完了した要因

テストケースデザイン

  • テストケースは、システム内の可能な限り多くのエラーを発見するために使用されます。
  • テストするシステムの各モジュールについて、多数のテストケースが識別されます。
  • 各テストケースでは、特定の要件または設計決定の実装をテストする方法と、テストの成功の基準を指定します。
  • テスト計画とテストケースは、システム仕様文書の一部として、または*テスト仕様*または*テスト記述*と呼ばれる別の文書に文書化されています。

テスト手順

これは、各テストケースを実行するために従うべき手順で構成されています。 これらの手順は、テスト手順仕様と呼ばれる別のドキュメントで指定されています。 このドキュメントでは、テストの結果を報告するための特別な要件と形式も指定しています。

テスト結果のドキュメント

テスト結果ファイルには、実行されたテストケースの総数、エラーの数、およびエラーの性質に関する簡単な情報が含まれています。 これらの結果は、テスト仕様の基準に照らして評価され、テストの全体的な結果が決定されます。

テストの種類

テストにはさまざまなタイプがあり、発見しようとするバグの種類に応じてさまざまなタイプのテストが行​​われます-

単体テスト

プログラムテストとも呼ばれ、アナリストが各プログラムまたはモジュールを個別にテストまたは集中するタイプのテストです。 モジュールの各ステートメントを少なくとも1回実行することを意図して実行されます。

  • 単体テストでは、プログラムの正確性は保証されず、さまざまな入力の組み合わせを詳細にテストすることは困難です。
  • 他のテスト手法と比較して、プログラムの最大エラーを特定します。

統合テスト

統合テストでは、アナリストが複数のモジュールが連携してテストします。 これは、システムとその元の目的、現在の仕様、およびシステムのドキュメントとの間の矛盾を見つけるために使用されます。

  • ここで、アナリストは、データ長、タイプ、データ要素名の異なる仕様でモジュールが設計されている領域を見つけようとします。
  • ファイルサイズが適切であり、インデックスが適切に構築されていることを確認します。

機能テスト

機能テストは、システムの仕様および関連する標準文書に従って、システムが正しく機能しているかどうかを判断します。 機能テストは通常​​、システムの実装から始まります。これは、システムの成功にとって非常に重要です。

機能テストは2つのカテゴリに分けられます-

  • 正の機能テスト-生成された出力が正しいことを確認するために、有効な入力でシステムをテストします。
  • 負の機能テスト-無効な入力と望ましくない動作条件でソフトウェアをテストすることを含みます。

システムテストのルール

システムテストを正常に実行するには、所定のルールに従う必要があります-

  • テストはユーザーの要件に基づいている必要があります。
  • テストスクリプトを記述する前に、ビジネスロジックを完全に理解する必要があります。
  • テスト計画はできるだけ早く行う必要があります。
  • テストは第三者が行う必要があります。
  • 静的ソフトウェアで実行する必要があります。
  • 有効な入力条件と無効な入力条件をテストする必要があります。
  • コストを削減するために、テストをレビューおよび調査する必要があります。
  • 静的テストと動的テストの両方をソフトウェアで実行する必要があります。
  • テストケースとテスト結果の文書化を行う必要があります。

品質保証

システムまたはソフトウェア製品のレビューと、システムが要件と仕様を満たしていることを保証するためのドキュメントです。

  • QAの目的は、仕様に従って製品を継続的に配送することにより、顧客に自信を与えることです。
  • ソフトウェア品質保証(SQA)は、ソフトウェアの意図された使用とパフォーマンスについて指定された標準を満たすことを保証するために、ソフトウェアの専門家によって適用される手順とツールを含む技術です。
  • SQAの主な目的は、ソフトウェアプロジェクトとその開発製品の適切かつ正確な可視性を管理者に提供することです。
  • システム開発のライフサイクル全体でソフトウェア製品とそのアクティビティをレビューおよび監査します。

品質保証の目的

品質保証を実施する目的は次のとおりです-

  • ソフトウェア開発プロセスと開発された最終ソフトウェアを監視するため。
  • ソフトウェアプロジェクトが管理者によって設定された標準と手順を実装しているかどうかを確認する。
  • SQAアクティビティおよびこれらのアクティビティの結果についてグループおよび個人に通知する。
  • ソフトウェア内で解決されていない問題が、上級管理職によって確実に対処されるようにするため。
  • 製品、プロセス、または標準の欠陥を特定し、修正するため。

品質保証のレベル

ソフトウェア製品を認証するために実行する必要があるQAとテストにはいくつかのレベルがあります。

レベル1-コードウォークスルー

このレベルでは、オフラインソフトウェアが公式のコーディングルールの違反について検査またはチェックされます。 一般に、ドキュメントの検討とコード内コメントのレベルに重点が置かれます。

レベル2-コンパイルとリンク

このレベルでは、ソフトウェアがすべての公式プラットフォームとオペレーティングシステムをコンパイルおよびリンクできることを確認します。

レベル3-定期的な実行

このレベルでは、特定の数のイベント、小規模および大規模なイベントサイズなど、さまざまな条件下でソフトウェアが適切に実行できることを確認します。

レベル4-パフォーマンステスト

この最終レベルでは、ソフトウェアのパフォーマンスが以前に指定されたパフォーマンスレベルを満たしているかどうかがチェックされます。