問題タブ [system-testing]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
testing - junitスイートのテスト(段階的):すべて@ Before、次にすべて@ Test、次にすべて@After
すべての@Beforeメソッド、次にすべての@Testメソッド、次にすべての@Afterメソッドを実行するjunitランナーが必要です。
これが私のシステムテストの仕組みです。@Beforeメソッドが実行され、テストデータとシナリオが設定されます。アプリケーションが起動します。次に、@ Testメソッドは、アプリケーションをバックグラウンドで実行して実行されます。これらの@Testメソッドは、データを変更したり、アプリケーションに応答したりできます。次に、フレームワークはアプリケーションが終了するのを待ちます。その後、@ Afterメソッドを実行して、テスト結果を検証します。
私はすでにjunitアノテーション、アサーションメソッド、およびその他のさまざまなビットを使用しています。しかし、この方法でjunitsランナーを使用してテストメソッドを実行する方法がわかりません。junit 4.8の「Computer」インターフェースのヘッドもテールも作成できませんでした。また、これにルールを適用する方法を理解することもできませんでした。
asp.net-mvc - Asp.net MVC で統合およびシステム テストを作成する方法
私のアプリケーション
次のようなアプリケーション設計があります。
- Web アプリケーション層 - POCO と呼び出しサービスを使用するコントローラーとビューを備えた asp.net MVC アプリ
- サービス層 - POCO を使用してリポジトリを呼び出すビジネス プロセス
- データ層 - POCO を使用し、この同じ層の一部である EF モデルの形式でモデルと通信するリポジトリ
- POCO レイヤー - これらのレイヤー間の相互通信に使用されるすべてのクラスを定義します
したがって、上位層はデータエンティティをまったく使用しないため、私のデータ層はデータモデルの実装に対して完全に透過的です。
テスト
私がユニット、統合、およびシステムテスト(Asp.net MVCに関連して)を理解している限り、これは次のとおりです。
- 単体テスト - これは簡単です。分離されたオブジェクトをモックし、単体テストに挿入して、テストされたユニットがそれらを使用するようにします
- 統合テスト - 本番機能ユニットのグループを作成し、残りをモックする必要があります。したがって、本番データベースを実際に使用せずにコントローラー、サービス、リポジトリの統合をテストする統合テストを作成します
- システム テスト - モックを作成せずにすべてのレイヤーでテストを実行します。つまり、本番 (テスト) データベースも使用する必要があります。
問題
単体テストやシステムテストの書き方は簡単にわかるが、統合テストの書き方がわからない?これらに対する私の見方は完全に歪んでいて、まったく理解できていないのかもしれません。
Asp.net MVC アプリケーションの統合およびシステム テストをどのように作成する必要がありますか?
または、その問題のための.netアプリケーションはありますか?
問題の説明に役立つコード
次のようなクラスがあるとします。
TaskController
呼び出しますTaskService
TaskService
呼び出しますTaskRepository
TaskRepository
EF データを内部で操作する
だからここに私の(省略された)クラスがあります:
単体テストは単純で、次のようになります。
しかし、統合テストに関して言えば、統合の特定の部分だけをモックするにはどうすればよいでしょうか。
まず、ここでデータベースをモックすることはできませんか? リポジトリをモックして、実際のサービスとコントローラーを使用することはできますが...
testing - 優れたシステム テスト レポートの例
ソフトウェア システムのテスト結果に関するレポートを書いていて、インスピレーションを求めています。私がモデル化できるテストレポートの本当に良い例はありますか?
これは単体テストではなく、システム テストであることに注意してください。私はテスト ケースを取得し、さまざまな方法で自分のシステムでテスト ケースを実行し、その結果に対して真実と回帰の両方のテストを行っています。
そのすべての情報を視覚化して役立つようにする良い方法が必要です。
spring - Spring プロジェクトにシステム テストを含める必要がありますか?
私のSpring Webプロジェクトは次のもので構成されています。
- ユーティリティ クラス;
- リポジトリ;
- サービス;
- コントローラー。
テストは次のとおりです。
- ユーティリティ クラスの単体テスト。
- HSQLDB を使用したリポジトリの春の統合テスト。
- モック リポジトリを使用したサービスの単体テスト。
- モック サービスを使用したコントローラーの単体テスト。
プロジェクト全体の機能をテストするシステム テストもある場合があります。Selenium などの外部ツールを使用して実行するか、Spring 統合テストを使用して実行できます。
問題は、そのような春の統合システム テストをプロジェクトに含める必要があるか、それとも何らかの方法で分離する必要があるかです。
プロジェクトにシステム テストを含めることに関して、次の 2 つの問題があります。2. それらは自律的ではなく、外部リソースなどが必要です。通常の単体テストのように実行することはできません。
システムテストをどのように構成していますか?
django - Django駆動のWebアプリのテスト
サーバーでバックグラウンドプロセスを開いたり閉じたりするWebアプリがあります。サイトにログインおよびログアウトし、すべてのボタンを押す(一般的な操作)複数のユーザーをシミュレートしたいと思います。私は一般的にアプリをテストしているだけでなく、バックグラウンドプロセスがどれだけうまく調整されているかをテストしています。
Webクライアントをシミュレートするために確認する必要のある特定のライブラリはありますか?これは、単体テストではなく、システムレベルのテストです。
junit - junit でのシステム テストの構成
現在、Web サービスでシステム テストを実行するための専用ツールがありますが、jUnit4 内でホストできるように書き直すことを考えていました。
これにより、結果をセットアップしてアサートするための Java の全機能や、テストを実行するためのより簡単な方法 (CI と IDE の両方から) など、いくつかの利点が得られます。
ただし、テストには、テスト用に構成された URL が必要です (現在、テスト用にローカル サーブレットを初期化することは非現実的です)。これを考えると、jUnit でホストしようとすることはまだ良い考えですか? もしそうなら、構成を追加する最良の方法は何ですか?
unit-testing - 自動化されたテスト ケースの実行 - いつ停止するか
システムには約 100 のテスト ケースがあります。そのための自動テスト スイートを構築しようとしています。
テストの実行中に、25 番目のテストが失敗したとします。自動化されたテスト システムがここで抜け出して実行を停止するか、またはこれを失敗としてマークし、26 日以降もテスト ケースの実行を試行し続けるか (つまり、失敗したテスト ケースに関係なく、すべてのテスト サイクルで 100 個のテスト ケースすべてが実行されます)。
もちろん、失敗したテスト ケース (たとえば 25 番目) の後、テスト ケース 26 以降を実行するためにシステムをリセットする必要がある場合は、処理されます。
ありがとう
ジェームズ
testing - Codeblocks IDEのユニット、統合、システムテスト
私は最近、CodeblocksIDEに基づくプロジェクトの制御を与えられました。このプロジェクトは、大規模なmakeスクリプト、モトローラマイクロコントローラー用のgcc、およびサンプルCプログラムで構成されています。コードはSubversionのソース管理下にありますが、テストスクリプトはありません。
私は、Windowsベースのソフトウェアに最適なテストパッケージは何であるか疑問に思っています。ソフトウェアを起動し、プロジェクトを開いてコンパイルできるようにしたいと思います。次に、出力ディレクトリで特定のファイルやバイナリなどを探します。このタスク専用のVMをプロビジョニングすることができます。
IDEを完全に起動してメニューをクリックするよりも、テストするためのより良い方法があるかどうか疑問に思っています。
このプロジェクトがテスト駆動開発を念頭に置いて組み立てられていればいいのですが、今は後でテストを追加することを余儀なくされています。
あなたが持っているかもしれないアドバイスをありがとう
jquery - JQuery & IE8 クラッシュ検出
最近、特定の条件下で IE8 がクラッシュする Web サイトの問題のデバッグを手伝ってほしいと頼まれました。Web サイトを所有する会社は問題を再現できませんでしたが、影響を受けたユーザーから多くの報告を受けていました。
問題を再現することができ、最終的にこの jQuery/IE 8 の問題が原因であることがわかりました。body
この問題は、CSS を使用してタグに背景画像を適用し、 jQuery をロードすると発生します。jQuery バグ チケット コメントへの投稿で、この jsFiddle exampleが提供されました。これは、少なくとも私にとっては、一貫して問題を再現します。
- IE8でhttp://fiddle.jshell.net/ZKPZq/6/にアクセスします 。
- 結果画面を右クリックして更新します - IE8 がクラッシュします
私が抱えている問題は、テスト環境でこれを確実に再現することです。この種のことをテストする方法を提案できる人はいますか? jsFiddle の例で使用されている正確なコードをコピーしたにもかかわらず、問題をローカルで一貫して再現することはできません。特定のタイミングに依存している可能性がありますが、よくわかりません。この問題をチェックする自動テスト スイートに何かを追加したいと思います (jQuery 修正は以前に適用され、後のバージョンで誤って削除されました)。
ブラウザのクラッシュをテストするにはどうすればよいですか? このサイトは Perl で書かれており、いくつかの自動テストは Selenium と WWW::Mechanize を使用して実行されます。
注:これをPro Webmastersに投稿することを検討しましたが、 FAQを読んで、SO に適していると思います。
java - システムテストのテストフレームワーク
システムテストを作成するためのテストフレームワーク(おそらくJava)を探しています。テストする必要のあるシステムは、メッセージを受信およびプッシュするための複数のhttpエンドポイントを提供するESB、JMSサーバー、および最後にデータベースを備えたJBossアプリケーションサーバーです。ESBへの着信メッセージ、要求に送信する必要のある応答、およびデータベース内の期待値を定義するテストシナリオを作成したいと思います。
チェーンは次のとおりです。
だけでなく:
テストは、JUnitテストとして、またはハドソンが実行できる方法で実装する必要があります。交換されたJMSメッセージをテストすることも可能であれば、それは素晴らしいことです。以前はニーズに合ったフレームワークで作業していましたが、これは別の会社で、自分で書いたもので、時には苦痛を感じていました。 this =)