上完軟件測試這門課程,感覺有很大的收穫,對於整個測試流程和如何進行測試都有了一個比較系統的認識。該課程設計是選用智云云盤進行測試。相應的測試流程分別顯示在如下的文檔中,按文檔的時間先後次序。
1.軟件測試計劃書:
軟件測試——智云云盤
測試計劃(v1.0)
組長:newlinfeng 學號:xxxxxxxxxx
組員:xxx 學號:xxxxxxxxxx
組員:xxx 學號:xxxxxxxxxx
組員:xxx 學號:xxxxxxxxxx
目錄
類別:ADD – 增加 MOD – 修改 DEL – 刪除
項目 |
TestPlanV1.0 |
測試計劃的版本 |
V1.0 |
測試計劃的軟件 |
智云云盤 |
測試工具 |
jdk1.8、 Eclipse 、QTP、LoadRunner |
智云云盤 |
智云云盤軟件是集成了web端、pc端、Android端的一款應用型軟件,主要用於服務器虛擬化、桌面雲等產品的儲存分配。該軟件屬於融合雲系統的一個分支。在接近兩年的開發過程中,已經形成了一套完整的雲端類軟件。
|
修訂歷史記錄
版本 |
日期 |
AMD |
修訂者 |
說明 |
1.0 |
2018-10-15 |
ADD |
xxx |
無 |
1.1 |
2018-10-18 |
ADD |
xxx |
無 |
1.3 |
2018-10-30 |
ADD |
xxx |
依據老師要求重新修訂 |
1.4 |
2018-11-07 |
MODIFY |
xxx |
最終定稿 |
智云云盤軟件是集成了web端、pc端、Android端的一款應用型軟件,主要用於服務器虛擬化、桌面雲等產品的儲存分配。該軟件屬於融合雲系統的一個分支。在接近兩年的開發過程中,已經形成了一套完整的雲端類軟件。
基於學習軟件測試的目的,我們組決定在接下來的測試過程中只針對登陸功能(FC001.001)和我的文件下的刪除功能(FC002.002)。
根據小組討論,測試計劃上應須測試如下功能:
- 登陸功能
- “我的文件”下的操作
- “我的共享”下的操作
- “公共共享”下的操作
- “羣組管理”下的操作
- “佈局操作”下的操作
- 退出功能
功能編號 |
子功能編號 |
子功能描述 |
備註 |
FC01(系統登陸) |
FC01.001 |
系統登陸功能 |
無 |
FC02 (我的文件的操作) |
FC02.001 |
“我的文件”下的共享操作 |
無 |
FC02.002 |
“我的文件”下的刪除操作 |
無 |
|
FC02.003 |
“我的文件”下的收藏操作 |
無 |
|
FC02.004 |
“我的文件”下的複製到操作 |
無 |
|
FC02.005 |
“我的文件”下的移動到操作 |
無 |
|
FC02.006 |
“我的文件”下的重命名操作 |
無 |
|
FC02.007 |
“我的文件”下的新建文件夾操作 |
無 |
|
FC02.008 |
“我的文件”下的搜索操作 |
無 |
|
FC02.009 |
“我的文件”下的刷新操作 |
無 |
|
FC03 (我的共享的操作) |
FC03.001 |
“我的共享”下的添加到操作 |
無 |
FC03.001 |
“我的共享”下的取消共享到操作 |
無 |
|
FC03.002 |
“我的共享”下的搜索操作 |
無 |
|
FC03.003 |
“我的共享”下的刷新操作 |
無 |
|
FC04 (公共共享的操作) |
FC04.001 |
“公共共享”下的添加到操作 |
無 |
FC04.002 |
“公共共享”下的取消共享到操作 |
無 |
|
FC04.003 |
“公共共享”下的搜索操作 |
無 |
|
FC04.004 |
“公共共享”下的刷新操作 |
無 |
|
FC05 (羣組管理的操作) |
FC05.001 |
“羣組管理”下的新建操作 |
無 |
FC05.002 |
“羣組管理”下的刪除羣組操作 |
無 |
|
FC05.003 |
“羣組管理”下的搜索操作 |
無 |
|
FC05.004 |
“羣組管理”下的刷新操作 |
無 |
|
FC06 (收藏夾的操作) |
FC06.001 |
“收藏夾”下的取消收藏操作 |
無 |
FC06.002 |
“收藏夾”下的搜索操作 |
無 |
|
FC06.003 |
“收藏夾”下的刷新操作 |
無 |
|
FC07(佈局設置) |
FC07.001 |
“佈局選項”下的色調操作 |
選擇相應的顏色 |
FC08(系統退出) |
FC08.001 |
系統退出功能 |
無 |
依據該智雲網盤系統,我分別羅列出了下面幾個測試的功能點的方法:
序號 |
測試類型 |
子測試類型 |
測試目的 |
是否採用 |
備註 |
1 |
功能性測試 |
無 |
根據系統需求文檔和設計文檔,檢查產品是否這個正確實現該功能 |
是 |
無 |
2 |
黑盒測試 |
無 |
初步決定採用路徑覆蓋法 |
是 |
無 |
3 |
白盒測試 |
無 |
|
是 |
無 |
4 |
用戶界面測試 |
無 |
檢查界面是否合理美觀 |
是 |
無 |
5 |
流程測試 |
無 |
按照操作流程進行測試,主要有業務流程、數據流程、邏輯流程,檢查軟件在流程操作時,是否能夠正確的處理 |
是 |
無 |
6 |
兼容性測試 |
無 |
在不同的瀏覽器上進行測試 |
是 |
無 |
7 |
性能測試 |
無 |
提取系統性能數據,檢查系統是否滿足需求中所規定達到的性能 |
是 |
無 |
8 |
接口測試 |
無 |
檢查系統能否與外部接口正常工作 |
是 |
無 |
9 |
安全性和訪問控制測試 |
無 |
應用程序級別的安全性:檢查用戶只能訪問其所屬用戶類型已被授權訪問的那些功能或數據。 系統級別的安全性檢查只有具備 系統和應用程序訪問權限的用戶才能訪問系統和應用程序。 |
是 |
無 |
下面是我羅列的無需測試的功能點:
- 前端頁面佈局,包括頁面背景調整功能。這個調整代碼有Bootstrap完成的。
- 網盤容量進度條無需測試,這個是JQuery直接生成。
- 上傳、下載操作,因爲只是在數據庫中儲存了一個鏈接,文件儲存都是分佈式存儲的,其上傳下載都是直接調用相應的接口完成,即無需進行測試。
功能編號 |
子功能編號 |
子功能描述 |
備註 |
FC01 (我的文件的操作) |
FC01.N001 |
“我的文件”下的上傳操作 |
無 |
FC01.N002 |
“我的文件”下的下載操作 |
無 |
|
FC02 (我的共享的操作) |
FC02.N001 |
“我的共享”下的下載操作 |
無 |
FC03 (公共共享的操作) |
FC03.N001 |
“公共共享”下的下載操作 |
無 |
某功能點通過的標準是:測試用例正確的執行,與期待的結果一致,沒有發現任何錯誤。在測試用例執行過程中出現一些界面、提示、或者使用不方便等問題且不需要做進一步處理的時候是可以忽略的。
1.測試的中斷標準如下:
- 集成測試用例設計未通過評審,關鍵路徑上未能覆蓋完整。
- 所有源代碼和可執行代碼已經建立受控基線,納入配置管理受控庫,不經過審批隨意的更改。
- 測試環境沒能按照生產環境的標準或者比例進行正確的調和,導致產生嚴重的測試環境缺陷。
- 測試沒能達到用戶要求的測試覆蓋率的要求。
測試完成後,我們組所提交的材料包括測試工作所有的開發文檔、工具等。開發文檔有測試計劃、測試設計規格說明、測試用例、測試日誌、測試數據、測試缺陷報告、測試總結報告。工具包括網上的一些測試工具和自定義的測試工具。
針對智云云盤web端v1.0“我的文件”下的刪除操作進行測試,從功能性測試、黑盒測試、用戶界面測試、系統測試中的性能測試等測試方法入手,通過一些如apache-bench、loadRunner、junit等工具自動化測試工具來執行測試,保證系統代碼編寫質量符合規格說明書要求和用戶驗收要求。
下表列出了測試的系統環境:
軟件環境(相關軟件、操作系統等) |
Windows10操作系統 |
Eclipse、loadRunner、QTP、junit、StartUML、MySQL5.5、以及一些自定義工具 |
Centos 7.5 |
硬件環境(網絡、設備等) |
騰訊云云服務器 |
ThinkPadE555 |
網絡無特殊要求 |
人員配置 |
測試小組由4人組成,每人都參加從測試到文檔寫作整個流程 |
十二.測試人員的工作職責
工作 |
相關人員 |
前期工作準備和測試對象選擇 |
小組全體人員 |
制定測試計劃 |
newlinfeng |
設計測試用例 |
小組全體人員 |
執行測試用例 |
小組全體人員 |
項目溝通 |
小組全體人員 |
測試缺陷報告 |
小組全體人員 |
測試總結報告 |
小組全體人員 |
全體人員除編寫測試計劃由組長負責外,都將參與實際的測試中去,都將參與測試用例設計、測試缺陷報告、測試總結報告的寫作
全體人員需培訓使用QTP、LoadRunner、apache-bench、junit等測試軟件,學會設計測試用例並執行測試用例,學會黑盒測試、白盒測試、壓力測試等常用的測試方式。
風險描述 |
影響程度 |
應對措施 |
測試時間有限 |
嚴重 |
推遲上線或加班 |
測試人員不足 |
嚴重 |
無 |
代碼編寫質量 |
嚴重 |
無 |
缺陷修改進度 |
嚴重 |
無 |
迴歸測試不充分 |
一般 |
無 |
案例功能點覆蓋率未能達到100% |
一般 |
無 |
測試案例不能100%執行 |
一般 |
無 |
開發計劃變更 |
嚴重 |
無 |
需求變更 |
嚴重 |
無 |
十六.審批
軟件名稱 |
智云云盤 |
項目經理 |
李林峯 |
|
版本 |
v1.0 |
完成日期 |
2018-11-13 |
|
測試情況 |
測試人員意見: |
□同意 □不同意 簽名:__________ 日期:__________ |
||
□同意 □不同意 簽名:__________ 日期:__________ |
||||
□同意 □不同意 簽名:__________ 日期:__________ |
||||
□同意 □不同意 簽名:__________ 日期:__________ |
||||
審覈情況 |
審覈人員意見: |
□同意 □不同意 簽名:__________ 日期:__________ |
||
□同意 □不同意 簽名:__________ 日期:__________ |
1.軟件測試用例設計:
軟件測試——智云云盤
測試用例規格說明(v1.0)
組長:newlinfeng 學號:xxxxxxxxxxx
組員:xxx 學號:xxxxxxxxxxx
組員:xxx 學號:xxxxxxxxxxx
組員:xxx 學號:xxxxxxxxxxx
目錄
3.6 下面針對模擬500個用戶同時發出500個請求進行輸出說明: 23
3.7 利用python腳本將獲取數據進行簡單數據分析.... 24
本文檔是測試人員完成測試工作的重要依據,測試人員根據測試用例文檔完成測試工作,提高測試效率。
本文檔包括文檔介紹和測試用例。測試用例包括如下幾個部分:
- 黑盒測試用例
- 白盒測試用例
- 系統性測試
本文檔的主要讀者是:
- 測試工程師
- 項目經理
[1]佟偉光. 軟件測試技術(第二版)[M]. 北京:人民郵電出版社,2009.2) 《軟件測試技術》:人民郵電出版社 佟偉光著
[2] 傅兵.軟件測試基礎教程 [M]. 北京:清華大學出版社,2009.2) 《軟件測試技術教程》:清華大學出版社 傅兵著
[3] 王先國.Uml統一建模實用教程 [M]. 北京:清華大學出版社,2009.2) 《UML統一建模實用教程》:清華大學出版社 王先國著
白盒測試 |
按照程序內部的結構測試程序,檢驗程序中的每條通路是否都能按預定要求正確工作,而不顧它的功能 |
黑盒測試 |
不涉及程序的內部結構和內容特性,主要根據規格說明,只依靠被測試程序的輸入和輸出之間關係或程序的功能來設計測試用例。 |
系統測試 |
是對整個系統的測試,將硬件、軟件、操作人員看作一個整體,檢驗它是否有不符合系統說明書的地方 |
測試用例 |
是爲某個特殊目的而編制的一組測試輸入、執行條件及預期結果,一遍測試某個程序路徑或覈實是否滿足某個特定需求 |
用例標誌符 |
含義 |
US1 |
測試刪除一個只存在於我的文件下的文件 |
US2 |
測試刪除一個存在於我的共享下的文件 |
US3 |
測試刪除一個存在於羣共享下的文件 |
US4 |
測試刪除一個存在於我的共享和我的文件下的文件 |
US5 |
測試刪除一個存在於我的文件和羣共享下的文件 |
US6 |
測試刪除一個存在於我的文件,我的共享,羣共享下的一個文件 |
US7 |
測試刪除一個空文件 |
1.黑盒測試輸入規格說明
1.1.測試方法選用
等價類劃分法將程序所有可能的輸入數據(有效的和無效的)劃分成若干個等價類。然後從每個部分中選取具有代表性的數據當做測試用例進行合理的分類,測試用例由有效等價類和無效等價類的代表組成,從而保證測試用例具有完整性和代表性。
由於等價類是在軟件測試計劃書的基礎上進行劃分的,並且等價類劃分不僅可以用來確定測試用例中的數據的輸入輸出的精確取值範圍,也可以用來準備中間值、狀態和與時間相關的數據以及接口參數等,所以等價類可以用在系統測試、集成測試和組件測試中,在有明確的條件和限制的情況下,利用等價類劃分技術可以設計出完備的測試用例。這種方法可以減少設計一些不必要的測試用例,因爲這種測試用例一般使用相同的等價類數據,從而使測試對象得到同樣的反映行爲。
1.2.等價類劃分表
刪除文件A1 |
存在我的文件 |
不在我的文件 |
||
刪除文件A2 |
存在我的共享 |
3 |
不在我的共享 |
4 |
刪除文件A3 |
存在羣共享 |
5 |
不在羣共享 |
6 |
1.3測試用例
用例編號 |
輸入 |
編號 |
US1 |
刪除文件A1 |
1,4,6 |
US2 |
刪除文件A2 |
3,1,6 |
US3 |
刪除文件A3 |
5,1,4 |
US4 |
刪除文件A1,A2 |
1,3,6 |
US5 |
刪除文件A1,A3 |
1,5,4 |
US6 |
刪除文件A2,A3 |
1,3,5 |
US7 |
刪除空文件 |
2,4,6 |
2.白盒測試輸入規格說明
2.1用例設計方法:
程序流程圖à程序活動圖à路徑覆蓋法
2.2程序流程圖
標識說明:
<1>.判斷條件:
描述 |
|
A |
判斷文件或文件夾是否選擇 |
B |
判斷點擊事件返回結果 |
C |
如果是非共享文件,則爲真,執行流程1 |
D |
如果不是自己共享的文件,則爲真,執行流程2 |
E |
如果是自己共享的文件,則爲真,執行流程3 |
F |
如果存在共享文件,則爲真,執行流程4 |
G |
如果流程1、2、4生成的字符串爲空,則爲真,執行流程5 |
H |
如果流程2生產的字符串非空,則爲真,執行流程6 |
I |
如果流程4產生的字符串非空,則爲真,彈出彈框,否則結束 |
J |
如果點擊事件返回值爲真,則執行流程8,否則執行流程7 |
K |
如果字符串failure2爲空,則執行流程5,否則執行流程6 |
<2>.流程:
流程 |
描述 |
1 |
在success字符串中加入當前文件名,刷新列表 |
2 |
在failure字符串中加入當前文件名 |
3 |
在isShared字符串中加入當前文件名 |
4 |
|
5 |
告知用戶刪除成功 |
6 |
告知用戶刪除失敗 |
7 |
在failure2字符串中加入當前文件名 |
8 |
在success2字符串中加入當前文件名,刷新列表 |
<3>.循環條件
條件 |
描述 |
循環1 |
遍歷用戶選中的文件數組 |
循環2 |
遍歷用戶選中的共享文件數組 |
<4>.按鈕說明
點擊“按鈕”會執行連接數據庫的操作,通過查詢共享文件表返回當前用戶共享文件數組。
2.3程序活動圖
2.4 路徑覆蓋法確定測試用例
<1> 用例數量:1+3*2*2*2+3*2*2*2*2*2=121。
<2> 條件取值表:若取值爲空,則表示不執行。
條件 |
取值 |
路徑描述 |
文字描述 |
A |
0 |
A->結束 |
真 |
1 |
A->B |
假 |
|
B |
0 |
B->C->1 |
C爲真 |
1 |
B->D->2 |
D爲真 |
|
2 |
B->E->3 |
E爲真 |
|
F |
0 |
F->G |
假 |
1 |
F->4->G |
真 |
|
G |
0 |
G->H |
假 |
1 |
G->5->H |
真 |
|
H |
0 |
H->I |
假 |
1 |
H->6->I |
真 |
|
I |
0 |
I->結束 |
假 |
1 |
I->B->J |
真 |
|
J |
0 |
J->7 |
假 |
1 |
J->8 |
真 |
|
K |
0 |
K->6 |
假 |
1 |
K->5 |
真 |
<3>. 篩選用例:分成3部分:
- 1個:選擇1個
條件取值 |
執行路徑 |
有效性 |
TC |
|||||||
A |
B |
F |
G |
H |
I |
J |
K |
|||
0 |
|
|
|
|
|
|
|
A->結束 |
有效 |
001 |
- 3*2*2*2個:選擇2個
條件取值 |
執行路徑 |
有效性 |
TC |
|||||||
A |
B |
F |
G |
H |
I |
J |
K |
|||
0 |
0 |
0 |
0 |
0 |
|
|
A->B B->C->1 F->G G->H H->I Ià結束 |
無效 |
|
|
1 |
0 |
0 |
0 |
1 |
0 |
|
|
A->B B->C->1 F->G G->H H->6->I I->結束 |
無效 |
|
0 |
0 |
1 |
0 |
0 |
|
|
A->B B->C->1 F->G G->5->H H->I I->結束 |
有效 |
002 |
|
1 |
0 |
0 |
1 |
1 |
0 |
|
|
A->B B->C->1 F->G G->5->H H->6->I Ià結束 |
無效 |
|
1 |
0 |
1 |
0 |
0 |
0 |
|
|
A->B B->C->1 F->4->G G->H H->I I->結束 |
無效 |
|
1 |
0 |
1 |
0 |
1 |
0 |
|
|
|
無效 |
|
1 |
0 |
1 |
1 |
0 |
0 |
|
|
|
無效 |
|
1 |
0 |
1 |
1 |
1 |
0 |
|
|
|
無效 |
|
1 |
1 |
0 |
0 |
0 |
0 |
|
|
A->B B->D->2 F->G G->H H->I Ià結束 |
無效 |
|
1 |
1 |
0 |
0 |
1 |
0 |
|
|
A->B B->D->2 F->G G->H H->6->I I->結束 |
有效 |
003 |
1 |
1 |
0 |
1 |
0 |
0 |
|
|
|
無效 |
|
1 |
1 |
0 |
1 |
1 |
0 |
|
|
|
無效 |
|
1 |
1 |
1 |
0 |
0 |
0 |
|
|
|
無效 |
|
1 |
1 |
1 |
0 |
1 |
0 |
|
|
|
無效 |
|
1 |
1 |
1 |
1 |
0 |
0 |
|
|
|
無效 |
|
1 |
1 |
1 |
1 |
1 |
0 |
|
|
|
無效 |
|
1 |
2 |
0 |
0 |
0 |
0 |
|
|
|
無效 |
|
1 |
2 |
0 |
0 |
1 |
0 |
|
|
|
無效 |
|
1 |
2 |
0 |
1 |
0 |
0 |
|
|
|
無效 |
|
1 |
2 |
0 |
1 |
1 |
0 |
|
|
|
無效 |
|
1 |
2 |
1 |
0 |
0 |
0 |
|
|
|
無效 |
|
1 |
2 |
1 |
0 |
1 |
0 |
|
|
|
無效 |
|
1 |
2 |
1 |
1 |
0 |
0 |
|
|
|
無效 |
|
1 |
2 |
1 |
1 |
1 |
0 |
|
|
|
無效 |
|
- 3*2*2*2*2*2個:
根據第二部分經驗,前六個條件取值固定爲兩種。
條件取值 |
執行路徑 |
有效性 |
TC |
|||||||
A |
B |
F |
G |
H |
I |
J |
K |
|||
0 |
0 |
1 |
0 |
1 |
0 |
0 |
A->B B->C->1 F->G G->5->H H->I I->B->J J->7 K->6 |
有效 |
004 |
|
0 |
1 |
|
|
|
||||||
1 |
0 |
|
|
|
||||||
1 |
1 |
A->B B->C->1 F->G G->5->H H->I I->B->J J->8 K->5 |
有效 |
005 |
||||||
1 |
1 |
0 |
0 |
1 |
1 |
0 |
0 |
A->B B->D->2 F->G G->H H->6->I I->B->J J->7 K->6 |
有效 |
006 |
0 |
1 |
|
|
|
||||||
1 |
0 |
|
|
|
||||||
1 |
1 |
A->B B->D->2 F->G G->H H->6->I I->B->J J->8 K->5 |
有效 |
007 |
<4>.初步測試用例表
條件取值 |
執行路徑 |
有效性 |
TC |
|||||||
A |
B |
F |
G |
H |
I |
J |
K |
|||
0 |
|
|
|
|
|
|
|
A->結束 |
有效 |
001 |
1 |
0 |
0 |
1 |
0 |
0 |
|
|
A->B B->C->1 F->G G->5->H H->I I->結束 |
有效 |
002 |
1 |
1 |
0 |
0 |
1 |
0 |
|
|
A->B B->D->2 F->G G->H H->6->I I->結束 |
有效 |
003 |
1 |
0 |
0 |
1 |
0 |
1 |
0 |
0 |
A->B B->C->1 F->G G->5->H H->I I->B->J J->7 K->6 |
有效 |
004 |
1 |
0 |
0 |
1 |
0 |
1 |
1 |
1 |
A->B B->C->1 F->G G->5->H H->I I->B->J J->8 K->5 |
有效 |
005 |
1 |
1 |
0 |
0 |
1 |
1 |
0 |
0 |
A->B B->D->2 F->G G->H H->6->I I->B->J J->7 K->6 |
有效 |
006 |
1 |
1 |
0 |
0 |
1 |
1 |
0 |
0 |
A->B B->D->2 F->G G->H H->6->I I->B->J J->8 K->5 |
有效 |
007 |
<5>.測試用例表(加入循環考慮)
循環情況 |
循環次數 |
執行路徑 |
有效性 |
TC |
無循環 |
無 |
Aà結束 |
有效 |
001 |
循環1 |
0 |
|
無效 |
|
1 |
A->B B->C->1 F->G G->5->H H->I I->結束 |
有效 |
002 |
|
A->B B->D->2 F->G G->H H->6->I Ià結束 |
有效 |
003 |
||
2 |
A->B B->C->1 B->C->1 F->G G->5->H H->I I->結束 |
有效 |
004 |
|
A->B B->C->1 B->D->2 F->G G->5->H H->I I->結束 |
有效 |
005 |
||
A->B B->D->2 B->D->2 F->G G->H H->6->I I->結束 |
有效 |
006 |
||
循環1、循環2 |
0 |
|
無效 |
|
1 |
A->B B->E->2 F->G G->5->H H->I I->B->J J->7 K->6 |
有效 |
007 |
|
A->B B->E->2 F->G G->5->H H->I I->B->J J->8 K->5 |
|
|
||
2 |
A->B B->E->2 F->G G->5->H H->I I->B->J J->7 J->7 K->6 |
有效 |
008 |
|
A->B B->E->2 F->G G->5->H H->I I->B->J J->8 J->8 K->5 |
有效 |
09 |
||
A->B B->E->2 F->G G->5->H H->I I->B->J J->7 J->8 K->5 |
有效 |
010 |
<6>.用例輸入
TC |
輸入值 |
001 |
Rows.length=0 |
002 |
Rows.length=1、data.result=true |
003 |
Rows.length=1、data.result=false |
004 |
Rows.length=2、data.result=true、data.result=true |
005 |
Rows.length=2、data.result=true、data,result=false |
006 |
Rows.length=2、data.result=false、data,result=false |
007 |
Rows.length=1、data.result=””、data.result=true、 |
008 |
Rows.length=2、data.result=””、data.result=”” data.result=false、data.result=false |
009 |
Rows.length=2、data.result=””、data.result=”” data.result=true、data.result=true |
010 |
Rows.length=2、data.result=””、data.result=”” data.result=true、data.result=false |
3.系統測試輸入規格說明
由於此次我們只是對系統單一模塊“刪除文件”進行性能測試,所以我們選擇了apache-bench進行壓力測試。
3.1模擬100個用戶同時發出100個請求:
ab -n 100 -c 100 http://localhost:8080/CloudDiskSSMB/file/deleteFile.do?fileID=240
3.2模擬200個用戶同時發出200個請求:
ab -n 200 -c 200 http://localhost:8080/CloudDiskSSMB/file/deleteFile.do?fileID=240
3.3模擬300個用戶同時發出300個請求:
ab -n 300 -c 300 http://localhost:8080/CloudDiskSSMB/file/deleteFile.do?fileID=240
3.4模擬400個用戶同時發出400個請求:
ab -n 400 -c 400 http://localhost:8080/CloudDiskSSMB/file/deleteFile.do?fileID=240
3.5模擬500個用戶同時發出500個請求:
ab -n 500 -c 500 http://localhost:8080/CloudDiskSSMB/file/deleteFile.do?fileID=240
1.黑盒測試輸出規格說明
用例編號 |
輸出 |
US1 |
提示文件是否刪除,確認刪除後,提示刪除成功,並在回收站保留7天 |
US2 |
提示文件已被共享,確認刪除後,提示刪除成功並在回收站保留7天 |
US3 |
提示文件已被共享,確認刪除後,提示刪除成功並在回收站保留7天 |
US4 |
提示文件是否刪除,提示文件已被共享,確認刪除後,提示刪除成功並在回收站保留7天 |
US5 |
提示文件是否刪除,提示文件已被共享,確認刪除後,提示刪除成功並在回收站保留7天 |
US6 |
提示文件是否刪除,提示文件已被共享,確認刪除後,提示刪除成功並在回收站保留7天 |
US7 |
提示選擇需要刪除的文件 |
2.白盒測試輸出規格說明
3.系統測試輸出規格說明
3.1 100個用戶下進行壓力測試所得的結果
3.2 200個用戶下進行壓力測試所得的結果
3.3 200個用戶下進行壓力測試所得的結果
3.4 400個用戶下進行壓力測試所得的結果
3.5 500個用戶下進行壓力測試所得的結果
3.6 下面針對模擬500個用戶同時發出500個請求進行輸出說明:
- 最大併發量:500
- 完成所有請求所花費的時間:0.087s
- 完成請求數:500
- 失敗請求數:0
- 平均沒秒可迴應請求數:5731次(相當於loaderunner裏的每秒事務數)
- 每次併發請求時間:87.232ms(相當於loaderunner平均事務響應時間)
- 每一次請求時間(平均併發時間):0.174ms
連接時間(ms):
|
最小值 |
平均值 |
標準差 |
中位數 |
最大值 |
網絡連接 |
0 |
0 |
0.3 |
0 |
1 |
系統處理 |
17 |
46 |
15.6 |
46 |
73 |
等待時間 |
0 |
373 |
18.8 |
37 |
70 |
總時間 |
17 |
46 |
15.6 |
46 |
73 |
整個場景響應時間(ms):
50% 46 50%的請求在46毫秒內完成
66% 54 66%的請求在54毫秒內完成
75% 59 75%的請求在59毫秒內完成
80% 61 80%的請求在61毫秒內完成
90% 67 90%的請求在67毫秒內完成
95% 70 95%的請求在70毫秒內完成
98% 72 98%的請求在72毫秒內完成
99% 72 99%的請求在72毫秒內完成
100% 73 100%的請求在73毫秒內完成 (最長請求時間)
繪出併發訪問量與每秒事務數間的關係圖:
從圖像中可看出隨着併發訪問量的增加,服務器響應每秒事務數大致成線性下降趨勢。到併發量到達300以後,下降趨勢放緩。但併發量到達400以後,服務器每秒能響應的事務數急劇下降。
繪出併發訪問量與平均事物相應時間的關係圖:
從圖像中可明顯看出隨着併發訪問量的增加,服務器平均事務響應時間成線性增加趨勢。併發量到達400以後,平均事務響應時間的增長趨勢更高。
繪出併發訪問量與平均併發時間的關係圖:
從圖像中可看出隨着併發訪問量的增加,服務器響應平均併發時間大致成線性上升趨勢。到併發量到達300以後,上升趨勢放緩。但併發量到達400以後,服務器每秒能響應的事務數急劇上升。
從總體來看,不難看出併發量400是個關鍵點。一旦併發量達到400以後,服務器的性能明顯下降。由於我們系統使用的服務器是tomcat,這也與tomcat支持的併發訪問量相符。
測試環境 |
硬件:I7 8.0GB處理器 軟件:windows10操作系統、jdk1.8,MySQL |
測試所需工具 |
Eclipse、junit、QTP、LoadRunner,Chrome瀏覽器 |
在測試中無特殊規程要求。
3.軟件測試缺陷報告:
軟件測試——智云云盤
缺陷報告 (v1.0)
組長:xxx 學號:xxxxxxxxxx
組員:xxx 學號:xxxxxxxxxx
組員:xxx 學號:xxxxxxxxxx
組員:xxx 學號:xxxxxxxxxx
目錄
缺陷編號 |
測試階段 |
描述 |
DE001 |
白盒測試 |
QTP刪除文件成功後,在回收站存在文件回收異常 |
DE002 |
系統測試 |
性能測試時,服務器反應時間低於標準反應時間 |
缺陷編號 |
DE001 |
DE002 |
輸入 |
“我的文件”下一個隨機選定文件 |
登錄 |
期望結果 |
“我的文件”無選定文件,“回收站”有此僅有一個選定文件 |
<500ms |
實際結果 |
“我的文件”無選定文件,“回收站”存在有多個相同選定文件的可能 |
>1s |
首次出現日期 |
2018-11-10 晚上8:32 |
登錄時出現 |
出現頻率 |
0.4 |
1 |
軟件環境(相關軟件、操作系統等) |
Windows10操作系統 |
Eclipse、loadRunner、QTP、junit、StartUML、MySQL5.5、以及一些自定義工具 |
Centos 7.5 |
硬件環境(網絡、設備等) |
騰訊云云服務器 |
ThinkPadE555 |
網絡無特殊要求 |
人員配置 |
測試小組由4人組成,每人都參加從測試到文檔寫作整個流程 |
- DE001再現測試記錄
步驟 |
文字描述 |
再現測試 |
第一步 |
輸入用戶名、密碼登錄 |
|
第二步 |
選定“我的文件”下的隨機文件 |
|
第三步 |
執行刪除操作 |
|
第四步 |
查看“回收站” |
- DE002再現測試記錄:無需記錄
原因:下表爲服務器信息詳情表,由於資金限制,無法達到該應用的服務器最低需求,纔會導致上述缺陷
主機名 |
u672au547du540d |
狀態 |
運行中 |
地域 |
廣州 |
可用區 |
廣州三區 |
主機類型 |
標準型S2 |
操作系統 |
CentOS 7.5 64位 |
鏡像id |
img-oikl1tzv |
CPU |
1 |
內存 |
2 |
帶寬 |
1 |
公網IP |
193.112.75.101 |
內網IP |
172.16.0.15 |
系統盤類型 |
CLOUD_BASIC |
系統盤大小 |
50 |
所屬網絡 |
Default-VPC |
所在子網 |
Default-Subnet |
關聯vpc |
Default-VPC |
3.測試人員
軟件名稱 |
智云云盤 |
項目經理 |
newlinfeng |
|
版本 |
v1.0 |
完成日期 |
2018-11-13 |
|
測試情況 |
測試人員意見: |
□同意 □不同意 簽名:__________ 日期:__________ |
||
□同意 □不同意 簽名:__________ 日期:__________ |
||||
□同意 □不同意 簽名:__________ 日期:__________ |
||||
□同意 □不同意 簽名:__________ 日期:__________ |
4.見證人
軟件名稱 |
智云云盤 |
項目經理 |
李newlinfeng |
|
版本 |
v1.0 |
完成日期 |
2018-11-13 |
|
見證情況 |
見證人員意見: |
□同意 □不同意 簽名:__________ 日期:__________ |
||
□同意 □不同意 簽名:__________ 日期:__________ |
缺陷編號 |
嚴重程度 |
DE001 |
嚴重 |
DE002 |
一般 |
4.軟件測試總結報告:
軟件測試——智云云盤
缺陷報告(v1.0)
組長:xxx 學號:xxxxxxxxxx
組員:xxx 學號:xxxxxxxxxx
組員:xxx 學號:xxxxxxxxxx
組員:xxx 學號:xxxxxxxxxx
目錄
項目 |
TestSummaryV1.0 |
測試總結的版本 |
TS1.0 |
測試總結的軟件 |
智云云盤 |
測試工具 |
jdk1.8、 Eclipse 、QTP、LoadRunner |
本次智云云盤測試工作基本完結,刪除功能測試的目標已經完成,本次測試從功能性、可靠性、完備性等方面進行測試。學習使用QTP,LoaderRunner等軟件測試工具,熟悉軟件測試的文檔撰寫與過程,熟練運用本學期學習到的軟件測試方法。力求解決測試中出現的bug,給予用戶更好的體驗和更舒適的體驗,讓滿足用戶基本體驗的前提下使操作更加簡單明瞭,更加人性化。同時爭取進一步增強軟件的性能。
在本次智云云盤測試工作中,測試目標只是在對軟件在性能方面進行測試,希望在極端情況下軟件刪除功能性能出現異常,但在本次測試中,發現本軟件在刪除文件後,有時會在回收站裏面顯示2個具有相同FileID屬性的文件,與預期目標存在差異
本次測試從2018年10月18日開始至2018年11月13日結束,共計歷時28天,測試功能點爲刪除操作,執行測試用例17個(白盒測試10個,黑盒測試7個)。按照甘特圖里程碑進行測試,各階段皆能夠按時完成,整體測試效果良好,小組成員合作完成,各司其職。
1.未解決的意外事件
執行刪除操作時,刪除文件後,文件裏面可能存在2個具有相同FileID屬性且放入到回收站的時間幾乎相同的文件。
2.已解決的意外事件
階段 |
意外事件 |
解決方法 |
黑盒測試 |
黑盒測試用例設計較少且簡單 |
使用QTP進行自動化測試 |
白盒測試 |
使用QTP無法捕獲代碼中的數據 |
通過代碼debug調試實現白盒測試 |
系統測試 |
loadRunner壓力測試軟件環境要求較高 |
使用apache-bench代替loadRunner |
本次測試小組成員通力合作,共同完成本次軟件測試,每個成員都參與到本次軟件測試的每一步驟中,使得每個成員都很清楚每一步的具體工作流程,小組會議時都能提出自己的見解和思路,這也使得本次軟件測試比較順利。
- 刪除共享文件時,可以在彈出框中明確顯示出“該文件存在我的共享,是否確定刪除”還是“該文件存在公共共享,是否確定刪除”,這樣可以更加方便用戶在做刪除操作時,不清楚文件的存放位置,提高用戶使用該系統的簡明性。
- 可配置tomcat的server.xml文件來優化tomcat服務器的性能,給用戶更好的體驗。
活動 |
總結 |
白盒測試 |
採用路徑覆蓋法,共設計出10個有效用例,覆蓋率95% |
黑盒測試 |
採用等價類劃分方法,供設計出5個有效用例 |
系統測試 |
採用apache-bench進行分別對100、200、400、500用戶進行壓力測試。 |
軟件名稱 |
智云云盤 |
項目經理 |
李林峯 |
|
版本 |
v1.0 |
完成日期 |
2018-11-13 |
|
測試情況 |
測試人員意見: |
□同意 □不同意 簽名:__________ 日期:__________ |
||
□同意 □不同意 簽名:__________ 日期:__________ |
||||
□同意 □不同意 簽名:__________ 日期:__________ |
||||
□同意 □不同意 簽名:__________ 日期:__________ |
||||
審覈情況 |
審覈人員意見: |
□同意 □不同意 簽名:__________ 日期:__________ |
||
□同意 □不同意 簽名:__________ 日期:__________ |