1. 程式人生 > >軟件測試實驗一——使用junit判斷三角形

軟件測試實驗一——使用junit判斷三角形

套件 port hub .com void 找到 uila res 方法

一、簡單描述下安裝 junit, hamcrest and eclemma的過程

①當然,有了eclipse軟件,安裝的過程會顯得比較輕松

對於安裝junit和hamcrest來說需要在官網(或者其它渠道)上面下載標準的jar包即可。

以上可以得到相應版本的jar文件,我使用的是hamcrest-core-1.3.jar和junit-4.10.jar

再在eclipse軟件中創建一個新的項目名叫softwareTest,右鍵項目的屬性,在java build path中將這兩個文件引入

檢驗方法可以在運行的run as菜單下看到有Junit Test操作即可。

②安裝eclemma可以在eclipse軟件的幫助菜單下找到eclipse marketplace輸入eclemma點擊安裝即可,檢驗的方法可以右鍵這個項目,看到有Coverage As的操作

eclemma主要是對測試覆蓋進行系統的檢測,用明顯的顏色來區分代碼是否運行到每一行。

二、對三角形的問題進行單元測試的編寫和coverage覆蓋截圖檢測

問題描述:對於設定的整型變量a,b,c,寫一些測試,判斷它們以這三個構成的三角形(也有可能不能構成三角形)是不是等邊、等腰或者斜角三角形

ok,老師對於我們的第一次作業要求並不是很高,只是讓我們了解了java單元測試相關套件的使用,創建兩個文件,一個用於編寫三角形文件,一個用於編寫測試用例:

技術分享圖片

Triangle.java

package test;
public class Triangle {
    public static void
testTriangle(int a, int b, int c) { int m; if (a + b <= c || b + c <= a || c + a <= b) m = (1/0); } public static boolean equilateral(int a, int b, int c) { Triangle.testTriangle(a, b, c); if (a == b && b == c) return
true; return false; } public static boolean isosceles(int a, int b, int c) { Triangle.testTriangle(a, b, c); if (a == b || b == c || c == a) return true; return false; } public static boolean scalene(int a, int b, int c) { Triangle.testTriangle(a, b, c); if (!(a == b && b == c && c == a)) return true; return false; } }

MainTest.java

import static org.junit.Assert.assertEquals;
import org.junit.Test;
import test.Triangle;

public class MainTest {
    /* @return value
     * for each triangle test
     * if it is not a triangle, it throws an exception
     */

    Triangle t = new Triangle();
    
    @Test()
    public void equilateralTest(){
        assertEquals(t.equilateral(2, 2, 2), true);
        assertEquals(t.equilateral(1, 2, 2), false);
    }
    
    @Test()
    public void isoscelesTest() {
        assertEquals(t.isosceles(1, 2, 2), true);
        assertEquals(t.isosceles(3, 4, 5), false);
    }
    
    @Test()
    public void scaleneTest() {
        assertEquals(t.scalene(2, 2, 1), true);
        assertEquals(t.scalene(2, 2, 2), false);
    }
    
    @Test(expected = ArithmeticException.class)
    public void isTriangle() {
        t.testTriangle(1, 2, 3);
    }
    
}

這裏我使用了四個測試用例,分別測試是否為等邊、等腰、斜角以及是否為三角形(不是三角形拋出異常),還是比較好理解的,最終測試用例全部通過:

技術分享圖片

測試覆蓋也非常簡單,點一下,玩一年。。。

技術分享圖片

技術分享圖片

整個項目代碼我已經上傳到我的github上面去了

軟件測試實驗一——使用junit判斷三角形