@@學院
軟體測驗課程設計報告
題 目: NextDate函式
姓 名: 愛碼小哥
班 級: 公眾號程式員一凡
學 號: 1024
指導老師: 一凡
2021.03.05
目 錄
第1章 軟體測驗的概念和設計要求 3
1.1 測驗目的 3
1.2 測驗選題 4
1.3測驗人員 4
1.4測驗方法 4
1.5 測驗資料及參考書 4
1.6關于黑盒測驗 4
1.7 關于白盒測驗 5
1.8、黑盒測驗與白盒測驗的比較 6
1.9 軟體測驗程序 6
1.10資料整理 7
第2章 NextDate函式問題 8
2.1NextDate函式的黑盒測驗 8
2.1.1.問題描述: 8
2.1.2.程式代碼(開發環境:Windowsxp xp、java): 8
2.1.3.測驗方法 9
2.1.4.測驗用例設計 9
2-2NextDate函式的白盒測驗 11
2.2.1核心程式代碼 11
2.2.2程式流程圖 12
2.2.3 測驗用例 12
2.2.4程式控制流圖 14
設計心得與體會 14
第1章 軟體測驗的概念和設計要求
1.1 測驗目的
1.練習和掌握軟體測驗管理的一般程序與步驟;
2.掌握測驗管理的人工程序和能夠通過相關管理軟體實作以下作業:
a)配置軟體資產資訊、軟體需求、軟體模型和缺陷資料庫;
b)創建和管理多個測驗組和用戶;
c)配置測驗環境、撰寫詳細測驗計劃、安排測驗進度;
d)設計測驗腳本、測驗用例;
e)實施測驗、執行測驗和評估測驗,
1.2 測驗選題
NextDate函式;
1.3測驗人員
張@@:軟體測驗計劃及相關資料的撰寫與收集,
李@@:對特定問題撰寫程式代碼,并對其進行黑盒測驗,
王@@:對特定問題撰寫程式代碼,并對其進行白盒測驗,
1.4測驗方法
對于選題,使用黑盒測驗技術,測驗內容包括等價類劃分測驗、邊界值分析測驗、決策表方法使用,
使用白盒測驗技術,測驗內容包括陳述句覆寫測驗、分支覆寫測驗、條件覆寫測驗、分支/條件覆寫測驗、條件組合覆寫測驗及基本路徑測驗,
1.5 測驗資料及參考書
1.軟體測驗與維護基礎教程,機械工業出版社,黃武
2.軟體測驗技識訓礎教程,電子工業出版社,顧海花
3.軟體測驗,清華大學出版社,周元哲
1.6關于黑盒測驗
測驗規劃是基于產品的功能,目的是檢查程式各個功能是否能夠實作,并檢查其中的功能錯誤,這種測驗方法稱為黑盒測驗(Black-box Testing)方法,
黑盒測驗又稱為功能測驗、資料驅動測驗和基于規格說明的測驗,它是一種從用戶觀點出發的測驗,一般被用來確認軟體功能的正確性和可操作性,
黑盒測驗的基本觀點是:任何程式都可以看作是從輸入定義域映射到輸出值域的函式程序,被測程式被認為是一個打不開的黑盒子,黑盒中的內容(實作程序)完全不知道,只明確要做到什么,
?黑盒測驗主要根據規格說明書設計測驗用例,并不涉及程式內部構造和內部特性,只依靠被測程式輸入和輸出之間的關系或程式的功能設計測驗用例,
1.黑盒測驗的特點:
(1)黑盒測驗與軟體的具體實作程序無關,在軟體實作的程序發生變化時,測驗用例仍然可以使用,
(2)黑盒測驗用例的設計可以和軟體實作同時進行,這樣能夠壓縮總的開發時間,
2.黑盒測驗的具體技術方法:
●邊界值分析法
●等價類劃分法
●因果圖法
●決策表法
1.7 關于白盒測驗
測驗規劃基于產品的內部結構進行測驗,檢查內部操作是否按規定執行,軟體各個部分功能是否得到充分使用,則這種測驗方法稱為白盒測驗(White-box Testing)方法,
白盒測驗又稱為結構測驗、邏輯驅動測驗或基于程式的測驗,一般用來分析程式的內部結構,
白盒測驗將被測程式看作一個打開的盒子,測驗者能夠看到被測源程式,可以分析被測程式的內部結構,此時測驗的焦點集中在根據其內部結構設計測驗用例,
白盒測驗要求是對某些程式的結構特性做到一定程度的覆寫,或者說這種測驗是“基于覆寫率的測驗”,
通常的程式結構覆寫有:
●陳述句覆寫
●判定覆寫
●條件覆寫
●判定/條件覆寫
●路徑覆寫
1.8、黑盒測驗與白盒測驗的比較
1.9 軟體測驗程序
單元測驗:針對每個單元的測驗, 以確保每個模塊能正常作業為目標,
集成測驗:對已測驗過的模塊進行組裝,進行集成測驗,目的在于檢驗與軟體設計相關的程式結構問題,
確認(有效性)測驗:是檢驗所開發的軟體能否滿足所有功能和性能需求的最后手段,
系統測驗:檢驗軟體產品能否與系統的其他部分(比如,硬體、資料庫及操作人員)協調作業,
驗收(用戶)測驗:檢驗軟體產品質量的最后一道工序,主要突出用戶的作用,同時軟體開發人員也應有一定程度的參與,
1.10資料整理
測驗所得到的用例測驗報告、BUG報告,需要進行反饋和最后的歸檔,歸檔的作業按照專案計劃中所規定的內容進行,反饋的作業在測驗項結束后,整理成測驗總結報告后進行,具體的日期,在專案計劃中有規定,
不同階段的測驗,都需要重復以上的步驟,
其他必要的資料整理的作業,由專案經理在進行程序中進行安排,
第2章 NextDate函式問題
2.1NextDate函式的黑盒測驗
2.1.1.問題描述:
NextDate是一個有三個變數(月份、日期和年)的函式. 函式回傳輸入日期后面的那個日期. 變數月份、日期和年都具有整數值,且滿足以下條件:
c1. l≤月份≤12
c2. 1≤日期≤31
c3. 1812≤年≤2012
2.1.2.程式代碼(開發環境:Windowsxp xp、c語言):
#include"stdafx.h" #include <iostream> using namespace std; void NextDate(int year,int month,int day); void main() { int year=0,month=0,day=0; NextDate(year,month,day); } void NextDate(int year,int month,int day) { cout<<"請輸入年份:"<<endl; cin>>year; while(!(year>=1911 && year<=2013)) { cout<<"年份超過界限,請重新輸入"<<endl; cin>>year; } cout<<"請輸入月份:"<<endl; cin>>month; while (month>12||month<1) { cout<<"月份輸入有誤,請重新輸入"<<endl; cin>>month; } cout<<"請輸入日期:"<<endl; cin>>day; while (day>31||day<1) { cout<<"日期輸入有誤,請重新輸入"<<endl; cin>>day; } while(month==4&&day==31||month==6&&day==31||month==9&&day==31||month==11&&day==31) { cout<<"小月沒有31號"<<endl; cin>>day; } if((year%4==0 && year%100!=0) || (year%400==0)) //檢查閏年; { int i=0; i=day-29; while(month==2&&i>0) { cout<<"本月是閏月,請在1-29之間從新輸入日期"<<endl; cin>>day; } if(month==2&&day==29) { month=3; day=1; } else day++; } else day++; //月底計算; switch(month) { case 1: case 3: case 5: case 7: case 8: case 10: if (day==32) { month++; day=1; cout<<"明天是:"<<year<<'/'<<month<<'/'<<day<<endl; } break; case 2: if(day==29) { month=3; day=1; cout<<"明天是:"<<year<<'/'<<month<<'/'<<day<<endl; } break; case 4: case 6: case 9: case 11: if(day==31) { month++; day=1; cout<<"明天是:"<<year<<'/'<<month<<'/'<<day<<endl; } break; case 12: if(day==32) { year++; month=1; day=1; cout<<"明天是:"<<year<<'/'<<month<<'/'<<day<<endl; } break; } cout<<"明天是:"<<year<<'/'<<month<<'/'<<day<<endl; }
2.1.3.測驗方法
黑盒測驗(等價類劃分+邊界值分析+決策表方法)
2.1.4.測驗用例設計
1.等價類劃分方法
測驗執行情況與記錄












