我的隊友是52吳舒婷,部落格內容主要是白盒黑盒的測試資料分析
我們通過簡單的四則運算來進行程式的測試與封裝
我們主要完成的是事情
(1)封裝:將運算要運用的方法進行封裝
檔案主要有三個:Calculate(存放運算要用得到方法)、CalcuTest(主要main方法)、Test(測試)
Calculate中主要的方法:Cal()運算、input()輸入、judge判斷()
程式碼如下:CalcuTest(主要main方法)
package Test.src.src; import java.util.Scanner; public class CalcuTest { static Scanner sc = new Scanner(System.in); static int a=0; static int b=0; static String cc=new String(); public static void main(String[] args) { Calculate c1=new Calculate(); c1.input(); a=c1.a1; b=c1.b1; cc=c1.cc1; int total=c1.Cal(a,b,cc); System.out.println("計算結果是:"+total); } }
Calculate(存放運算要用得到方法)
package Test.src.src; import java.util.Scanner; public class Calculate { static Scanner sc = new Scanner(System.in); int a1=0; int b1=0; String cc1=new String(); static public int Cal(int a,int b,String cc) { cc=judge(cc); int result=0; if(cc.equals("+")) result=a+b; else if(cc.equals("-")) result=a-b; else if(cc.equals("*")) result=a*b; else if(cc.equals("/")) try{ result=a/b; }catch(Exception e)//對輸入的數值進行異常處理 { System.out.println("\t 除數不能為0"); } else System.out.println("\t請輸入正確運算子!請重新執行"); return result; } public void input() { try{ System.out.println("運算子是 +,-,*,/"); System.out.println("請輸入第一個數:"); a1=sc.nextInt(); System.out.println("請輸入第二個數:"); b1=sc.nextInt(); System.out.println("請輸入運算子:"); cc1 = sc.next(); }catch(Exception e) { System.out.println("輸入數值出現異常"); } } static public String judge(String cc2) { boolean a=false; if(cc2.equals("+") || cc2.equals("-")|| cc2.equals("*")||cc2.equals("/")) a=true; while(a==false) { System.out.println("\t非法運算子"); System.out.println("請輸入運算子:"); cc2 = sc.next(); if(cc2.equals("+") || cc2.equals("-")|| cc2.equals("*")||cc2.equals("/")) a=true; } return cc2; } }
(2)測試
A、進行四個運算的基本測試
B、進行除法除數不能為0的測試
C、對數的數值規範進行測試
D、對輸入的運算子是否正確的測試
package Test.src.src; import static org.junit.Assert.*; import org.junit.Test; public class Tests { @Test public void testAdd()//測試加法基本功能 { int result=new Calculate().Cal(3,3,"+"); assertEquals(6,result); } @Test public void testSub()//測試減法基本功能 { int result=new Calculate().Cal(6,3,"-"); assertEquals(3,result); } @Test public void testMuti()//測試乘法基本功能 { int result=new Calculate().Cal(3,3,"*"); assertEquals(9,result); } @Test public void testDivi()//測試除法基本功能 { int result=new Calculate().Cal(3,3,"/"); assertEquals(1,result); } @Test public void testDiviZero()//測試除法出書不為零基本功能 { Calculate c1=new Calculate(); c1.Cal(3, 0,"/"); } @Test public void testIlligal()// { Calculate c1=new Calculate(); c1.input(); } @Test public void testcalStr()// { Calculate c1=new Calculate(); c1.Cal(3,5,"k"); } }
執行結果
測試開始:
測試運算子
測試全部
可以測試出程式基本無錯誤,有更深的錯誤會在後面在一次更新~~~
因為單元測試這邊沒什麼把握,先從簡單開始,還不敢用自己的程式來測試,終有一天會用到我自己的程式進行測試