問題タブ [regression-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 - ブラック ボックス回帰テストのテスト フレームワーク
私たちが構築している一連の機器を回帰テストするためのツールを探しています。
現在のコンセプトは、テスト中のシステムへの入力を指定するツールへの入力ファイル (text/csv) を作成することです。次に、ツールはシステムからの出力をキャプチャし、入力と出力を出力ファイルに記録します。
出力は元の入力ファイルと同じ形式であり、次のツール実行の入力として使用でき、測定された出力は前回の実行の値と一致します。
2 回の実行の結果は完全に一致するわけではありません。バッテリーの状態に依存する、または機器の他の内部状態に依存する、いくつかのタイミングの違いがあります。
ツールから機器にコマンドを渡し、機器の出力をキャプチャするには、独自のインターフェイスを作成する必要があります。
これは比較的単純な作業ですが、車輪の再発明や教訓を盗むことを避けるために、既存のツール/パッケージ/ライブラリを探しています。
.net - 性能試験
VMWare と NUnit を使用して自動回帰テストを開発しています。テストをいくつかのステップに分割しましたが、各ステップでパフォーマンスの低下を調べたいと思います。NUnit のようにテストのタイミングを計るだけでは、信頼性がないように思われます。私は約 15% の受け入れ率を計算しましたが、私たちの手順は 35% 以上異なる場合があります。このようなリソースに依存するテスト環境で、パフォーマンスをテストする一貫した方法はありますか? 「スマート」タイミング システムは私の唯一の選択肢ですか?
internet-explorer - Selenium でブラウザのポップアップ ウィンドウを処理する
既存のコード ベースに対して Selenium リグレッション テストを実行しており、Web アプリの特定の画面では中間ステップにポップアップを使用しています。
現在、テストでは次のコマンドを使用しています。
...ほとんどの場合に機能します。waitForPopUp()
時折、テストは次の行で失敗します。
より良い、より信頼性の高い方法を提案できる人はいますか?
また、これらのテストは主に IE6 と 7 で実行します。
testing - 回帰テストはテスト スイート全体ですか、それともテストのサンプルですか?
回帰テストは、全体的なテストの小さな (変更または新しいモジュールの導入によって何も壊れていないことを証明するのに十分なだけの) サンプルであると教えられました。しかし、 Ron Morrison と Grady Booch によるこの記事は、私の考え方を変えさせてくれます。
望ましい戦略は、各ユニットを一度に 1 つずつ導入し、大規模な回帰テストを実行し、欠陥を修正してから次のユニットに進むことです。
同じ文書には次のようにも書かれています。
少数のユニットが追加されるとすぐに、テスト バージョンが生成され、「スモーク テスト」が行われます。このテストでは、統合された製品が期待どおりに機能するという確信を得るために少数のテストが実行されます。その意図は、新しいユニットを徹底的にテストすることでも、システム全体を完全に回帰テストすることでもありません。
スモークテストについて説明するとき、著者は次のように述べています。
スモーク テストでは、新しいコンポーネントだけでなく、システム全体のクイック チェックを実行することも重要です。
「広範な」テストと「回帰テスト」が一緒に使用されているのを見たことがなく、「システム全体を完全に回帰テストする」と説明されている回帰テストも見たことがありません。リグレッション テストは、可能な限り軽量かつ迅速に行う必要があります。そして、スモーク テストの定義は、回帰テストが何であるかを私が学んだものです。
私が教えられたことを誤解しましたか?私は間違って教えられましたか?それとも、「回帰テスト」には複数の解釈がありますか?
excel - VBA UserForms の自動テスト - ツールおよび/または技術?
標準コントロールを備えたいくつかのモーダル UserForms で構成される GUI を中心に展開する、かなり大きな Excel アドインで自動回帰テストを開始しようとしています。
主な問題は、私が調べたほとんどの自動テスト ツール (Rational Robot、AutomatedQA TestComplete、Network Automation Automateなど) が VBA コントロールを完全にサポートしていないため、それらのテストはマウス クリックやキー押下を再生してしまうことです。本当に保守可能です。理想的には、VBA フォーム コントロールを認識するテスト ツールが必要なので、「(237, 58) をクリックして 500 ミリ秒待つ」のではなく、「このボタンを押して、このリスト ボックスが変更されるのを待つ」と言えます。
テスト自動化を VBA としてアドインに組み込むことも検討しましたが、ユーザーの時間のほとんどは、バックグラウンドで実行されている VBA を停止するモーダル ダイアログの操作に費やされているため、それはほとんど問題外です。
私の質問 - 自動化されたテスト ツールの使用経験がある人はいますか?
a) VBA ユーザー フォーム コントロールを認識し、確実に操作できる
b) 記録と再生だけでなく、条件付き分岐と成功/失敗のログを使用したテスト スクリプトをサポートしていますか?
あるいは、VBA 内からアドインを起動できるように、VBA の実行を一時停止するモーダル ダイアログの問題を回避する方法を知っている人はいますか?
しばらく QA フォーラムを見回しましたが、何も見つかりませんでした。
ご協力いただきありがとうございます、
-マーティン
testing - ダミーの回帰テスト
Web アプリをリリースする前に回帰テストを実装したいと考えています。
簡単に言えば、次のことができるものを探しています。
- セレンのようなものを使用して Web ブラウザ経由でテストを記録する
- それらのテストをアプリにロードする
- 必要なロジック/機能の変更を行う
- テスト スクリプトを実行する
- テストステータスの表示 (合格/不合格)
- 壊れたテストを修正
- すすいで繰り返す
最小限のコーディング スキルしか持たない QA 担当者に上記を実行してもらいたいです。これは、コーダーが独自の低レベルの回帰テストと単体テストを行うことに加えて行われます。
何か案は?
testing - 組み込みシステムで回帰テストを実行する方法
組み込み環境またはテストを自動化する可能性が非常に限られている他の状況で回帰テストを実行するための優れたプラクティスと戦略は何ですか。
私の経験では、多くのテストを手動で実行する必要があります。つまり、テスターは一連のボタンを押して、マシンが正しく動作することを確認する必要があります。開発者として、あなたの変更が他の何かを壊さないことを自分自身に保証することは本当に難しいです。
適切な回帰テストがないと、大規模なリファクタリングなどで状況がさらに悪化します。
誰かが問題を認識していますか?この種の問題に対処するための良い解決策またはプロセスを見つけましたか?
testing - ソフトウェア テストの自動化 - 修士論文
ソフトウェア テストの自動化に関する論文を書こうとしています。テスト スクリプトの記録とプログラミングの 2 つのアプローチを比較し、Abbot、Selenium、Yemmy、FEST などのいくつかの自動化フレームワークについて説明する予定です。自動テストとソフトウェア テストの比較かもしれません。
編集: GUI でアプリケーションをテストする側面を計画しています。したがって、私のテストは、ほとんどがテストの世界のブラックボックス側になります。単体テストについて書く予定はありません。
現時点では、さまざまな自動化フレームワークについてかなり読んでいますが、それらすべてを確認する時間はないかもしれません。だから私はそれらについて読んで、論文をより文学に基づいたものにするつもりです.
- このトピックは成功すると思いますか?
- このトピックに関する他のアイデアはありますか?
- 文学をお勧めできますか?
- このトピックについてどう思いますか?
c++ - C++での回帰テスト
コードの一部に単体テストを使用できないため、回帰テストにフォールバックします。いくつかの変更を加えた後、プログラムが同じように動作するかどうかを確認したいと思います。そして、振る舞いによって、私は主にデータ構造の状態を意味します。これまでのところ、私はそれらを人間が読める形式のテキスト形式にシリアル化し、最初の実行でいくつかのファイルにダンプしていました。次に、次のダンプで、状態が変化したかどうかを比較できます。また、変更がバグではなく新機能によるものである場合は、更新してください。
ライブラリ(C ++)を使用してすべてを整理できます。何でも知ってますか?ダンプファイルと一緒に、それは安価で大規模な単体テストを提供します。
最も面倒なのはシリアル化手順です。メモリの状態をダンプすることもありますが、それが異なる場合、リバースエンジニアリングは困難です。そこで、別の方法に移りました。ここで、比較フェーズ中に、メモリダンプを「ファントム」オブジェクトに読み込み、特殊なdiffメソッド(豊富なエラーレポートを備えたoperator ==)を実行します。これは、人間が読める形式のテキスト形式にシリアル化するよりも簡単に記述できる場合があります。
基本的に、私は車輪の再発明をしたいと思っているので、私の質問は非常に一般的です:
回帰テストをどのように実行しますか(実行する場合)?
ライブラリ/ツールキットを使用していますか?
自分のニーズに合わせて実装したことがありますか?
そして好奇心から:
回帰テストをしたいと思ったことはありますが、何かがあなたを止めましたか?