日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

软件测试——实验二

發(fā)布時間:2025/3/15 编程问答 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 软件测试——实验二 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

一、目的和要求
1、掌握應(yīng)用黑盒測試技術(shù)進行測試用例設(shè)計。
2、掌握對測試用例進行優(yōu)化設(shè)計方法。
二、實驗內(nèi)容
日期問題
測試以下程序:該程序有三個輸入變量month、day、year(month、day和year均為整數(shù)值,并且滿足:1≤month≤12、1≤day≤31和1900≤year≤2050),分別作為輸入日期的月份、日、年份,通過程序可以輸出該輸入日期在日歷上隔一天的日期。例如,輸入為2004 年11月30日,則該程序的輸出為2004年12月1日。
(1)劃分等價類,按照等價類劃分法設(shè)計測試用例;
(2)編寫nextDate函數(shù);
(3)掌握Junit4的用法,使用Junit4測試nextDate函數(shù)。
JUnit4是JUnit框架有史以來的最大改進,其主要目標便是利用Java5的Annotation特性簡化測試用例的編寫。掌握Junit4定義的一些常見Annotations:org.junit.Test org.junit.Beforeorg.junit.Afterorg.junit.BeforeClassorg.junit.AfterClassorg.junit.Ignoreorg.junit.runner.RunWithorg.junit.runners.Suite.SuiteClassesorg.junit.runners.Parameterized.Parameters:
三、測試用例的編寫
(1)劃分等價類,按照等價類劃分法設(shè)計測試用例;

代碼:

Heihe.java package ruanjianceshishiyaner;import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.regex.Pattern;public class Heihe {private static final Pattern pattern = Pattern.compile("^[-\\+]?[\\d]*$");public static String nextDate(String s_year, String s_month, String s_day) {if (!(isInteger(s_year) && isInteger(s_month) && isInteger(s_day))) {return "無效輸入";}//將字符串轉(zhuǎn)為intint year = Integer.parseInt(s_year);int month = Integer.parseInt(s_month);int day = Integer.parseInt((s_day));boolean flag = false;if (year < 1900 || year > 2050) {return ("年的值不在指定范圍");} else if (month > 12 || month < 1) {return ("月的值不在指定范圍");} else if (day > 31 || day < 1) {return ("日的值不在指定范圍");}switch (month) {case 1:case 3:case 5:case 7:case 8:case 10:if (day == 31) {day = 1;month = month + 1;} else {day = day + 1;}break;case 4:case 6:case 9:case 11:if (day == 30) {day = 1;month = month + 1;} else if (day == 31) {flag = true;} else {day = day + 1;}break;case 12:if (day == 31) {day = 1;month = 1;year = year + 1;} else {day = day + 1;}break;case 2: {if (((year % 4 == 0 && year % 100 != 0) || year % 400 == 0)) {// 閏年if (day == 29) {day = 1;month = 3;} else if (day < 29) {day = day + 1;} else {flag = true;// day超過29}} else {//非閏年if (day == 28) {day = 1;month = 3;} else if (day < 28) {day = day + 1;} else {flag = true;}}}break;default:}if (year > 2050) {return ("年的值不在指定范圍");} else if (flag) {return ("日的值不在指定范圍");} else {return ("下一天是" + year + "年" + month + "月" + day + "日");}}/*** 判斷輸入字符串是否是整數(shù)型** @param str* @return*/public static boolean isInteger(String str) {return pattern.matcher(str).matches();} }HeiheTest.java package ruanjianceshishiyaner;import org.junit.Assert; import org.junit.Test; import org.junit.runner.RunWith; import org.junit.runners.Parameterized; import org.junit.runners.Parameterized.Parameters;import java.util.Arrays; import java.util.Collection;@RunWith(Parameterized.class) public class HeiheTest {private String input1;private String input2;private String input3;private String expected;@Parameterspublic static Collection<?> prepareData(){String [][] object = {// 有效等價類{"2000","1","20","下一天是2000年1月21日"},{"2000","2","29","下一天是2000年3月1日"},{"2000","4","30","下一天是2000年5月1日"},{"2001","1","31","下一天是2001年2月1日"},{"2001","2","28","下一天是2001年3月1日"},{"2001","4","30","下一天是2001年5月1日"},// 無效等價類{"1899","1","1","年的值不在指定范圍"},{"2051","1","1","年的值不在指定范圍"},{"200?","1","1","無效輸入"},{"2000","-1","1","月的值不在指定范圍"},{"2000","13","1","月的值不在指定范圍"},{"2000","1?","1","無效輸入"},{"2000","1","-1","日的值不在指定范圍"},{"2000","1","32","日的值不在指定范圍"},{"2000","4","31","日的值不在指定范圍"},{"2000","2","30","日的值不在指定范圍"},{"2001","2","29","日的值不在指定范圍"},{"2000","1","1?","無效輸入"}};return Arrays.asList(object);}public HeiheTest(String input1,String input2,String input3,String expected){this.input1 = input1;this.input2 = input2;this.input3 = input3;this.expected = expected;}@Testpublic void testDate(){String result = Heihe.nextDate(input1,input2,input3);Assert.assertEquals(expected,result);} }

四、測試結(jié)果的分析

六個無效等價類和十二個有效等價類測試成功,實驗完成

五、測試文檔的撰寫

六、心得與體會
(1)初步掌握應(yīng)用黑盒測試技術(shù)進行測試用例設(shè)計。
(2)學(xué)會了優(yōu)化設(shè)計測試用例方法。
(3)能用Junit實施參數(shù)化測試
(4)學(xué)習(xí)了使用等價類劃分法

總結(jié)

以上是生活随笔為你收集整理的软件测试——实验二的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。