論文の概要: Mimicking Production Behavior with Generated Mocks
- arxiv url: http://arxiv.org/abs/2208.01321v3
- Date: Wed, 10 Jul 2024 13:19:20 GMT
- ステータス: 処理完了
- システム内更新日: 2024-07-11 22:39:21.060474
- Title: Mimicking Production Behavior with Generated Mocks
- Title(参考訳): 発生モックによる生産挙動の模倣
- Authors: Deepika Tiwari, Martin Monperrus, Benoit Baudry,
- Abstract要約: 実運用環境でのアプリケーションを監視して,モックによる現実的な実行シナリオを模倣するテストを生成することを提案する。
まず、テストを生成するための一連のターゲットメソッドと、それらが呼び出すメソッドを設定します。
第2に、本番環境では、ターゲットメソッドが呼び出されるコンテキストに関するデータと、モック可能なメソッド呼び出し毎にパラメータと返される値を収集します。
第3にオフラインでは、実運用データを分析して、現実的なインプットとモックインタラクションでテストケースを生成します。
- 参考スコア(独自算出の注目度): 11.367562045401554
- License: http://arxiv.org/licenses/nonexclusive-distrib/1.0/
- Abstract: Mocking in the context of automated software tests allows testing program units in isolation. Designing realistic interactions between a unit and its environment, and understanding the expected impact of these interactions on the behavior of the unit, are two key challenges that software testers face when developing tests with mocks. In this paper, we propose to monitor an application in production to generate tests that mimic realistic execution scenarios through mocks. Our approach operates in three phases. First, we instrument a set of target methods for which we want to generate tests, as well as the methods that they invoke, which we refer to as mockable method calls. Second, in production, we collect data about the context in which target methods are invoked, as well as the parameters and the returned value for each mockable method call. Third, offline, we analyze the production data to generate test cases with realistic inputs and mock interactions. The approach is automated and implemented in an open-source tool called RICK. We evaluate our approach with 3 real-world, open-source Java applications. RICK monitors the invocation of 128 methods in production across the 3 applications and captures their behavior. Based on this captured data, RICK generates test cases that include realistic initial states and test inputs, mocks, and stubs. The three kinds of mock-based oracles generated by RICK verify the actual interactions between the method and its environment. All the generated test cases are executable, and 52.4% of them successfully mimic the complete execution context of the methods observed in production. The mock-based oracles are effective at detecting regressions within the target methods, complementing each other in their fault-finding ability. We interview 5 developers from the industry who confirm the relevance of using production observations to design mocks and stubs.
- Abstract(参考訳): 自動ソフトウェアテストのコンテキストでモックすることで、プログラムユニットを独立した形でテストすることができる。
ユニットと環境の間の現実的な相互作用を設計し、これらの相互作用がユニットの振る舞いに与える影響を理解することは、ソフトウェアテスタがモックを使ってテストを開発する際に直面する2つの重要な課題である。
本稿では,モックによる現実的な実行シナリオを模倣したテストを生成するために,本番環境でのアプリケーションの監視を提案する。
私たちのアプローチは3つのフェーズで機能します。
まず、テストを生成したいターゲットメソッドのセットと、それらが呼び出しているメソッドをモック可能なメソッド呼び出しと呼びます。
第2に、本番環境では、ターゲットメソッドが呼び出されるコンテキストに関するデータと、モック可能なメソッド呼び出し毎にパラメータと返される値を収集します。
第3にオフラインでは、実運用データを分析して、現実的なインプットとモックインタラクションでテストケースを生成します。
このアプローチは自動化され、RICKと呼ばれるオープンソースのツールで実装されている。
3つの実世界のオープンソースのJavaアプリケーションで、我々のアプローチを評価します。
RICKは3つのアプリケーション間で128のメソッドの本番環境での呼び出しを監視し、その振る舞いをキャプチャする。
このキャプチャデータに基づいて、RICKは現実的な初期状態やテストインプット、モック、スタブを含むテストケースを生成する。
RICKによって生成される3種類のモックベースのオラクルは、メソッドと環境の間の実際の相互作用を検証する。
生成されたテストケースはすべて実行可能であり、52.4%は本番環境で観察されたメソッドの完全な実行コンテキストをうまく模倣している。
モックベースのオラクルは、ターゲットメソッド内の回帰を検出するのに有効であり、フォールトフィニング能力において互いに補完する。
業界から5人の開発者に対してインタビューを行い、モックやスタブの設計に生産観察を使うことの関連性を確認しました。
関連論文リスト
- LLM-based Unit Test Generation via Property Retrieval [26.906316611858518]
プロパティベースのRetrieval Augmentationは、基本的なベクトル、テキスト類似性、グラフベースのメソッドを超えてLLMベースのRetrieval-Augmented Generationを拡張する。
提案手法では,タスク固有のコンテキストを考慮し,プロパティ検索機構を導入している。
提案手法は,前処理,プロパティ検索,単体テスト生成を逐次実行するAPTと呼ばれるツールに実装する。
論文 参考訳(メタデータ) (2024-10-17T13:33:12Z) - Advancing BDD Software Testing: Dynamic Scenario Re-Usability And Step
Auto-Complete For Cucumber Framework [0.0]
本稿では,振る舞い駆動開発(BDD)Gherkinテストスクリプトのシナリオ内でのシナリオの再使用可能性について,Cucumber Javaフレームワークで紹介し,実装する。
この論文はまた、Cucumberのシングルスレッドシナリオ実行モデルの制限についても少し掘り下げている。
論文 参考訳(メタデータ) (2024-02-24T23:15:39Z) - Generative Judge for Evaluating Alignment [84.09815387884753]
本稿では,これらの課題に対処するために,13Bパラメータを持つ生成判断器Auto-Jを提案する。
我々のモデルは,大規模な実環境シナリオ下でのユーザクエリとLLM生成応答に基づいて訓練されている。
実験的に、Auto-Jはオープンソースモデルとクローズドソースモデルの両方を含む、強力なライバルのシリーズを上回っている。
論文 参考訳(メタデータ) (2023-10-09T07:27:15Z) - A Static Evaluation of Code Completion by Large Language Models [65.18008807383816]
単純なプログラミング問題に対するモデル生成コードの機能的正当性を評価するために,実行ベースベンチマークが提案されている。
プログラムを実行せずにエラーを検出するlinterのような静的解析ツールは、コード生成モデルを評価するために十分に研究されていない。
抽象構文木を利用して,Pythonのコード補完における静的エラーを定量化する静的評価フレームワークを提案する。
論文 参考訳(メタデータ) (2023-06-05T19:23:34Z) - SAGA: Summarization-Guided Assert Statement Generation [34.51502565985728]
本稿では,アサート文の自動生成のための新しい要約誘導手法を提案する。
我々は、事前訓練された言語モデルを参照アーキテクチャとして利用し、アサート文生成のタスクでそれを微調整する。
論文 参考訳(メタデータ) (2023-05-24T07:03:21Z) - Re-Evaluating LiDAR Scene Flow for Autonomous Driving [80.37947791534985]
自己教師型LiDARシーンフローの一般的なベンチマークは、動的動き、非現実的な対応、非現実的なサンプリングパターンの非現実的な速度を持つ。
実世界のデータセットのスイート上で,トップメソッドのスイートを評価する。
学習に重点を置いているにもかかわらず、ほとんどのパフォーマンス向上は前処理と後処理のステップによって引き起こされる。
論文 参考訳(メタデータ) (2023-04-04T22:45:50Z) - Operationalizing Machine Learning: An Interview Study [13.300075655862573]
私たちは18人の機械学習エンジニア(MLE)と半構造化インタビューを行い、多くのアプリケーションで作業しています。
私たちのインタビューでは、運用MLデプロイメントの成功を管理する変数として、Velocity、Validation、Versioningの3つを公開しています。
ML実験の成功、デプロイメント、運用パフォーマンスの維持に関する一般的なプラクティスを要約します。
論文 参考訳(メタデータ) (2022-09-16T16:59:36Z) - Benchopt: Reproducible, efficient and collaborative optimization
benchmarks [67.29240500171532]
Benchoptは、機械学習で最適化ベンチマークを自動化、再生、公開するためのフレームワークである。
Benchoptは実験を実行、共有、拡張するための既製のツールを提供することで、コミュニティのベンチマークを簡単にする。
論文 参考訳(メタデータ) (2022-06-27T16:19:24Z) - Visual Transformer for Task-aware Active Learning [49.903358393660724]
プールベースのアクティブラーニングのための新しいパイプラインを提案する。
提案手法は,学習中に使用可能なアンラベリング例を利用して,ラベル付き例との相関関係を推定する。
ビジュアルトランスフォーマーは、ラベル付き例と非ラベル付き例の間の非ローカルビジュアル概念依存性をモデル化する。
論文 参考訳(メタデータ) (2021-06-07T17:13:59Z) - S3M: Siamese Stack (Trace) Similarity Measure [55.58269472099399]
本稿では、深層学習に基づくスタックトレースの類似性を計算する最初のアプローチであるS3Mを紹介します。
BiLSTMエンコーダと、類似性を計算するための完全接続型分類器をベースとしている。
私たちの実験は、オープンソースデータとプライベートなJetBrainsデータセットの両方において、最先端のアプローチの優位性を示しています。
論文 参考訳(メタデータ) (2021-03-18T21:10:41Z) - Generating Accurate Assert Statements for Unit Test Cases using
Pretrained Transformers [10.846226514357866]
単体テストは、ソフトウェアテストピラミッドの基礎となる基礎である。
正確で有用なアサーション文を生成することによって、開発者が単体テストケースを書くのを支援するアプローチを提案する。
論文 参考訳(メタデータ) (2020-09-11T19:35:09Z)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。