ソフトウェア工学の仕事は、第五のプロジェクトでテストツールを使用する方法について説明します

ジョブの要件:

ソフトウェアテストのセクションでは、我々はVSTSのソフトウェアのテストツールの多くを導入し、テストツールは、他のプラットフォーム上で使用して、ブログを書くには、プロジェクトにどのように具体的な使用を記載しています。

 

私はJUnitのを使う仕事、アリ、SourceMonitor、そのようなこれらのツールの役割について、以下の簡単な説明としてFindBugsのテストツール。

JUnitの:Java言語は、ユニットテストフレームワークです。簡単に言えば、このツールは、特定のクラスやメソッドをテストするために使用されます。

アリ:限り使用のLinuxシステムで、読者は、このコマンドを作ることを知っている必要があります。コンパイルする場合は、Linuxカーネルおよび一部のソフトウェアのソースコードを、多くの場合、このコマンドを使用します。コマンドが実際にあることを確認したプロジェクト管理ツール、およびこれに類似のAntの機能を実現。

SourceMonitor:コードの複雑さを検出します。

FindBugsの:バグ検出コード。

 

ディレクトリ

 

I.項目説明3を......................................

II。テストの概要は、3 ......................................

2.1、3 .................................テスト環境

3 ................................. 2.2試験方法

III。コードは3 .........................................

3.1、プログラムコード................................. 3

3.2、4テストコード.............................

3.3、build.xmlのコード........................... 5

IV。カバレッジ分析は、8を......................................

V. Antの自動生成されたレポート........................... 9

VI。SourceMonitor検出コードの複雑................ 10

VII。FindBugsのテストレポート........................... 10

VIII。テストの概要.................................... 11

 

項目説明

、文がシンプルで書かれたが、簡単に重複と条件の欠如につながる場合が条件文は、多くの場合、混合したときの条件、多くの種類の内のセグメントへのselect文のセグメントが発生した場合に発生することが多い、文を選択するために使用されている場合、プログラムを設計しますそのため、文が正しいかどうステートメントを使用して、検出部は、非常に重要です。私たちのプロジェクトでも、select文場合、条件に適用されています。したがって、この特定コード検出部は、テストユニットの目的のために、if文の複数を含みます。

II。テストの概要

2.1 、テスト環境

Eclipseの、JUnitの

2.2 試験方法

ユニットテスト(モジュールテストは)テスト対象の小テストコードを書くためのコード開発者の小片であり、それはクリア機能が正常です。典型的には、特定の条件(又はシーン)を判定するためのテストユニットは、特定の機能に作用します。

III。コード

3.1 、プログラムコード

次のコードは、プロジェクトセクション特徴から抽出されます

パブリッククラスのテスト{

    公共INT judgeScore(INT X){

    (X> = 90)であれば

       1を返します。

    それ以外の場合(X> = 80)

       2を返します。

    それ以外の場合(X> = 70)

        3を返します。

    それ以外の場合(X> = 60)

       4を返します。

    他

       5を返します。

    }

    公共int型の追加(int型のx、int型のY){

    リターン(X + Y)。

    }

}

3.2 、コードをテスト

静的org.junit.Assertをインポートします。assertEquals

輸入org.junit.Test;

輸入testJUnit.test。

パブリッククラスTESTTESTは、テストケースを{延び

 

    @テスト

    ます。public void testjudgeScore(){

       //(「まだ実装されていません」)が失敗。

       試験T =新しいテスト();

       assertEquals(1、t.judgeScore(99))。

       assertEquals(2、t.judgeScore(85))。

       assertEquals(3、t.judgeScore(76))。

       assertEquals(4、t.judgeScore(63))。

       assertEquals(5、t.judgeScore(32))。

    }

    @テスト

    ます。public void testadd(){

       試験T1 =新しいテスト();

       assertEquals(190、t1.add(99,91))。

    }

}

3.3 、build.xmlのコード

<?xml version = "1.0" エンコード= "UTF-8" スタンドアロン= "なし"?>

