資源簡介
本文檔中源碼為軟件測試課程實驗相關(guān)內(nèi)容,壓縮包內(nèi)也有詳細(xì)需求說明。大致功能為測試一個輸入為稅前工資輸出為稅后工資的方法的單元測試,通過設(shè)計測試用例實現(xiàn)等價類劃分測試,邊界值分析測試以及路徑覆蓋測試

代碼片段和文件信息
package?tax;
import?java.util.Scanner;
public?class?TaxCalculator?{
public?double?getIncome(String?sinput)?throws?TaxException?{
//?稅前收入
double?pretaxIncome?=?0;
//?應(yīng)納稅所得額
double?taxableIncome?=?0;
//?個人所得稅
double?tax?=?0;
//?實際收入
double?realIncome?=?0;
//?輸入字符串轉(zhuǎn)為稅前收入
try?{
if?(sinput?==?null)?{
throw?new?TaxException(TaxException.MUST_BE_NUMBER);
}
pretaxIncome?=?Double.parseDouble(sinput);
if?(pretaxIncome?0)?{
throw?new?TaxException(TaxException.MUST_NOT_LESS_THAN_ZERO);
}?else?if?(pretaxIncome?>?1000000)?{
throw?new?TaxException(TaxException.MUST_NOT_RATHER_THAN_MILLION);
}
}?catch?(NumberFormatException?e)?{
throw?new?TaxException(TaxException.MUST_BE_NUMBER);
}
//?計算應(yīng)納稅所得額
taxableIncome?=?pretaxIncome?-?TaxParameters.TAX_THRESHOLD;
//?計算個人所得稅
if?(taxableIncome?<=?0)?{
tax?=?0;
}?else?if?(taxableIncome?>?0?&&?taxableIncome?<=?TaxParameters.MaxBound.LEVEL1)?{
tax?=?taxableIncome?*?TaxParameters.Rate.LEVEL1?-?TaxParameters.QuickDeduction.LEVEL1;
}?else?if?(taxableIncome?>?TaxParameters.MaxBound.LEVEL1?&&?taxableIncome?<=?TaxParameters.MaxBound.LEVEL2)?{
tax?=?taxableIncome?*?TaxParameters.Rate.LEVEL2?-?TaxParameters.QuickDeduction.LEVEL2;
}?else?if?(taxableIncome?>?TaxParameters.MaxBound.LEVEL2?&&?taxableIncome?<=?TaxParameters.MaxBound.LEVEL3)?{
tax?=?taxableIncome?*?TaxParameters.Rate.LEVEL3?-?TaxParameters.QuickDeduction.LEVEL3;
}?else?if?(taxableIncome?>?TaxParameters.MaxBound.LEVEL3?&&?taxableIncome?<=?TaxParameters.MaxBound.LEVEL4)?{
tax?=?taxableIncome?*?TaxParameters.Rate.LEVEL4?-?TaxParameters.QuickDeduction.LEVEL4;
}?else?if?(taxableIncome?>?TaxParameters.MaxBound.LEVEL4?&&?taxableIncome?<=?TaxParameters.MaxBound.LEVEL5)?{
tax?=?taxableIncome?*?TaxParameters.Rate.LEVEL5?-?TaxParameters.QuickDeduction.LEVEL5;
}?else?if?(taxableIncome?>?TaxParameters.MaxBound.LEVEL5?&&?taxableIncome?<=?TaxParameters.MaxBound.LEVEL6)?{
tax?=?taxableIncome?*?TaxParameters.Rate.LEVEL6?-?TaxParameters.QuickDeduction.LEVEL6;
}?else?if?(taxableIncome?>?TaxParameters.MaxBound.LEVEL6)?{
tax?=?taxableIncome?*?TaxParameters.Rate.LEVEL7?-?TaxParameters.QuickDeduction.LEVEL7;
}
//?實際收入
realIncome?=?pretaxIncome?-?tax;
return?realIncome;
}
}
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件?????1224090??2018-12-28?09:20??TIM圖片20181228143913.png
?????目錄???????????0??2018-12-28?14:34??TaxTest\
?????文件?????????353??2018-12-28?14:34??TaxTest\.classpath
?????文件?????????383??2018-12-28?14:34??TaxTest\.project
?????目錄???????????0??2018-12-28?14:34??TaxTest\bin\
?????目錄???????????0??2018-12-28?14:34??TaxTest\bin\tax\
?????文件????????1536??2018-12-28?14:34??TaxTest\bin\tax\TaxCalculator.class
?????文件????????2938??2018-12-28?14:34??TaxTest\bin\tax\TaxCalculatorTest.class
?????文件?????????808??2018-12-28?14:34??TaxTest\bin\tax\TaxException.class
?????文件?????????415??2018-12-28?14:34??TaxTest\bin\tax\TaxParameters$MaxBound.class
?????文件?????????427??2018-12-28?14:34??TaxTest\bin\tax\TaxParameters$QuickDeduction.class
?????文件?????????435??2018-12-28?14:34??TaxTest\bin\tax\TaxParameters$Rate.class
?????文件?????????348??2018-12-28?14:34??TaxTest\bin\tax\TaxParameters.class
?????目錄???????????0??2018-12-28?14:34??TaxTest\src\
?????目錄???????????0??2018-12-28?14:34??TaxTest\src\tax\
?????文件????????2439??2018-12-28?14:34??TaxTest\src\tax\TaxCalculator.java
?????文件?????????501??2018-12-28?14:34??TaxTest\src\tax\TaxException.java
?????文件?????????658??2018-12-28?14:34??TaxTest\src\tax\TaxParameters.java
?????目錄???????????0??2018-12-28?14:34??TaxTest\test\
?????目錄???????????0??2018-12-28?14:34??TaxTest\test\tax\
?????文件????????3970??2018-12-28?14:34??TaxTest\test\tax\TaxCalculatorTest.java
評論
共有 條評論