2.邊界值分析方法

3.決策表方法
(1)month、day、year的有效等價類:
M1:{month:month有30天}
M2:{month:month有31天,12月除外}
M3:{month:month是12月}
M4:{month:month是2月}
D1:{day:1≤day≤27}
D2:{day:day=28}
D3:{day:day=29}
D4:{day:day=30}
D5:{day:day=31}
Y1:{year:year是閏年} Y2:{year:year不是閏年}
(2)根據各種有效的輸入情況,程式中可能采取的操作有以下六種:
a1:不可能 a2:day加1 a3:day復位
a4:month加1 a5:month復位 a6:year加1

用例串列及其執行結果:

2-2求最大公約數和最小公倍數的白盒測驗
2.2.1核心程式代碼
if(n1<n2)//使得n1為較大的數,n2為較小的數 { temp=n1; n1=n2; n2=temp; } p=n1*n2;//p為兩個數的乘積 while(n2!=0)//求兩個數的最大公約數 { r=n1%n2; n1=n2; n2=r; }
2.2.2程式流程圖

2.2.3 測驗用例
1.陳述句覆寫測驗用例:


2.2.4程式控制流圖

設計心得與體會
本次測驗中的壓力測驗是指模擬實際應用的軟硬體環境及多用戶訂單提交程序的系統負荷,運行測驗軟體來測驗被測系統的可靠性,同時還要測驗被測系統的回應時間,根據課題的要求,進行上機實驗除錯,掌握軟體測驗的基本步驟和方法,掌握實際軟體工程中與軟體測驗有關的相關檔案的編制,
通過此次軟體測驗的課程設計,深刻學習掌握了軟體測驗和軟體測驗程序的基本方法和基本技術,關于黑盒、白盒的測驗用例的設計,也進行了認真學習研究,從而進一步提高了自己在程式上的撰寫能力,以及一些之前未觸及的問題,為即將踏上社會的自己又做了一份理論和實踐的準備,
參考文獻
⑴專(譯)著:[序號] 著者.書名(譯者)[M].出版地:出版者,出版年:起~止頁碼.
⑵期 刊:[序號] 著者.篇名[J].刊名,年,卷號(期號):起~止頁碼.
⑶論 文 集:[序號] 著者.篇名[A]編者.論文集名[C] .出版地:出版者,出版者. 出版年:起~止頁碼.
⑷學位論文:[序號] 著者.題名[D] .保存地:保存單位,授予年.
⑸專利文獻:[序號] 專利所有者.專利題名[P] .專利國別:專利號,出版日期.
⑹標準文獻:[序號] 標準代號 標準順序號—發布年,標準名稱[S] .
⑺報 紙:[序號] 責任者.文獻題名[N].報紙名,年—月—日(版次).
⑺網路資料:[序號] 具體網址.
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/266255.html
標籤:其他
上一篇:牛氣!青云QingCloud 進入“混合云市場競爭力領導者象限”
下一篇:【分析】自動化測驗解決方案
