天天看點

jUnit EclEmma 白盒測試

環境配置

1 jUnit

Junit 在eclipse中自帶是以啟動就可以

先add libraries

jUnit EclEmma 白盒測試
jUnit EclEmma 白盒測試

點選Junit後選擇Junit4 即可

jUnit EclEmma 白盒測試

2 EclEmma

使用線上安裝方式

Help install new software

将http://update.eclemma.org/位址粘貼即可

jUnit EclEmma 白盒測試
jUnit EclEmma 白盒測試

白盒測試步驟

1 被測函數

被測函數的名稱 : Randomwork

功能描述 : 随機遊走

進入該功能時,程式随機的從圖中選擇一個節點,以此為起點沿出邊進行随機周遊,記錄經過的所有節點和邊,直到出現第一條重複的邊為止,或者進入的某個節點不存在出邊為止。在周遊過程中,使用者也可随時停止周遊。

被測函數的代碼

jUnit EclEmma 白盒測試
jUnit EclEmma 白盒測試

代碼總行數 35

包含的循環數 1

包含的判定數 2

2 程式流程圖

jUnit EclEmma 白盒測試

3 控制流圖

jUnit EclEmma 白盒測試

4 圈複雜度計算與基本路徑識别

圈複雜度為:(請給出計算過程)

3

區域數為3 或者判斷有2個 2+1

基本路徑1:72-82-83-103-104

基本路徑2:72-82-83-85-89-103-104

基本路徑3:72-82-83-85-89-83-103-104

5 jUnit測試代碼

針對4.5中的每一個用例,把其測試代碼粘貼如下,代碼必須是完整的。

測試用例編号 jUnit測試代碼

1

@Test
    public void testRandomWalk0() {
        main1.createDirectedGraph("C:\\Users\\lenovo\\Desktop\\圖.txt");
        main1.randomWalk(main1.graph);
        int result=main1.flag;
        if(result == ){

            System.out.println("第一分支正确");

        }
    }
           

2

@Test
public void testRandomWalk1() {
main1.createDirectedGraph("C:\\Users\\lenovo\\Desktop\\圖.txt");
main1.randomWalk(main1.graph);
int result=main1.flag;
if(result == ){

            System.out.println("第二分支正确");

        }
}
           

3

@Test
    public void testRandomWalk2() {
        main1.createDirectedGraph("C:\\Users\\lenovo\\Desktop\\圖.txt");
        main1.randomWalk(main1.graph);
        int result=main1.flag;
        if(result == ){

            System.out.println("第三分支正确");

        }
    }
           

6 EclEmma代碼覆寫度分析

給出EclEmma的代碼覆寫度分析報告的截圖。

Instruction counters截圖:

jUnit EclEmma 白盒測試

Branch counters截圖:

jUnit EclEmma 白盒測試

Complexiy截圖:

jUnit EclEmma 白盒測試