11

システムテストと受け入れテストの実際の違いについて、私は少し混乱しています。このトピックを検索すると、答えが異なり、テストケースがどのように大きく異なるかわかりません。

私が発見した事実:

システム テストは完全なシステムに対して実施され、サプライヤによって実施されます。システム テストは、要件仕様 (機能および非機能の両方) に基づいて、システム内の完全なフロー (ログインからログアウトまで) をテストするエンド ツー エンドのテストです。

受け入れテストは、顧客の要求を満たしていることを確認するために顧客によって行われます。これも完全なフローであり、要件仕様に基づいています。ただし、構築されるシステムは要件仕様に基づいて設計されており、外観/使いやすさは通常、開発サイクルの初期段階で既に受け入れられています。システムが要件仕様をカバーしている場合、クライアントが「これは私たちが望んでいたものではありません。これをやり直してください」と言うことができないはずです。

私の質問は基本的に、これら 2 つのテスト フェーズのテスト ケースはどのように異なるのでしょうか? どちらもエンドツーエンドのテストであり、それが機能するシステムであり、仕様を満たしていることに焦点を当てています。これは、ビジネス ニーズでもあります (注文したものであるため)。システム テストのテスト ケースは、両方とも完全なフローをカバーしているため、受け入れテストで再利用できるように見えますか?

4

3 に答える 3

12

簡単な答えは次のとおりです。

システム テスト開発者や QA によって実行され、システムが設計どおりに機能することを確認します。これは、たとえば Selenium (Web アプリ用) などを使用して自動的に行うことができます。これを行う目的は品質保証であり、多くの組織はこれを気にしません。

受け入れテスト顧客や管理者が、システムが本来あるべきと考えていることを確実に実行することを確認するために実行します。一般に、ソフトウェアを修正する開発者の契約上の義務が終了したと見なされます。

違いは、システム テストでは通常、顧客があまり気にしないこと、たとえば「データベース接続が正しい順序でコミットされているか」などをテストすることです。受け入れテストは通常​​、「主観的なユーザー エクスペリエンスはどうですか」などに焦点を当てます。

于 2013-04-11T09:39:56.563 に答える
4

顧客による受け入れテストには、実際には正式なテスト ケースがあってはなりません。クライアントが計画どおりにシステムを使用し、システムがどのように機能するかについての理解が実際の動作とどのように一致するかを確認することがすべてです。テストケースは受け入れテストを制限します。これは、通常、「X は素晴らしいですが、Y も追加できますか」や「フィールド Z は整数である必要があると言いましたが、実際にはそこにもテキストを入力する必要があるかもしれません」などのようなものです。

于 2013-04-11T09:18:19.120 に答える
2

どちらのタイプのテストも、システム/アプリケーション全体に対して実行されます。多くのテストが重複する可能性が非常に高いです。

システム テストは、多くの場合、独立した QA チームによって実稼働環境に似た環境で実行されます。すべてのコンポーネントが一緒にテストされるのはこれが初めてかもしれません。

受け入れテストは、多くの場合、同じ環境または同様の (実稼働のような) 環境で実行されますが、チームの構成はシステムの実際のユーザーのサブセットで構成されることがよくあります。1 つの信念は、ユーザーがシナリオ、欠陥を特定し、通常のテスターが見落とすような動作を観察するというものです。また、これにより、ユーザーが本番環境にデプロイする前に、ある程度の快適さをユーザーに提供できます。

V モデルから作業している場合、システム テストはシステム レベルの設計と一致し、受け入れテストはビジネス要件と一致します。

于 2013-04-11T13:05:32.463 に答える