單元測試
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) 必要的注釋
答:良好的設計會讓我們在後面對程式的擴充應用中少走不少彎路,對于測試類也好,修改代碼也好,不會影響到整個程式的運作。而編碼的規範能讓我們更好的了解代碼的運作,對于越大的程式,編碼的規範就越重要。而必要的注釋更有利于他人了解我們的程式。總之,在以後的程式設計中要多注意這些因素。
評價下夥伴:
先來一片面包:隊友能在我的基礎上提出很合适的建議,對于程式的優化和應用擴充,提供了很多思路。
在把肉放上:有時候會想着希望能做得更好點,提出的建議想法都很不錯,但是由于程式設計能力有限,還是選擇了簡便易行的方式。
再來一片面包: 想要做好不是一個人的事,有時候兩個人可能都比較懶惰,做得比較慢,比較拖沓