軟件測試實驗1:為三角形問題編寫一個Java程序,並用Junit測試程序


實驗報告

實驗內容:

1.Install Junit(4.12), Hamcrest(1.3) with Eclipse

2.Install Eclemma with Eclipse

3.Write a java program for the triangle problem and test the program with Junit.

實驗步驟:

1.在eclipse中安裝Junit、Hamcrest和eclemma。

下載Junit-4.12.jar、hamcrest-core-1.3.jar、和hamcrest-library-1.3.jar。

打開eclipse,新建一個project,在eclipse的菜單欄中,選擇Project->Properties,在彈出的框的左側選擇“Java Bulid Path”,然后點擊“Add  External  JARs”,把下載的幾個包添加進來。如圖:

安裝eclemma:選擇eclipse菜單中的“Help”,選擇"Eclipse marketplace...",搜索eclemma,點擊install開始安裝。

安裝完成后重啟eclipse。看到快捷按鈕中的,說明eclemma安裝成功。

 

2.程序代碼和測試代碼:可查看https://github.com/realpby/SWTesting/blob/master/First%20Lab

項目的目錄如圖:

triCalculate.java文件中是實現三角形問題的代碼。testCalculate.java中是測試程序的代碼。

triCalculate.java:

package triangle;

public class triCalculate {
    private static int tri =0;
    public void triangle(int a,int b, int c)
    {
        if(a<=0||b<=0||c<=0)
        {
            tri=0;
        }
        else
        {
            if(((a+b)>c) && ((a+c)>b && (b+c)>a))
            {
                if((a == b) &&(a == c))
                {
                  tri = 3;//equilateral
                }
                if((a==b && a!=c)||(a==c && a!=b)||(b==c && a!=b))
                {
                    tri = 2;//isosceles
                    
                }
                if(a!=b && a!=c && b!=c)
                {
                    tri = 1;//scalene
                }
            }
            else
            {
                tri=0;//三邊長度無法構成三角形
            }
        }        
    }
    
    public int getReuslt(){
        return tri;
    }
        
     public void clear(){
         tri = 0;
    }
}

testCalculate.java:

package triangle;
import static org.junit.Assert.*;
import org.junit.Test;

public class testCalculate {
    private static triCalculate cal = new triCalculate();
    @Test
    
     public void testTriangle(){
        cal.triangle(-5, 5, 5);
        assertEquals(0, cal.getReuslt());
        cal.triangle(5, 5, 5);
        assertEquals(3, cal.getReuslt());
        cal.triangle(5, 5, 6);
        assertEquals(2, cal.getReuslt());
        cal.triangle(3, 4, 5);
        assertEquals(1, cal.getReuslt());
        cal.triangle(12, 5, 5);
        assertEquals(0, cal.getReuslt());
        cal.triangle(10, 5, 5);
        assertEquals(0, cal.getReuslt());
        cal.triangle(11, 5, 5);
        assertEquals(3, cal.getReuslt());
        
        }
    
}

3.三角問題測試的測試結果和覆蓋報告

截圖如下:

測試程序中(11,5,5)這組數據不為3,所以出現一個failure。在上圖的右邊可以看到Junit的報告,在下方可以看到Coverage的報告。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM