問題タブ [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.

0 投票する
1 に答える
95 参照

user-interface - AppleWebObjetcsGUIでの回帰テスト

私は最近、AppleWebObjectsで開発されたアプリケーションに大きく依存している会社で新しい仕事を始めました。この会社には、新しいアップデートを受信したり、バグ修正や新機能を使用したりするたびに自動テストを行う方法がないことがあります。これはプロプライエタリアプリケーションであるため、コードにアクセスすることはできません。私の考えは、GUIを介して回帰テストを実行できるようにする一連のテストケースを開発することです。このためのツールを探しましたが、GUIにあるコンポーネントを「見る」ことができるものは見つかりませんでした。

私が会社に到着する前に、他の人はすでにHPLoadRunnerを試していましたが成功しませんでした。AutoIt 3.0を試してみましたが、フィールドが認識されるかどうかを確認するだけでしたが、成功しませんでした。

そのような種類のアプリケーションをテストした経験のある人はいますか?この目的に適したツールはどれだと思いますか?

ご意見ありがとうございます。

ありがとうございました!ブルーノ

0 投票する
0 に答える
691 参照

testing - Selenium テスト用にデータベースを事前設定する一般的な方法は何ですか?

前提条件として X ウィジェットを必要とするテストがある場合、フロントエンドを介してテストで X ウィジェットを作成するという面倒なプロセスを避けたいと思います。主な代替手段は、テストの実行ごとにロードされる宣言された DB ダンプを持つか、事前に決定された状態を保証するか (ダンプ ファイルは、前提条件を手動で実行し、結果のスキーマをダンプすることによって生成されます)、または ORM を使用することのいずれかのようです。 .

すべてのビジネス ロジックがアプリケーション層にあることを考えると、それを ORM (Hibernate) で複製するのは扱いにくいことがわかっています。私の Selenium フレームワークは Java であり、アプリは symfony を使用する PHP です。

オプションは何ですか?非常に長いテストを行ったり、どうにかして Java から symfony/PHP コマンドを呼び出したり、レポでダンプファイルを維持するのが難しいですか? プリセット DB の代わりにトランザクションを使用する必要がありますか? テストの実行時間と作成/保守の単純さのトレードオフを最適化することが重要です。おそらく役立つ DbUnit のようなツールを検討してきました。

0 投票する
2 に答える
317 参照

python - Python を使用した日付に依存する回帰テスト

こんにちは、Python Web アプリケーションの回帰テスト スイートのセットアップを手伝っています。私たちのテストの多くは、現在の日付が重要なスケジュール スタイルのテストです。例: 2 月 1 日から始まる 1 か月間、毎週実行される定期的なイベントを作成します。

これをテストするために、私が実際にやりたいことは、現在の日付をオーバーライドして、時間を前後に移動してアプリの状態を確認できるようにすることです。たとえば、Python バックエンドに渡され、日付の計算に使用される「現在の」日付を設定できるテスト専用ページを追加する場合があります。

過去にこれを行ったときは、最初からアプリケーション アーキテクチャに組み込みました。

これが私の質問です。Web サービス呼び出しで現在の日付をオーバーライドする方法はありますか? たとえば、現在の日付の呼び出しを傍受できますか (モンキー パッチが適用される可能性がありますか?)。何百ものメソッドを変更することになるため、IOC 全体を行う必要はありません。-デイブ

0 投票する
1 に答える
96 参照

ruby - 一致したキーワードがRubyとRailsでハイライトされているかどうかを検証する方法

RubyとRailsを使用してテストスクリプトを書いています。適切なキーワードが強調表示されているかどうかを検証する必要があります。どうすればこすりますか。たとえば。「機密」は私のキーワードであり、強調表示されているかどうかを検証したいと考えています。

0 投票する
4 に答える
52228 参照

testing - 「make check」または「make test」の実装

Make を使用して単純な回帰テスト フレームワークを実装するにはどうすればよいですか? (それが問題なら、私はGNU Makeを使用しています。)

私の現在のmakefileは次のようになります(簡単にするために編集されています):

回帰テストのセットが欲しいです。たとえばexpr.in「良い」式をunrecognized.inテストし、「悪い」式をテストします。 expr.cmp&unrecognized.cmpは、それぞれの期待される出力です。手動テストは次のようになります。

次のようなメイクファイルに一連のルールを追加することを考えました。

私の質問:
• [something] プレースホルダーには何を入れますか? • からのメッセージを「テストに失敗しました」という
メッセージに置き換える方法はありますか?diffexpr

0 投票する
2 に答える
3326 参照

testing - サードパーティ API への接続のテストは、継続的インテグレーションにどのように適合しますか?

少し前に、自分のコードとサードパーティ API の間で作成した統合をテストするテストを作成しました。このテストにより、統合が適切に機能し、期待される結果が得られることが確認されます。

サードパーティ API に接続しようとしたときにテストで 500 エラーが発生したため、正式なビルドは今日失敗しました。

このような状況をテストする意味はありますか?

0 投票する
5 に答える
2145 参照

css - Webアプリケーションのスタイリングとレイアウトの回帰テスト

これは簡単な作業ではないことはわかっていますが、Webアプリケーションのスタイリングとレンダリングされたレイアウトを回帰テストする方法はありますか?

サーバー側とクライアント側の両方で、単体テストと回帰テストの機能を簡単に実行できることがわかりました。

しかし、私が遭遇した苛立たしい問題は、別のページのレイアウトとスタイルを壊す1つのレイアウトの問題を修正するために行われたCSSの変更です。これらを検出する方法を知る唯一の方法は、アプリケーションのすべてのページを手動で表示し、それを自分の期待と比較することですが、アプリケーションに数十のページがある場合、これは明らかに負担と費用がかかる可能性があります。このような問題を自動的に検出するために画像処理やその他の技術を使用した研究はありますか?

0 投票する
3 に答える
123 参照

testing - テストを高速化するために回帰テストを削除して組み合わせるのは悪い習慣ですか?

サードパーティの Web サービスと統合するアプリに取り組んでいます。現在、Web サービスを呼び出して次のことを行う個別の統合/回帰テストがあります。

  • ポリシーの変更 - 車両の追加
  • ポリシーの変更 - 車両の削除
  • ポリシーの変更 - 複数の車両を追加
  • ポリシーの変更 - 被保険者の追加
  • ...

これらのテストのほとんどは、バグが発見されて修正されたときに作成されました。サード パーティの Web サービスは遅いので、テスト プロセスをスピードアップしようとしています。各テストは Web サービスを呼び出すため、Web サービスを 1 回だけ呼び出す 1 つのテストにそれらを結合すると、処理が大幅に高速化されます。

各テストは特定のバグに対して書かれているため、これらのテストを組み合わせることは悪い習慣でしょうか? 私の懸念は、リファクタリングのミスにより、後でバグが再導入される可能性があることです。

0 投票する
1 に答える
1095 参照

c++ - 試しました:valgrind、_GLIBCXX_DEBUG、-fno-strict-aliasing; このエラーをデバッグするにはどうすればよいですか?

私は数日かけて理解しようとして本当に奇妙なエラーが発生したので、何が起こっているのかを理解するのに役立つコメントがないかどうかを確認したいと思います。

いくつかの背景。Boost1.45を使用してPython2.7.1にC++拡張機能を追加するソフトウェアプロジェクトに取り組んでいるため、すべてのコードはPythonインタープリターを介して実行されています。最近、回帰テストの1つを破ったコードに変更を加えました。この回帰テストは、おそらく数値の変動(たとえば、異なるマシン)に敏感すぎるため、修正する必要があります。ただし、この回帰は、元の回帰結果を生成したのと同じマシン/コンパイラで中断しているため、結果の違いをこの数値コードのスニペット(変更したコードとは明らかに無関係)まで追跡しました。

いくつかの数値表を作成します。ご了承ください:

  • %a printsは、正確なASCII表現を提供します
  • 左側(lhs)はc [3]であり、rhsは他の8つの値です。
  • 以下の出力は、f、dfの境界から遠く離れたiの値に対するものです。
  • このコードは、iのループ内に存在し、それ自体が複数のレイヤーをネストしています(したがって、これを再現するための分離されたケースを提供することはできません)。

そこで、ソースツリーのクローンを作成しました。コンパイルする2つの実行可能ファイルの唯一の違いは、このテストでは実行されない余分なコードがクローンに含まれていることです。唯一の違いはコードがメモリ内に存在する場所にあるはずなので、これはメモリの問題であるに違いないと思います...とにかく、2つの実行可能ファイルを実行すると、生成されるものの違いは次のとおりです。

c [3]の値は微妙に異なりますが、rhsの値はどれも違いがないことがわかります。つまり、どのように同一の入力が異なる出力を生み出しているのか。rhs式を単純化してみましたが、変更を加えると違いがなくなります。&c [3]を印刷すると、違いはなくなります。アクセスできる2つの異なるマシン(linux、osx)で実行している場合、違いはありません。これが私がすでに試したことです:

  • valgrind(Pythonで多数の問題が報告されましたが、私のコードには何も報告されておらず、深刻に見えるものもありません)
  • -D_GLIBCXX_DEBUG -D_GLIBCXX_DEBUG_ASSERT -D_GLIBCXX_DEBUG_PEDASSERT -D_GLIBCXX_DEBUG_VERIFY(ただし何もアサートされません)
  • -fno-strict-aliasing(ただし、ブーストコードからエイリアシングコンパイル警告が表示されます)

問題のあるマシンでgcc4.1.2からgcc4.5.2に切り替えてみましたが、この特定の孤立した違いはなくなりました(ただし、リグレッションは失敗するため、別の問題であると想定します)。

問題をさらに切り分けるために私にできることはありますか?将来の参考のために、この種の問題をより迅速に分析または理解する方法はありますか?たとえば、rhsが変更されていないのにlhsが変更されているという私の説明を考えると、あなたは何を結論付けますか?

編集:問題は完全に原因でした-ffast-math

0 投票する
1 に答える
739 参照

unit-testing - 回帰を防ぐ単体テストの例

私は自分のITショップ(中規模の小売業者)で単体テストを作成している唯一の開発者です。私は経営陣から、開発者にそうすることの利点についてプレゼンテーションを行うという任務を負っています。

「あはは!」のひとつ 私の単体テスト中毒につながった瞬間は、単体テストスイートが、手動でテストしていたら再テストするとは思わなかったコードのリグレッションを防ぐことができるという認識でした(これは、行った変更とは無関係のようだったためです)。

プレゼンテーションに含めるそのようなテストの例を探しています。理想的には、それは信頼性を得るのに十分な「現実世界」であるが、教室の設定に適しているのに十分な自己完結型である。自作のテストは、関連するテキストへのポインタと同様に問題ありません。実装の言語は重要ではありません。