軟件測試實驗一——使用junit判斷三角形
一、簡單描述下安裝 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 voidtestTriangle(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) returntrue; 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判斷三角形