計算機科學與技術系
實
驗
報
告
專業名稱
軟件工程
課程名稱
軟件測試
項目名稱
Junit 框架的配置和使用
班
級
學
號
姓
名
同組人員
無
實驗日期
2018 年 3 月 15 日
一、實驗 題目及實驗 內容 :
1、實驗題目:Junit 框架的自動配置與使用 2、實驗內容:使用 Junit 進行自動化測試, 二 、實驗目的 與要求 :
1、實驗目的:使用 Junit 進行自動化測試,提高學生的測試意識,培養測試思維。
2、實驗要求 (1)自動生成測試框架和測試類 (2)熟練掌握 Junit 的元數據、斷言、測試套件、測試固件等 (3)完成對被測類的自動化測試 (4)提交實驗報告 三 、實驗 步驟
1、使用 Java 語言實現計算器類 Calculator package test1; public class Calculator {
private static int result ;//靜態變量
/*加函數*/
public void add(int n) {
result = result +n;
}
/*減函數*/
public void substract(int n) {
result = result -n;
}
/*乘函數*/
public void multiply(int n) {
result = result *n;
}
/*除函數*/
public void devide(int n) {
if(n==0) {
System. out .println("分母不能為零");
}else
result = result /n;
}
/*平方函數*/
public void square(int n) {
result =n*n;
//System.out.println("nzhi"+result);
}
/*死循環*/
public void squareRoot(int n) {
for(int j=0;j<=n/2+1;j++){
if(j*j==n){
result =j;
}
}
}
/*結果清零*/
public void clear() {
result =0;
}
/*返回結果*/
public int getResult() {
return result ;
} } 2、自動生成 CalculatorTest 類,如下圖:
圖 1 創建測試類
圖 2 為測試類命名 3、完善 CalculatorTest 類的代碼,如下:
package test1; import static org.junit.Assert.assertEquals; import static org.junit.Assert.fail; import org.junit.After; import org.junit.Before; import org.junit.Ignore; import org.junit.Test; public class CalculatorTest {
private static Calculator calculator=new Calculator();
private static int nCount=0;//測試方法統計
@Before
public void setUp() {
calculator.clear();//計算器歸零
}
@After
public void tearDown() throws Exception{
nCount++;
System.out.println("Test Done:"+nCount);
}
@Test
public void testAdd() {
calculator.add(2);
calculator.add(3);
assertEquals(5,calculator.getResult());
}
@Test
public void testSubstract() {
calculator.add(10);
calculator.substract(2);
assertEquals(8,calculator.getResult());
}
@Test
public void testMultiply() {
calculator.add(10);
calculator.multiply(6);
assertEquals(60,calculator.getResult());
}
/*驗證 8 除以 2 等于 4*/
@Test
public void testDevide() {
calculator.add(8);
calculator.devide(0);
assertEquals(4, calculator.getResult());
}
@Test
public void testSquare() {
calculator.square(3);
assertEquals(9, calculator.getResult());
}
@Test
public void testSquareRoot() {
calculator.squareRoot(9);
assertEquals(3, calculator.getResult());
}
@Test
public void testClear() {
calculator.clear();
}
@Test
public void testGetResult() {
calculator.getResult();
} } 4、設計測試用例如下 表一 測試用例表 輸入數據 執行條件 期望輸出 實驗結果 X1=2,X2=3 testAdd Result=5 Result=5 X1=10,X2=2 testSubstract Result=8 Result=8 X1=10,X2=6 testMultiply Result=60 Result=60 X1=8,X2=2 testDevide Result=4 Result=4 X1=8,X2=0 testDevide 程序報錯:分母不能為零 程序報錯:分母不能為零 X1=3 testSquare Result=9 Result=9 X1=9 testSquareRoot Result=9 Result=3
圖 3
測試用例報錯
圖 4 測試用例正確運行 四 、 實驗 小結 :
1、這次試驗的程序中有幾個需要改正的地方,第一個是減法函數,應該將減法函數為“result=result-n;”,這樣才可以得到正確結果;第二個錯誤是除法函數,因為分母不能為零,而零也是int類型的數據,因此,我們應該在程序中增加n是否為零的判斷,如果是,則在控制臺下進行錯誤提示,否則程序正常運行;第三個錯誤是開平方函數,應將開平方函數中的死循環改為:
“for(int j=0; j<=n/2+1;j++){if(j*j==n){result=j;}}”,這樣才得到正確的n的算術平方根。
2、通過這次實驗,我們熟練的學會了使用Junit進行程序測試,我發現Junit這個插件十分的方便,因為我們以前測試程序是否正確,需要費盡心思編寫主函數,一點一點的運行調試,而是用Junit可以省時省力,而且還很全面。因此,我們要努力學會更多的軟件測試的插件,這樣才能夠讓我們編寫代碼事半功倍。
3、實驗一還有一個非常大的感觸是:寫一篇完整規范的實驗報告真的很重要,我們不能夠像原來一樣隨便復制粘貼,胡亂搞搞就湊成一篇實驗報告,而應該真正的弄明白實驗報告中的每一項,每一個測試用例的由來和期望結果等,認真負責的對待每一件事情。
得分(百分制)
推薦訪問: 實驗 報告 Junit同志們:今天這個大會,是市委全面落實黨要管黨、從嚴治黨要求的一項重大舉措,也是對縣市區委書記履行基層黨建工作第一責任人情況的一次集中檢閱,同時是對全市基層黨建工作的一次再部署、再落實的會議。前面,**
***年,我認真履行領班子、帶隊伍、抓黨員、保穩定的基層黨建工作思路,以學習貫徹習近平新時代中國特色社會主義思想和黨的十九大歷次全會精神為主線,以市局基層黨建工作考核細則為落腳點,落實全面從嚴治黨主體
根據會議安排,現將2022年履行抓基層黨建工作職責情況報告如下:一、履職工作特色和亮點1 突出政治建設,著力在思想認識上提高。牢固樹立抓黨建就是抓政績的理念,以“黨建工作抓引領、社區治理求突破,為民服
2022年以來,在**黨委的正確領導下,堅持以習近平新時代中國特色社會主義思想為指導,深入學習宣傳貫徹黨的二十大精神,以黨建工作為統領,扎實開展夯實“三個基本”活動,以“四化四力”行動為抓手,聚力創建
各位領導,同志們:根據會議安排,現就2022年度抓基層黨建工作情況匯報如下:一、主要做法及成效(一)強化政治引領。一是不斷強化理論武裝。堅持通過黨組會、中心組學習會和“三會一課”,第一時間、第一議題學
2022年度抓基層黨建工作述職報告按照黨委工作部署,現將本人2022年度抓基層黨建工作情況報告如下:一、2022年度抓基層黨建工作情況(一)旗幟鮮明講政治將旗幟鮮明講政治放在全局發展首要位置,積極開展
2022年,是我在數計系黨總支書記這個新崗位上度過的第一個完整的工作年度。回首一年來在校黨委的正確領導下,與數計系領導班子和全體師生共同走過的日子,艱辛歷歷在目,收獲溫潤心田。作為黨總支書記,我始終牢
按照考核要求,現將本人一年來,作為統戰部長履行職責、廉潔自律等方面情況報告如下:一、著眼增強政治素質,不斷深化理論學習堅持把旗幟鮮明講政治作為履職從政的第一位要求,帶領統戰系統干部堅決擁護“兩個確立”
**年,緊緊圍繞黨工委、管委會的決策部署,全體人員團結協作、凝心聚力,緊扣黨工委“**”基本工作思路,全力開拓進取,認真履職盡責,圓滿完成各項工作任務。一、個人思想政治狀況檸檬文苑www bgzjy
按照縣委關于開展抓基層黨建述職評議會議的有關要求,經請示縣委組織部同意,今天,我們在此召開2022年度基層黨組織書記抓基層黨建述職評議會議。1 首先,請**黨委書記,**同志述職。**黨委能夠主動研究