ソフトウェアテスト-概要
テストとは何ですか?
テストは、指定された要件を満たしているかどうかを確認する目的で、システムまたはそのコンポーネントを評価するプロセスです。簡単に言うと、テストとは、実際の要件とは逆に、ギャップ、エラー、または不足している要件を特定するためにシステムを実行することです。
ANSI / IEEE 1059規格によれば、テストは次のように定義できます。ソフトウェアアイテムを分析して、既存の条件と必要な条件(つまり、欠陥/エラー/バグ)の違いを検出し、ソフトウェアアイテムの機能を評価するプロセス。
誰がテストしますか?
それは、プロセスとプロジェクトの関連する利害関係者によって異なります。IT業界では、大企業には、特定の要件に照らして開発されたソフトウェアを評価する責任を持つチームがあります。さらに、開発者は、と呼ばれるテストも実施しますUnit Testing。ほとんどの場合、次の専門家がそれぞれの能力の範囲内でシステムのテストに関与しています。
- ソフトウェアテスター
- ソフトウェア開発者
- プロジェクトリーダー/マネージャー
- エンドユーザー
ソフトウェアテスター、ソフトウェア品質保証エンジニア、QAアナリストなど、経験と知識に基づいてソフトウェアをテストする人の指定は、会社によって異なります。
サイクル中はいつでもソフトウェアをテストすることはできません。次の2つのセクションでは、SDLC中にテストを開始するタイミングと終了するタイミングについて説明します。
いつテストを開始しますか?
テストを早期に開始することで、クライアントに提供されるエラーのないソフトウェアを作り直して作成するためのコストと時間を削減できます。ただし、ソフトウェア開発ライフサイクル(SDLC)では、テストは要件収集フェーズから開始し、ソフトウェアの展開まで継続できます。
また、使用されている開発モデルによっても異なります。たとえば、ウォーターフォールモデルでは、正式なテストはテストフェーズで実行されます。ただし、インクリメンタルモデルでは、すべてのインクリメント/反復の最後にテストが実行され、アプリケーション全体が最後にテストされます。
テストは、SDLCのすべてのフェーズでさまざまな形式で行われます-
要件収集フェーズでは、要件の分析と検証もテストと見なされます。
設計を改善する目的で設計段階で設計をレビューすることも、テストと見なされます。
コードの完了時に開発者が実行するテストも、テストとして分類されます。
テストをいつ停止するか?
テストは終わりのないプロセスであり、ソフトウェアが100%テストされていると誰も主張できないため、テストをいつ停止するかを決定することは困難です。テストプロセスを停止するには、次の側面を考慮する必要があります。
締め切りのテスト
テストケース実行の完了
ある時点までの機能およびコードカバレッジの完了
バグ率が一定レベルを下回り、優先度の高いバグが特定されていない
経営判断
検証と妥当性確認
これらの2つの用語は、同じ意味で使用するほとんどの人にとって非常に混乱します。次の表は、検証と妥当性確認の違いを示しています。
シニア番号 | 検証 | 検証 |
---|---|---|
1 | 検証は懸念に対処します:「あなたはそれを正しく構築していますか?」 | 検証は懸念に対処します:「あなたは正しいものを構築していますか?」 |
2 | ソフトウェアシステムがすべての機能を満たしていることを確認します。 | 機能が意図した動作を満たしていることを確認します。 |
3 | 検証は最初に行われ、ドキュメント、コードなどのチェックが含まれます。 | 検証は検証後に行われ、主に製品全体のチェックが含まれます。 |
4 | 開発者によって行われます。 | テスターによって行われます。 |
5 | ソフトウェアを検証するためのレビュー、ウォークスルー、および検査の収集が含まれるため、静的なアクティビティがあります。 | 要件に照らしてソフトウェアを実行することを含むため、動的なアクティビティがあります。 |
6 | これは客観的なプロセスであり、ソフトウェアを検証するために主観的な決定を行う必要はありません。 | これは主観的なプロセスであり、ソフトウェアがどの程度うまく機能するかについての主観的な決定が含まれます。 |