軟件測試實驗報告(測試計划+黑盒測試+白盒測試)


@@學院

 

軟件測試課程設計報告

 

 

 

 

   目:  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  xpjava): 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  xpc語言):

#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.決策表方法

 

1monthdayyear的有效等價類:

 

M1{monthmonth30}

 

M2{monthmonth31,12月除外}

 

M3{monthmonth12}

 

M4{monthmonth2}

 

D1{day1day27}

 

D2{dayday=28}

 

D3{dayday=29}

 

D4{dayday=30}

 

D5{dayday=31}

 

Y1{yearyear是閏年}      Y2{yearyear不是閏年}

 

2)根據各種有效的輸入情況,程序中可能采取的操作有以下六種:

 

a1:不可能         a2day1        a3day復位

 

a4month1      a5month復位     a6year1 

 

 

 

用例列表及其執行結果:

 

 

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].報紙名,年—月—日(版次).

⑺網絡資料[序號] 具體網址.

 

 

 

 

 

 

 

 

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM