第二次作业+105032014098
生活随笔
收集整理的這篇文章主要介紹了
第二次作业+105032014098
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
(1)實驗目的
本次作業(yè)是,第一次初步白盒測試后的,對自己代碼的第一輪修改。
(2)實驗內(nèi)容
1.測試帖鏈接: ?http://www.cnblogs.com/wxy-2017/p/6592407.html
2.測試人員提出的問題、發(fā)現(xiàn)的缺陷
未通過測試的用例:
缺陷:未對非閏年的二月進行判斷,導致二月只有29天確被當成了30天來計算
?
3.修正后的代碼清單
package exam1;import java.util.Scanner;public class test02 {static String NextDate(int year,int month,int day){if(((year%4==0&&year%100!=0)||year%400==0)&&month==2){ if(day==29){day=1;month++;}else day++;}else if(month==12){if(day==31){day=1;month=1;year++;}else day++;}else if(month==1||month==3||month==5||month==7||month==8||month==10){if(day==31){day=1;month++;}else day++;}else if(month==2||month==4||month==6||month==11||month==12&&day==30){if(month==2&&day==28){day=1;month++;}else if(day==30){day=1;month++;}else day++;}else day++;String date="后一天的日期是:"+year+"年"+month+"月"+day+"日";return date;}public static boolean check(int y,int m,int d){if(y<1915||y>2050){System.out.println("年份超出范圍");return false;}else if(d<1||d>31||(m==2&&d>29)){System.out.println("日期超出范圍");return false;}else if(m<1||m>12){System.out.println("月份超出范圍");return false;}else {return true;}}//main方法public static void main(String[] args) {while(true){System.out.println("----請輸入日期---");Scanner scanner=new Scanner(System.in);System.out.print("請輸入年份:");int year=scanner.nextInt();System.out.print("請輸入月份:");int month=scanner.nextInt();System.out.print("請輸入日期:");int day=scanner.nextInt();if(check(year, month, day)){System.out.println(NextDate(year, month, day));}} }}(4)實驗總結(jié)
(1)代碼變更:代碼增加了對非閏年的二月進行判斷的條件
(2)缺陷原因:條件覆蓋用例沒有設計完整導致預期結(jié)果出錯
(3)學習心得:學習使用白盒測試技術(shù),先從代碼分析入手,根據(jù)不同的代碼邏輯規(guī)則、語句執(zhí)行情況,選用適合的覆蓋方法,下面是一些方法的總結(jié):
語句覆蓋:為了暴露程序中的錯誤,程序中的每條語句至少應該執(zhí)行一次
判定覆蓋:設計足夠的測試用例,使得程序中的每個判定至少都獲得一次“真值”或“假值”(全True或全False)
條件覆蓋:使得每一判定語句中每個邏輯條件的可能值至少滿足一次。
轉(zhuǎn)載于:https://www.cnblogs.com/wxcclub/p/6617209.html
總結(jié)
以上是生活随笔為你收集整理的第二次作业+105032014098的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 在EORow或者VORow中对数据进行重
- 下一篇: [python] 之 函数简介