論文の概要: Detecting and Evaluating Order-Dependent Flaky Tests in JavaScript
- arxiv url: http://arxiv.org/abs/2501.12680v1
- Date: Wed, 22 Jan 2025 06:52:11 GMT
- ステータス: 翻訳完了
- システム内更新日: 2025-01-23 16:53:15.432680
- Title: Detecting and Evaluating Order-Dependent Flaky Tests in JavaScript
- Title(参考訳): JavaScriptにおける順序依存型フレークテストの検出と評価
- Authors: Negar Hashemi, Amjed Tahir, Shawn Rasheed, August Shi, Rachel Blagojevic,
- Abstract要約: 不安定なテストは、ソフトウェアテストに重大な問題を引き起こす。
これまでの研究では、テストオーダー依存性がフレキネスの最も一般的な原因の1つとして特定されている。
本稿では,JavaScriptテストにおけるテスト順序依存性について検討する。
- 参考スコア(独自算出の注目度): 3.6513675781808357
- License:
- Abstract: Flaky tests pose a significant issue for software testing. A test with a non-deterministic outcome may undermine the reliability of the testing process, making tests untrustworthy. Previous research has identified test order dependency as one of the most prevalent causes of flakiness, particularly in Java and Python. However, little is known about test order dependency in JavaScript tests. This paper aims to investigate test order dependency in JavaScript projects that use Jest, a widely used JavaScript testing framework. We implemented a systematic approach to randomise tests, test suites and describe blocks and produced 10 unique test reorders for each level. We reran each order 10 times (100 reruns for each test suite/project) and recorded any changes in test outcomes. We then manually analysed each case that showed flaky outcomes to determine the cause of flakiness. We examined our detection approach on a dataset of 81 projects obtained from GitHub. Our results revealed 55 order-dependent tests across 10 projects. Most order-dependent tests (52) occurred between tests, while the remaining three occurred between describe blocks. Those order-dependent tests are caused by either shared files (13) or shared mocking state (42) between tests. While sharing files is a known cause of order-dependent tests in other languages, our results underline a new cause (shared mocking state) that was not reported previously
- Abstract(参考訳): 不安定なテストは、ソフトウェアテストに重大な問題を引き起こす。
非決定論的結果を持つテストは、テストプロセスの信頼性を損なう可能性があるため、テストは信頼できない。
これまでの研究では、特にJavaとPythonにおいて、テスト順序依存性が最も多いフレキネスの原因の1つとして特定されていた。
しかし、JavaScriptテストにおけるテスト順序依存性についてはほとんど知られていない。
本稿では、広く使われているJavaScriptテスティングフレームワークであるJestを使用するJavaScriptプロジェクトにおけるテスト順序依存性について検討することを目的とする。
テストスイートをランダム化し,ブロックを記述するための体系的なアプローチを実装し,各レベル毎に10のユニークなテストリオーダーを生成した。
私たちは、各テストを10回(テストスイート/プロジェクト毎に100回)リランし、テスト結果の変更を記録しました。
次に,各症例を手動で解析し,フレキネスの原因を判定した。
GitHubから取得した81のプロジェクトのデータセットに対して,検出アプローチを検討した。
その結果, 55件の受注試験が10プロジェクトにわたって実施された。
ほとんどの順序依存テスト(52)はテスト間で行われ、残りの3つは記述ブロック間で発生した。
これらの順序に依存したテストは、テスト間で共有ファイル(13)または共有モック状態(42)によって引き起こされる。
ファイルの共有は、他の言語での順序依存テストの既知の原因であるが、我々の結果は、以前に報告されていない新しい原因(共有モック状態)を根拠にしている。
関連論文リスト
- Model Equality Testing: Which Model Is This API Serving? [59.005869726179455]
2サンプルテスト問題であるモデル品質テストのような歪みの検出を形式化する。
単純な文字列カーネル上に構築されたテストは、歪みの範囲に対して77.4%の中央値を達成する。
次に、このテストを4つのLlamaモデルの商用推論APIに適用し、31のエンドポイントのうち11がMetaがリリースしたリファレンスウェイトとは異なる分布を提供することがわかった。
論文 参考訳(メタデータ) (2024-10-26T18:34:53Z) - TestGenEval: A Real World Unit Test Generation and Test Completion Benchmark [24.14654309612826]
TestGenEvalは、1,210のコードから68,647のテストと、11の保守されたPythonリポジトリにまたがるテストファイルペアで構成されている。
初期テストのオーサリング、テストスイートの補完、コードカバレッジの改善をカバーしている。
パラメータは7Bから405Bまで様々である。
論文 参考訳(メタデータ) (2024-10-01T14:47:05Z) - Do Test and Environmental Complexity Increase Flakiness? An Empirical Study of SAP HANA [47.29324864511411]
不安定なテストはコードの変更なしにランダムに失敗する。
テストの特徴と,テストのフレキネスに影響を与える可能性のあるテスト環境について検討する。
論文 参考訳(メタデータ) (2024-09-16T07:52:09Z) - GPT-HateCheck: Can LLMs Write Better Functional Tests for Hate Speech Detection? [50.53312866647302]
HateCheckは、合成データに対してきめ細かいモデル機能をテストするスイートである。
GPT-HateCheckは,スクラッチからより多彩で現実的な機能テストを生成するフレームワークである。
クラウドソースのアノテーションは、生成されたテストケースが高品質であることを示しています。
論文 参考訳(メタデータ) (2024-02-23T10:02:01Z) - Observation-based unit test generation at Meta [52.4716552057909]
TestGenは、アプリケーション実行中に観察された複雑なオブジェクトのシリアライズされた観察から作られたユニットテストを自動的に生成する。
TestGenは518のテストを本番環境に投入し、継続的統合で9,617,349回実行され、5,702の障害が見つかった。
評価の結果,信頼性の高い4,361のエンドツーエンドテストから,少なくとも86%のクラスでテストを生成することができた。
論文 参考訳(メタデータ) (2024-02-09T00:34:39Z) - Taming Timeout Flakiness: An Empirical Study of SAP HANA [47.29324864511411]
不安定なテストは回帰テストに悪影響を及ぼします。
テストタイムアウトは、このような不安定なテストの失敗に寄与する要因のひとつです。
テストのフレキネス率は、繰り返しテストの実行回数によって49%から70%の範囲である。
論文 参考訳(メタデータ) (2024-02-07T20:01:41Z) - Do Automatic Test Generation Tools Generate Flaky Tests? [12.813573907094074]
テスト生成ツールが生成するフレキなテストの頻度と性質はほとんど不明である。
EvoSuite(Java)とPynguin(Python)を使ってテストを生成し、各テストは200回実行します。
この結果から, フレキネスは開発者の手書きテストと同様, 生成テストでも一般的であることが判明した。
論文 参考訳(メタデータ) (2023-10-08T16:44:27Z) - FlaPy: Mining Flaky Python Tests at Scale [14.609208863749831]
FlaPyは、研究者がテストスイートを再実行することによって、与えられた、あるいは自動的にサンプルされたPythonプロジェクトの集合で、不安定なテストをマイニングするためのフレームワークである。
FlaPyはコンテナ化と新しい実行環境を使用してテスト実行を分離し、実際のCI条件をシミュレートする。
FlaPyはSLURMを使ってテスト実行の並列化をサポートしており、数千のプロジェクトをスキャンしてテストのフレキネスをスキャンすることができる。
論文 参考訳(メタデータ) (2023-05-08T15:48:57Z) - Validation of massively-parallel adaptive testing using dynamic control
matching [0.0]
現代のビジネスはしばしば同時に多数のA/B/nテストを実行し、多くのコンテンツバリエーションを同じメッセージにパッケージ化する。
本稿では, 連続試験適応条件下での各種試験の因果効果を解消する手法を提案する。
論文 参考訳(メタデータ) (2023-05-02T11:28:12Z) - Sequential Kernelized Independence Testing [101.22966794822084]
我々は、カーネル化依存度にインスパイアされたシーケンシャルなカーネル化独立試験を設計する。
シミュレーションデータと実データの両方にアプローチのパワーを実証する。
論文 参考訳(メタデータ) (2022-12-14T18:08:42Z) - Automated Support for Unit Test Generation: A Tutorial Book Chapter [21.716667622896193]
単体テストは、システムの他の部分と独立してテストできる最小のコードセグメントをテストする段階である。
単体テストは通常実行可能なコードとして書かれ、Pythonのpytestのような単体テストフレームワークが提供する形式で書かれる。
本章では,検索に基づく単体テスト生成の概念を紹介する。
論文 参考訳(メタデータ) (2021-10-26T11:13:40Z)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。