<! - WARNING:自動生成されたファイルのEclipse。

              任意の変更が上書きされます。

              単に同じでものを作成し、ここにユーザー固有のビルドファイルを含めるには、

              <?eclipse.ant.import?>処理命令とディレクトリ

              最初のエントリとして、また再びビルドファイルをエクスポートします。- > <プロジェクト のbasedir = "" デフォルト= "建てる" 名前= "testJUnitを" >

    <プロパティ 環境= "ENV" />

    <プロパティ 名= "ECLIPSE_HOME" 値= "../../../../../eclipse/" />

    <プロパティ 名= "junit.output.dir" 値= "JUnitの" />

    <プロパティ 名= "デバッグレベル" 値= "ソース、行、varsの" />

    <プロパティ 名= "目標" 値= "1.8" />

    <プロパティ 名= "ソース" 値= "1.8" />

    <パス ID = "のJUnit 4.libraryclasspath" >

        <pathelement 位置= "$ {ECLIPSE_HOME}プラグイン/ org.junit_4.12.0.v201504281640 / junit.jarを" />

        <pathelement 位置= "$ {ECLIPSE_HOME}プラグイン/ org.hamcrest.core_1.3.0.v201303031735.jar" />

    </パス>

    <パス ID = "testJUnit.classpath" >

        <pathelement 位置= "ビン" />

        <パス REFID = "のJUnit 4.libraryclasspath" />

    </パス>

    <ターゲット 名= "INIT" >

        <MKDIR DIR = "ビン" />

        <コピー includeemptydirs = "false"を todirの= "ビン" >

            <ファイルセット DIR = "SRC" >

                <除外 名= "** / *。打ち上げ" />

                <除外 名= "** / *。javaの" />

            </ファイルセット>

        </コピー>

    </ターゲット>

    <ターゲット 名= 「クリーン」>

        <削除 DIR = "ビン" />

    </ターゲット>

    <ターゲットが 依存= "クリーン" 名前= "cleanall" />

    <ターゲットは =依存「ビルドサブプロジェクトをビルドプロジェクトの」 名前= 「ビルド」/>

    <ターゲット 名= 「ビルドサブプロジェクト」/>

    <ターゲットが 依存= 「INIT」 名前= 「ビルドプロジェクト」>

        <エコー メッセージ= "$ {ant.project.name} $ {ant.file}" />

        <のjavac デバッグ= "true"を デバッグレベル= "$ {}デバッグレベル" DESTDIR = "ビン" includeantruntime = "false"を 元= "$ {ソース}" ターゲット= "$ {対象}" >

            <SRCの パス= "SRC" />

            <クラスパス REFID = "testJUnit.classpath" />

        </ javacの>

    </ターゲット>

    <ターゲット 説明= 「このプロジェクトを参照するすべてのプロジェクトをビルドします。便利な変更を伝播します。」 名前= "ビルドrefprojectsを" />

    <ターゲット 説明は= 「アリlibディレクトリにコピーEclipseのコンパイラのjarファイル」 名= 「INIT-日食コンパイラ」>

        <コピー TODIR = "$ {ant.library.dir}" >

            <ファイルセット DIR = "$ {ECLIPSE_HOMEは} /プラグイン" 含ま= "org.eclipse.jdt.core _ *。JAR" />

        </コピー>

        <解凍 DEST = "$ {ant.library.dir}" >

            <patternset 含ま= "jdtCompilerAdapter.jar" />

            <ファイルセット DIR = "$ {ECLIPSE_HOMEは} /プラグイン" 含ま= "org.eclipse.jdt.core _ *。JAR" />

        </解凍>

    </ターゲット>

    <ターゲット 説明= 「Eclipseのコンパイラでプロジェクトをコンパイルし、」 名前= 「ビルド日食コンパイラを」>

        <プロパティ 名= "build.compiler" 値= "org.eclipse.jdt.core.JDTCompilerAdapter" />

        <antcall ターゲット= "ビルド" />

    </ターゲット>

    <ターゲット 名= "TESTTEST" >

        <MKDIR DIR = "$ {junit.output.dir}" />

        <JUnitの フォーク= "yes"を printsummary = "withOutAndErr" >

            <フォーマッタ タイプ= "XML" />

            <試験 名= "test.testTest" todirの= "$ {junit.output.dir}" />

            <jvmarg ライン= "-ea" />

            <クラスパス REFID = "testJUnit.classpath" />

        </ JUnitの>

    </ターゲット>

    <ターゲット 名= "junitreport" >

        <junitreport todirの= "$ {junit.output.dir}" >

            <ファイルセット DIR = "$ {junit.output.dir}" >

                <含める 名前は= "TEST - *。xmlの" />

            </ファイルセット>

            <レポート フォーマット= "フレーム" todirの= "$ {junit.output.dir}" />

        </ junitreport>

    </ターゲット>

</プロジェクト>

IV。カバレッジ解析

V. Antの自動生成されたレポート

 

 

 

 

 

 

 

 

六。SourceMonitor 検出コードの複雑さ

 

 

 

 

七。FindBugsのテストレポート

FindBugsのは、プロジェクトの右のFindBugsを開くバグエクスプローラウィンドウを観察インストールした後

 

 

黄色の小さな昆虫は、バグ警告している(黒バグのロゴが分類され、赤バグフラグが深刻なバグを示して、あなたは発見後、コードを変更する必要があり、オレンジ色のバグフラグを潜在的な警告バグを示し、変更する必要があります;)クラスことが示唆されました名前は、大文字の使用で始まる変更するには、プロンプトに従ってください。結果は以下の通りであります

 

 

再びFindBugsの後に登場しませんバグ、完璧なバグ修正

VIII。テストの概要

テストスクリプト1.:試験方法は、最初にテストするための

@Testと同定する2.試験方法。@BEFOREロゴ初期化メソッド

3.ユニットテストの利点:モジュールエラーは、テストを実行している他のモジュールに影響を与えません。

4.遇到的错误:The method assertEquals(Object, Object) is ambiguous for the type testTest

解决途径:首先学习了解Assert类别

5.需要注意一个findbugs的版本问题,由于我安装的eclipse版本比较低,所以无法使用最新的findbugs,然后找了个旧版本的findbug。 http://sourceforge.net/project/showfiles.php?group_id=96405(旧版本Findbugs下载地址)

参考链接:https://www.cnblogs.com/zhaochifan/p/5201924.html

おすすめ

転載: www.cnblogs.com/jiangfenli/p/10979137.html