天天看點

結對程式設計-單元測試

單元測試

201421123098 胡丹丹 201421123118 張中結

代碼位址:https://git.coding.net/zzj201421123118/together-2.git

一、需求分析

1.整數四則運算測試

2.分數四則運算測試

3.求最大公約數測試

二、測試環境

 

項目基于eclipse開發,然後使用用自帶JUNIT4進行測試,eclemma實作代碼覆寫率統計。

三、測試用例

package JieDui;
import static org.junit.Assert.*;
import org.junit.Test;
public class CalculateTest {
    @Test
    public void testReduce(){
        Calculate cal = new Calculate();
        int result = cal.reduce(40,20);
        int expected=20;
        assertEquals(expected, result);
    }
    
    @Test
    public void testAdd() {
        Calculate cal = new Calculate();
        String result = cal.add(10, 32768);
        String expected="32778";
        assertEquals(expected, result);
    }
    @Test
    public void testSub() {
        Calculate cal = new Calculate();
        String result = cal.sub(6,3);
        String expected="3";
        assertEquals(expected, result);
        
    }
    @Test
    public void testMul() {
        Calculate cal = new Calculate();
        String result = cal.mul(6,3);
        String expected="18";
        assertEquals(expected, result);
    }
    @Test
    public void testDiv() {
        Calculate cal = new Calculate();
        String result = cal.div(5,2);
        String expected="5/2";
        assertEquals(expected, result);
    }
    @Test
    public void testScoreAdd() {
        Calculate cal = new Calculate();
        String result = cal.ScoreAdd(6,5,1,5);
        String expected="7/5";
        assertEquals(expected, result);
    }
    @Test
    public void testScoreSub() {
        Calculate cal = new Calculate();
        String result = cal.ScoreSub(4,5,1,5);
        String expected="3/5";
        assertEquals(expected, result);
    }
    @Test
    public void testScoreMul() {
        Calculate cal = new Calculate();
        String result = cal.ScoreMul(4,5,1,5);
        String expected="4/25";
        assertEquals(expected, result);
    }
    @Test
    public void testScoreDiv() {
        Calculate cal = new Calculate();
        String result = cal.ScoreDiv(4,5,1,2);
        String expected="8/5";
        assertEquals(expected, result);
    }
}      

運作結果

  

結對程式設計-單元測試

5.覆寫率

結對程式設計-單元測試

6.結對照片

結對程式設計-單元測試
結對程式設計-單元測試

背景是一樣的,這是一起約圖書館時拍的,身邊沒有其他人,就我給他拍,他給我拍。

PSP展示

PSP2.1 Personal Software Process Stages Time (%) Senior Student(/hour) Time (%)(/hour)
· Planning 計劃 2 2.5
· Estimate 估計這個任務需要多少時間 0.5
· Analysis 需求分析 (包括學習新技術) 1
· Coding Standard 代碼規範
· Design 具體設計 1.5
· Coding 具體編碼 20 24
· Test 測試(自我測試,修改代碼,送出修改)
Reporting 報告

小結

在提取計算類的時候遇到一個比較嚴重的問題就是怎麼樣才能把類提出來之後又能滿足主函數的調用和運作不出問題,嘗試了好多種方法,隻要願意去做,總還是有辦法的。

PS:問在隔了一周之後再看之前的代碼,是否更能體會到下面這些東西?

(1) 良好的設計

(2) 編碼規範

(3) 必要的注釋

答:良好的設計會讓我們在後面對程式的擴充應用中少走不少彎路,對于測試類也好,修改代碼也好,不會影響到整個程式的運作。而編碼的規範能讓我們更好的了解代碼的運作,對于越大的程式,編碼的規範就越重要。而必要的注釋更有利于他人了解我們的程式。總之,在以後的程式設計中要多注意這些因素。

評價下夥伴:

先來一片面包:隊友能在我的基礎上提出很合适的建議,對于程式的優化和應用擴充,提供了很多思路。

在把肉放上:有時候會想着希望能做得更好點,提出的建議想法都很不錯,但是由于程式設計能力有限,還是選擇了簡便易行的方式。

再來一片面包: 想要做好不是一個人的事,有時候兩個人可能都比較懶惰,做得比較慢,比較拖沓