@@學院java
軟件測試課程設計報告ios
題 目: 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.練習和掌握軟件測試管理的通常過程與步驟;
2.掌握測試管理的人工過程和可以經過相關管理軟件實現如下工做:
a)配置軟件資產信息、軟件需求、軟件模型和缺陷數據庫;
b)建立和管理多個測試組和用戶;
c)配置測試環境、編寫詳細測試計劃、安排測試進度;
d)設計測試腳本、測試用例;
e)實施測試、執行測試和評估測試。
NextDate函數;
張@@:軟件測試計劃及相關資料的編寫與收集。
李@@:對特定問題編寫程序代碼,並對其進行黑盒測試。
王@@:對特定問題編寫程序代碼,並對其進行白盒測試。
對於選題,使用黑盒測試技術,測試內容包括等價類劃分測試、邊界值分析測試、決策表方法使用。
使用白盒測試技術,測試內容包括語句覆蓋測試、分支覆蓋測試、條件覆蓋測試、分支/條件覆蓋測試、條件組合覆蓋測試及基本路徑測試。
1.軟件測試與維護基礎教程,機械工業出版社,黃武
2.軟件測試技術基礎教程,電子工業出版社,顧海花
3.軟件測試,清華大學出版社,周元哲
測試規劃是基於產品的功能,目的是檢查程序各個功能是否可以實現,並檢查其中的功能錯誤,這種測試方法稱爲黑盒測試(Black-box Testing)方法。
黑盒測試又稱爲功能測試、數據驅動測試和基於規格說明的測試。它是一種從用戶觀點出發的測試,通常被用來確認軟件功能的正確性和可操做性。
黑盒測試的基本觀點是:任何程序均可以看做是從輸入定義域映射到輸出值域的函數過程,被測程序被認爲是一個打不開的黑盒子,黑盒中的內容(實現過程)徹底不知道,只明確要作到什麼。
�黑盒測試主要根據規格說明書設計測試用例,並不涉及程序內部構造和內部特性,只依靠被測程序輸入和輸出之間的關係或程序的功能設計測試用例。
1.黑盒測試的特色:
(1)黑盒測試與軟件的具體實現過程無關,在軟件實現的過程發生變化時,測試用例仍然可使用。
(2)黑盒測試用例的設計能夠和軟件實現同時進行,這樣可以壓縮總的開發時間。
2.黑盒測試的具體技術方法:
●邊界值分析法
●等價類劃分法
●因果圖法
●決策表法
測試規劃基於產品的內部結構進行測試,檢查內部操做是否按規定執行,軟件各個部分功能是否獲得充分使用,則這種測試方法稱爲白盒測試(White-box Testing)方法。
白盒測試又稱爲結構測試、邏輯驅動測試或基於程序的測試,通常用來分析程序的內部結構。
白盒測試將被測程序看做一個打開的盒子,測試者可以看到被測源程序,能夠分析被測程序的內部結構,此時測試的焦點集中在根據其內部結構設計測試用例。
白盒測試要求是對某些程序的結構特性作到必定程度的覆蓋,或者說這種測試是「基於覆蓋率的測試」。
一般的程序結構覆蓋有:
●語句覆蓋
●斷定覆蓋
●條件覆蓋
●斷定/條件覆蓋
●路徑覆蓋
1.8、黑盒測試與白盒測試的比較
單元測試:針對每一個單元的測試, 以確保每一個模塊能正常工做爲目標。
集成測試:對已測試過的模塊進行組裝,進行集成測試。目的在於檢驗與軟件設計相關的程序結構問題。
確認(有效性)測試:是檢驗所開發的軟件可否知足全部功能和性能需求的最後手段。
系統測試:檢驗軟件產品可否與系統的其餘部分(好比,硬件、數據庫及操做人員)協調工做。
驗收(用戶)測試:檢驗軟件產品質量的最後一道工序。主要突出用戶的做用,同時軟件開發人員也應有必定程度的參與。
測試所獲得的用例測試報告、BUG報告,須要進行反饋和最後的歸檔,歸檔的工做按照項目計劃中所規定的內容進行,反饋的工做在測試項結束後,整理成測試總結報告後進行,具體的日期,在項目計劃中有規定。
不一樣階段的測試,都須要重複以上的步驟。
其餘必要的數據整理的工做,由項目經理在進行過程當中進行安排。
NextDate是一個有三個變量(月份、日期和年)的函數. 函數返回輸入日期後面的那個日期. 變量月份、日期和年都具備整數值,且知足如下條件:
c1. l≤月份≤12
c2. 1≤日期≤31
c3. 1812≤年≤2012
#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; }
黑盒測試(等價類劃分+邊界值分析+決策表方法)
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
用例列表及其執行結果:
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程序流程圖
1.語句覆蓋測試用例:
本次測試中的壓力測試是指模擬實際應用的軟硬件環境及多用戶訂單提交過程的系統負荷,運行測試軟件來測試被測系統的可靠性,同時還要測試被測系統的響應時間。根據課題的要求,進行上機實驗調試,掌握軟件測試的基本步驟和方法,掌握實際軟件工程中與軟件測試有關的相關文檔的編制。
經過這次軟件測試的課程設計,深入學習掌握了軟件測試和軟件測試過程的基本方法和基本技術,關於黑盒、白盒的測試用例的設計,也進行了認真學習研究,從而進一步提升了本身在程序上的編寫能力,以及一些以前未觸及的問題,爲即將踏上社會的本身又作了一份理論和實踐的準備。
參考文獻
⑴專(譯)著:[序號] 著者.書名(譯者)[M].出版地:出版者,出版年:起~止頁碼.
⑵期 刊:[序號] 著者.篇名[J].刊名,年,卷號(期號):起~止頁碼.
⑶論 文 集:[序號] 著者.篇名[A]編者.論文集名[C] .出版地:出版者,出版者. 出版年:起~止頁碼.
⑷學位論文:[序號] 著者.題名[D] .保存地:保存單位,授予年.
⑸專利文獻:[序號] 專利全部者.專利題名[P] .專利國別:專利號,出版日期.
⑹標準文獻:[序號] 標準代號 標準順序號—發佈年,標準名稱[S] .
⑺報 紙:[序號] 責任者.文獻題名[N].報紙名,年—月—日(版次).
⑺網絡資料:[序號] 具體網址.