突然変異試験

変動試験は、試験手順の効率や精度を確認するための構造試験方法です。この方法は、テストアプリケーションの欠陥数をチェックするのに便利です。また、推定の妥当性やテストスイートを向上させることができます。

突然変異試験

なぜそれが突然変異試験に選ばれましたか!

変形テスト名は、導入された変異体(プログラムの小さな変化)とプログラム・コードを作成するようなものです。この戦略はまた、変異体を作成するために、単一の元のプログラムコードを導入することにより欠陥ので、障害に基づく試験法と呼ばれています。

なぜ突然変異検出が必要なのでしょうか?

テストカバレッジはソフトウェアテストにおける重要な要素と考えられています。変動は、ヘルプが製品の品質要件を満たしていることを確認するのに十分なテスト戦略のセットかどうかを分析テストします。我々はすべての問題を解決できない場合は、我々はシステムにバグがないことを保証することはできません。

テスト、ソフトウェア・コード・マイナーの変化で変動。その後、テストケースのセットは、プログラム内の変異を確認してください。良いユニットテストは、プログラムコードの欠陥をチェックすることができるようになります。

どのように突然変異試験

  1. 突然変異体のソフトウェアの作成 - プログラムを作成するために、単一の欠陥変異AUTによって導入する必要があります。多くの変異QAテスターを導入することができるよう、必要に応じて。彼らはまた、各変異体は、ユニークな、そして元のシステムとも異なるままであることを確認する必要があります。

  2. テスト準備 - 問題のQAチームは、テストケースを作るための方法を発生させた変異体を同定することができるようすることができるはずです。

  3. オリジナルソフトウェアをテスト - QAテスターは、テストケースの入出力ソフトウェアをチェックする必要があることは予想される結果と同じです。そうでなければ、我々は問題を解決する必要がある、とAUTまでは欠陥のソフトウェアをテストする必要がありません。

  4. ソフトウェアテスト - 突然変異体変異ソフトウェアは、テストのためのテストケースの元のセットと同じソフトウェアが必要です。オリジナルのソフトウェアの出力の出力変異体のソフトウェアが異なる場合、変異体は、死のためにマークする必要があります。これは、再試験をするべきではありません。

  5. 突然変異のスコア計算 - カウント体と非等価OD死ん変異体変異の割合として定義されています。変異は、理想的なスコアです。

  6. 変異スコア分析 - 突然変異率は、直接、テスト効率に関連します。QAテスター突然変異試験では満足のいく結果が得られるまで繰り返すことができます。

突然変異試験の種類:

突然変異の値は、突然変異の決定と文変異 - 変異の検出は、大きく3つのカテゴリーに分けることができます。

値、または定数パラメータの値における変異は、変更されます。例えば、初期化値が変更サイクルにおいてより大きな又はより小さな値に変更。

意思決定の変異 - スライドエラーを反映するために、プログラムのコードを変更するのに役立ちます。例えば、> <変更。

変動計算書 - このようなテストでは、開発者が切断して、いくつかのライン文の削除につながる可能性がある、コードを貼り付けます。また、これはコードシーケンスの交換ラインを含むことができます。あなたは削除することができます/ 1行のコードをコピーしてください。あなたはまた、順を変更することができます。

突然変異オペレータ:

突然変異オペレータがオペレーターと呼ばれる変異体を生成するために、元のプログラムに適用されます。突然変異オペレータは、大きく分けることができます

  1. 伝統的な突然変異オペレータ

  2. クラス突然変異オペレータ

伝統的な突然変異オペレータ:

手続き型プログラミング言語の開発のための伝統的な突然変異オペレータ。突然変異体の大規模な数を生成するために、これらの演算子の適用にもかかわらず、彼らは重複する傾向があるので、彼らは、有効でない場合があります。以下は、伝統的な突然変異オペレータであります

  1. 算術演算子

  2. 関係演算子

  3. 条件演算子

  4. 論理演算子

  5. 代入演算子

  6. シフト演算子

置換することにより、挿入または欠失変異オペレータは、変異体を生成します。

TRANSITION演算子:

これらの変異体は、オブジェクト指向と統合の問題を発生させるために試験しました。

  1. パッケージ - インスタンス変数とオペレータアクセスレベル形成突然変異の方法の改変、欠失または挿入を適用することによって。

  2. 継承 - 演算子を適用することにより生成された変異体は、オペレータは、変数が定義されているかどうかを確認するために隠された変数を削除し、そしてそれは、クラスとサブクラスのアクセシビリティにある正しいです。

  3. 多型 - 同じ名前と正しい方法にアクセスするいくつかの方法でパラメータをチェックするために、オペレータによって作成された変異体、多型かどうか。

変動性テストツール:

利用可能ないくつかの変異テストツールがあります。ジャンブルと++を確かめては、最も一般的です。

混乱:

  1. ジャンブルは、単純な非グラフィカルオープンソースツールです。それはあなたがファイル形式のバージョンを調べることができ、テキストファイルを変換します。

  2. これは、ソースコードレベルで直接実行され、突然変異のテストプロセスを加速します。条件バイナリ算術、インクリメント、インライン定数、クラスの定数プール、およびswitchステートメントが値を返す:変異は、ジャンブルは、演算子のセット限定サポート

++を確認します。

  1. これは、変異の解析技術を使用してCおよびC ++市販の自動テストツールです。

  2. 代わりに、すべての可能な変異体を生成するので++保証はなく、心配「潜在的な同等の変異体。」このアイデアの背後にある動機は、「潜在的な同等の変異体を」殺すために任意のテストケースならば、それは元のプログラムに誤りを見つけるかもしれないということです

変動のテストの課題:

バリエーションテストは、効果的にテストセットの品質と十分性を評価することができますが、それはまた、次の特定の課題があります

  1. 実行されたテストのための変異体の多数の高い計算コストで突然変異試験。

  2. ヒトのOracle問題突然変異試験は、テストケースの数の増加をもたらすことができるので、各テストケースの出力を指し、プロセスの元のプログラムの出力を確認することで、深刻な問題となり得ます

出版元の記事 ウォンの賞賛0 ビュー426

おすすめ

転載: blog.csdn.net/qq_37983000/article/details/103191053