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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

软件测试——实验三

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

一、目的和要求
(1)掌握單元測試技術,并要求按照單元測試的要求設計測試用例。
(2)掌握在Eclipse里進行Junit4測試的技術。

(1)根據題目要求編寫測試用例。
(2)實驗結果要求給出測試用例集測試效果比較。
(3)撰寫實驗報告。
二、實驗內容
日期問題
測試以下程序:該程序有三個輸入變量month、day、year(month、day和year均為整數值,并且滿足:1≤month≤12、1≤day≤31和1900≤ year ≤2050),分別作為輸入日期的月份、日、年份,通過程序可以輸出該輸入日期在日歷上隔一天的日期。例如,輸入為 2004 年11月30日,則該程序的輸出為2004年12月1日。
(1)邊界值分析法設計測試用例;
(2)劃分的有效等價類,給出問題規定的可能采取的操作,畫出簡化后的決策表。
三、測試用例的編寫

代碼:

package ruanjianceshishiyansan; import org.junit.Assert; import org.junit.Test; import org.junit.runner.RunWith; import org.junit.runners.Parameterized;import java.util.Arrays; import java.util.Collection;@RunWith(Parameterized.class) public class DateBoundaryTests {private int input1;private int input2;private int input3;private String expected;@Parameterized.Parameterspublic static Collection<?> prepareData(){Object [][] object = {//年{1899, 7, 8, "年的值不在指定范圍內"},{1900, 7, 8, "19000709"},{1901, 7, 8, "19010709"},{2049, 7, 8, "20490709"},{2050, 7, 8, "20500709"},{2051, 7, 8, "年的值不在指定范圍內"},//月{2021, 0, 8, "月的值不在指定范圍內"},{2021, 1, 8, "20210109"},{2021, 2, 8, "20210209"},{2021, 11, 8, "20211109"},{2021, 12, 8, "20211209"},{2021, 13, 8, "月的值不在指定范圍內"},//日{2021, 2, 27, "20210228"},{2021, 2, 28, "20210301"},{2021, 2, 29, "日的值不在指定范圍內"},{2020, 2, 28, "20200229"},{2020, 2, 29, "20200301"},{2020, 2, 30, "日的值不在指定范圍內"},{2021, 1, 30, "20210131"},{2021, 1, 31, "20210201"},{2021, 1, 32, "日的值不在指定范圍內"},{2021, 4, 30, "20210501"},{2021, 4, 31, "日的值不在指定范圍內"},{2021, 2, 0, "日的值不在指定范圍內"},};return Arrays.asList(object);}public DateBoundaryTests(int input1,int input2,int input3,String expected){this.input1 = input1;this.input2 = input2;this.input3 = input3;this.expected = expected;}@Testpublic void testDate(){String result = danyuan.nextDate(input1,input2,input3);Assert.assertEquals(expected, result);} }

二、判定表驅動法
1、條件樁
Y1={year:今年是閏年}
Y2={year:今年是非閏年}
M1={month:本月是1,3,5,7,8,10月中一個}
M2={month:本月是4,6,9,11月中一個}
M3={month:本月是2月}
M4={month:本月是12月}
D1={day:1<=day<=27}
D2={day:day=28}
D3={day:day=29}
D4={day:day=30}
D5={day:day=31}
2、動作樁
A 0 :不在范圍內
A 1 : d a y + 1
A 2 : d a y 復 位
A 3 : m o n t h + 1
A 4 : m o n t h 復 位
A 5 : y e a r + 1




代碼:

package ruanjianceshishiyansan;import org.junit.Assert; import org.junit.Test; import org.junit.runner.RunWith; import org.junit.runners.Parameterized;import java.util.Arrays; import java.util.Collection;@RunWith(Parameterized.class) public class DateDecisionTests {private int input1;private int input2;private int input3;private String expected;@Parameterized.Parameterspublic static Collection<?> prepareData(){Object [][] object = {{2021, 5, 29, "20210530"},{2021, 9, 30, "20211001"},{2021, 9, 31, "日的值不在指定范圍內"},{2021, 1, 29, "20210130"},{2021, 1, 31, "20210201"},{2021, 12, 16, "20211217"},{2021, 12, 31, "20220101"},{2021, 5, 29, "20210530"}, {2021, 2, 28, "20210301"}, //8{2020, 2, 28, "20200229"},{2020, 2, 29, "20200301"},{2021, 2, 29, "日的值不在指定范圍內"}, //11{2021, 2, 30, "日的值不在指定范圍內"},};return Arrays.asList(object);}public DateDecisionTests(int input1,int input2,int input3,String expected){this.input1 = input1;this.input2 = input2;this.input3 = input3;this.expected = expected;}@Testpublic void testDate(){String result = danyuan.nextDate(input1,input2,input3);Assert.assertEquals(expected, result);} }

四、測試結果的分析

五、測試文檔的撰寫

六、心得與體會
(1)深入掌握應用黑盒測試技術進行測試用例設計。
(2)學會了簡化優化判定表。
(3)能用Junit實施參數化測試
(4)學習了使用邊界類和判定表劃分法

總結

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

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。