实验二+140+阮晨曦
---恢復內容開始---
一、實驗目的
掌握覆蓋測試的基本方法和實踐
二、實驗要求
運用邏輯覆蓋測試的覆蓋準則設計被測程序的測試用例,并運行測試用例檢查程序的正確與否,給出程序缺陷小結。
三、實驗內容
(1)設計某程序的路徑覆蓋測試用例,如路徑覆蓋、條件覆蓋、分支覆蓋、循環(huán)覆蓋等
?
?測試代碼鏈接
http://www.cnblogs.com/mrlry/p/6617697.html
DD路徑圖
?
1語句覆蓋
A-B-C-V
A-B-D-E-F-J-K-L-M-V
A-B-D-E-G-J-K-L-N-V
A-B-D-E-H-K-L-O-V
A-B-D-E-H-K-L-P-Q-V
A-B-D-E-H-K-L- P-R-S-U-V
A-B-D-E-H-K-L- P-R-T-U-V
| 1 | -1 | 0 | 0 | A-B-C-V | 退出 | ? |
| 2 | 2016 | 13 | 1 | A-B-D-E-F-J-K-L-M-V | 月份超出范圍 | ? |
| 3 | 2000 | 13 | 1 | A-B-D-E-G-J-K-L-N-V | 日期超出范圍 | |
| 4 | 2051 | 12 | 1 | A-B-D-E-H-K-L-O-V | 年份超出范圍 | |
| 5 | 2001 | 12 | 2 | A-B-D-E-H-K-L-P-Q-V | 2001年12月3日 | |
| 6 | 2001 | 12 | 31 | A-B-D-E-H-K-L- P-R-S-U-V | 2002年1月1日 | |
| 7 | 2001 | 11 | 30 | A-B-D-E-H-K-L- P-R-T-U-V | 2001年12月1日 |
?
?
?
2判定覆蓋
A-B-C-V
A-B-D-E-F-J-K-L-M-V
A-B-D-E-G-J-K-L-N-V
A-B-D-E-H-K-L-O-V
A-B-D-E-H-K-L-P-Q-V
A-B-D-E-H-K-L- P-R-S-U-V
A-B-D-E-H-K-L- P-R-T-U-V
| 用例ID | 輸入值 | 執(zhí)行路徑 | 預期輸出 | ||||
| y | ?m | d | ? | ? | ? | ? | |
| ? | ? | ? | ? | ? | ? | ? | ? |
?
| 1 | -1 | 0 | 0 | A-B-C-V | 退出 | ? |
| 2 | 2016 | 13 | 1 | A-B-D-E-F-J-K-L-M-V | 月份超出范圍 | ? |
| 3 | 2000 | 13 | 1 | A-B-D-E-G-J-K-L-N-V | 月份超出范圍 | |
| 4 | 2051 | 12 | 1 | A-B-D-E-H-K-L-O-V | 年份超出范圍 | |
| 5 | 2001 | 12 | 2 | A-B-D-E-H-K-L-P-Q-V | 2001年12月3日 | |
| 6 | 2001 | 12 | 31 | A-B-D-E-H-K-L- P-R-S-U-V | 2002年1月1日 | |
| 7 | 2001 | 11 | 30 | A-B-D-E-H-K-L- P-R-T-U-V | 2001年12月1日 |
?
?
3路徑覆蓋
A-B-C-V
?
?
A-B-D-E-F-J-K-L-M-V
A-B-D-E-F-J-K-L-N-V
A-B-D-E-F-J-K-L-O-V
A-B-D-E-F-J-K-L-P-Q-V
A-B-D-E-F-J-K-L-P-R-S-U-V
A-B-D-E-F-J-K-L-P-R-T-U-V
?
A-B-D-E-G-J-K-L-N-V
A-B-D-E-G-J-K-L-M-V
A-B-D-E-G-J-K-L-O-V
A-B-D-E-G-J-K-L-P-Q-V
A-B-D-E-G-J-K-L-P- R-S-U-V
A-B-D-E-G-J-K-L-P- R- T-U-V
?
?
A-B-D-E-H-K-L-M-V
A-B-D-E-H-K-L-N-V
A-B-D-E-H-K-L-O-V
A-B-D-E-H-K-L-P-Q-V
A-B-D-E-H-K-L- P-R-S-U-V
A-B-D-E-H-K-L- P-R-T-U-V
?
?
?
| 用例ID | 輸入值 | 執(zhí)行路徑 | 預期輸出 | ||||||
| y | ?m | d | ? | ? | ? | ? | ? | ? | |
| 1 | -1 | 0 | 0 | A-B-C-V | 退出 | ? | |||
| 2 | 2016 | 13 | 1 | A-B-D-E-F-J-K-L-M-V | 月份超出范圍 | ? | |||
| 3 | 2016 | 10 | 0 | A-B-D-E-F-J-K-L-N-V | 日期超出范圍 | ? | |||
| 4 | 1904 | 12 | 1 | A-B-D-E-F-J-K-L-O-V | 年份超出范圍 | ? | |||
| 5 | 2016 | 12 | 2 | A-B-D-E-F-J-K-L-P-Q-V | 2016年12月3日 | ? | |||
| 6 | 2016 | 12 | 31 | A-B-D-E-F-J-K-L-P-R-S-U-V | 2017年1月1日 | ? | |||
| 7 | 2016 | 11 | 30 | A-B-D-E-F-J-K-L-P-R-T-U-V | 2016年12月1日 | ? | |||
| 8 | 2000 | 13 | 1 | A-B-D-E-G-J-K-L-N-V | 月份超出范圍 | ? | |||
| 9 | 2000 | 10 | 0 | A-B-D-E-G-J-K-L-M-V | 日期超出范圍 | ? | |||
| 10 | 3200 | 12 | 1 | A-B-D-E-G-J-K-L-O-V | 年份超出范圍 | ? | |||
| 11 | 2000 | 12 | 2 | A-B-D-E-G-J-K-L-P-Q-V | 2000年12月3日 | ? | |||
| 12 | 2000 | 12 | 31 | A-B-D-E-G-J-K-L-P- R-S-U-V | 2001年1月1日 | ? | |||
| 13 | 2000 | 11 | 30 | A-B-D-E-G-J-K-L-P- R- T-U-V | 2000年12月1日 | ? | |||
| ? | ? | ? | ? | ? | ? | ? | ? | ? | ? |
?
| 14 | 2001 | 13 | 1 | A-B-D-E-H-K-L-M-V | 月份超出范圍 |
| 15 | 2001 | 10 | 0 | A-B-D-E-H-K-L-N-V | 日期超出范圍 |
| 16 | 2051 | 12 | 1 | A-B-D-E-H-K-L-O-V | 年份超出范圍 |
| 17 | 2001 | 12 | 2 | A-B-D-E-H-K-L-P-Q-V | 2001年12月3日 |
| 18 | 2001 | 12 | 31 | A-B-D-E-H-K-L- P-R-S-U-V | 2002年1月1日 |
| 19 | 2001 | 11 | 30 | A-B-D-E-H-K-L- P-R-T-U-V | 2001年12月1日 |
?
?
?
4條件覆蓋
?
?
| 編號 | M=-1 | 覆蓋路徑 |
| 1 | T | B-C |
| 2 | F | B-D |
?
?
| 編號 | y%4==0&&y%100!=0 | y%100==0&&y%400==0 | 覆蓋路徑 |
| 3 | T | F | E-F-J |
| 4 | F | T | E-G-J |
| 5 | F | F | E-H-K |
?
?
| 編號 | m<1||m>12 | d<1||d>month[m] | y<1912||y>2050 | 覆蓋路徑 |
| 6 | F | T | T | L-M |
| 7 | T | F | T | L-N |
| 8 | T | T | F | L-O |
| 9 | T | T | T | L-P-Q |
?
?
| 編號 | m==12&&d==31 | 覆蓋路徑 |
| 10 | T | R-S-U |
| 11 | F | R-T-U |
?
?
?
?
A-B-C-V
A-B-D-E-F-J-K-L-M-V
A-B-D-E-G-J-K-L-N-V
A-B-D-E-H-K-L-O-V
A-B-D-E-H-K-L-P-Q-V
A-B-D-E-H-K-L- P-R-S-U-V
A-B-D-E-H-K-L- P-R-T-U-V
| 用例ID | 輸入值 | 執(zhí)行路徑 | 預期輸出 | 覆蓋條件 | |||||||
| M | ?Y | D | ? | ? | ? | ? | ? | ? | ? | ? | |
| ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? |
?
| 1 | -1 | 0 | 0 | A-B-C-V | 退出 | 1 |
| 2 | 2016 | 13 | 1 | A-B-D-E-F-J-K-L-M-V | 月份超出范圍 | 2,3,6 |
| 3 | 2000 | 13 | 1 | A-B-D-E-G-J-K-L-N-V | 月份超出范圍 | 2,4,7 |
| 4 | 2051 | 12 | 1 | A-B-D-E-H-K-L-O-V | 年份超出范圍 | 2,5,8 |
| 5 | 2001 | 12 | 2 | A-B-D-E-H-K-L-P-Q-V | 2001年12月3日 | 2,5,9 |
| 6 | 2001 | 12 | 31 | A-B-D-E-H-K-L- P-R-S-U-V | 2002年1月1日 | 2.5.10 |
| 7 | 2001 | 11 | 30 | A-B-D-E-H-K-L- P-R-T-U-V | 2001年12月1日 | 2,5,11 |
?
Junit 腳本@Testpublic void test01() {assertEquals("月份超出范圍",nextDate.nextdate(2016 ,13, 1));}@Testpublic void test02() {assertEquals("日期超出范圍",nextDate.nextdate(2016 ,10, 0));}@Testpublic void test03() {assertEquals(null,nextDate.nextdate(-1 ,0, 0));}@Testpublic void test04() {assertEquals("年份超出范圍",nextDate.nextdate(1904 ,12, 1));}@Testpublic void test05() {assertEquals("2016年12月3日",nextDate.nextdate(2016 ,12, 2));}
@Testpublic void test06() {assertEquals("2017年1月1日",nextDate.nextdate(2016 ,12, 31));}
@Testpublic void test07() {assertEquals("2016年12月1日",nextDate.nextdate(2016 ,11, 30));}
@Testpublic void test08() {assertEquals("月份超出范圍",nextDate.nextdate(2000 ,13, 1));}
@Testpublic void test09() {assertEquals("日期超出范圍",nextDate.nextdate(2000 ,10,0));}
@Test
public void test10() {assertEquals("年份超出范圍",nextDate.nextdate(3200 ,12, 1));}
@Testpublic void test11() {assertEquals("2000年12月3日",nextDate.nextdate(2000 ,12, 2));}
@Testpublic void test12() {assertEquals("2001年1月1日",nextDate.nextdate(2000 ,12, 31));}
@Testpublic void test13() {assertEquals("2000年12月1日",nextDate.nextdate(2000 ,11,30));}
@Testpublic void test14() {assertEquals("月份超出范圍",nextDate.nextdate(2001 ,13, 1));}
@Testpublic void test15() {assertEquals("日期超出范圍",nextDate.nextdate(2001 ,10, 0));}
@Testpublic void test16() {assertEquals("年份超出范圍",nextDate.nextdate(2051 ,12, 1));}
@Testpublic void test17() {assertEquals("2001年12月3日",nextDate.nextdate(2001 ,12, 2));}
@Testpublic void test18() {assertEquals("2002年1月1日",nextDate.nextdate(2001 ,12, 31));}
@Testpublic void test19() {assertEquals("2001年12月1日",nextDate.nextdate(2001 ,11,30));}
?
?
測試總結
?????? 沒有對源代碼進行修改,并未找到測試的缺陷清單。
? ? ? ?
?
轉載于:https://www.cnblogs.com/rcher/p/6705751.html
總結
以上是生活随笔為你收集整理的实验二+140+阮晨曦的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Digui
- 下一篇: shell中的常用通配符,字符类