成員:林朝洋 梁翹楚 孟蘇 李景怡 葉沛玟 趙昕穎
目錄:
- 1 引言
- 1.1 編寫目的
- 1.2 項目背景
- 1.3 定義
- 1.4 參考資料
- 2 任務概述
- 2.1 目標
- 2.2 運行環境
- 2.3 條件與限制
- 3 測試計划
- 3.1 測試方案
- 3.2 測試內容
- 3.3 測試准備
- 4 具體測試說明
- 5 評價
- 5.1 范圍
- 5.2 准則
1引言
1.1編寫目的
為了確保項目的可用性以及可靠性,使得項目能夠按質按量的完成,以至於項目成品不會再后期使用以及維護過程中出現極其嚴重的錯誤,我們編寫了此測試計划。本文檔將每一個可用的功能進行盡可能詳盡的測試,並嘗試各種可能的測試用例,找出當前軟件中所存在的漏洞以及不足,為完善軟件提供可參考的文本依據。
預期讀者:開發人員、管理人員、用戶代表、測試人員等。
1.2 項目背景
每日有三問:早飯吃什么?午飯吃什么?晚飯吃什么?
今天吃什么往往是困擾許多人的一個難題。即使是已經大三的我們,也常常陷入不知道吃什么的困境之中。由於武大校園面積大、校園內食堂與附近餐飲店鋪眾多,我們每天在決定吃什么的時候,可選擇的店鋪不在少數。然而由於不同食堂窗口、商家提供的菜品質量、口味不同等原因,許多學生在進行選擇時會出現選擇猶豫症,嘗試新的窗口怕踩雷,而總在一個窗口時間久了卻又覺得厭煩。
因此,我們想到了開發一款可以每天為你規划一日三餐的APP,可以根據用戶以往的習慣、身體狀況、天氣狀況為用戶指定食譜,同時還結合了市面上美食APP的一些功能,讓用戶可以自行尋找感興趣的食堂窗口或商家。
a. 待開發的軟件系統名稱:
b. 本項目提出者:武漢大學計科青鳥開發小組
c. 開發者:武漢大學計科青鳥開發小組
d. 用戶:武漢大學信部學生
1.3定義
【術語1】:數據流圖
數據流圖(Data Flow Diagram,簡稱DFD),是結構化(Structured)方法中用於表示系統邏輯模型的一種工具,它描述系統由哪幾部分組成,各部分之間有什么聯系等,它以圖形的方式描繪數據在系統中流動和處理的過程。
【術語2】:數據字典
數據字典(DD)是對DFD中包含的所有元素的定義的集合,與DFD結合描述系統的邏輯模型。
1.4參考資料
[1]《軟件工程導論》作者:張海藩 出版社:清華大學出版社
[2] 計算機軟件產品開發文件編制指南GB8567-88.
2任務概述
2.1目標
由於時間交為緊迫,本APP暫時將目標用戶定為武大信部學生,將推薦范圍暫定為信部周邊食堂及商家。
相應的需求有:
- 用戶注冊與登錄,修改個人信息等。
- 首次登陸時用戶可以根據系統提示設置自己的喜好或直接跳過,后續也可進行更改。
- 每天自動為用戶生成一日三餐的推薦,並且注明相應信息。若用戶不滿意可以選擇換一換,並且用戶可以對推薦菜品進行反饋。
- 提供探索功能,其中包括系統中所有食堂及商家,用戶可自行篩選和搜索,類似美團中的搜索功能.
另外,該系統還需要保證數據的安全性、完整性和准確性,提供良好的交互界面,保證系統的流暢運行。框架的設計具有一定的可塑性和靈活性,便於系統后續維護。
2.2運行環境
支持環境: Android 8及以上。
數據庫: MYSQL。
支持環境: Android Stdio。
支持環境: JDK。
2.3假定和約束
(1)本系統必須在本學期結束前完成,因開發時間較為緊迫,可以使用小組成員熟悉的編程語言和現有知識進行開發。
(2)用戶要按照操作規程運行本系統,不得進行惡意破壞性操作。
(3)建議該系統最短壽命為5年。
3 測試計划
3.1測試方案
本測試計划采用黑盒測試的方法,采用等價類划分、邊界值測試等方法,設計測試用例,整個過程自底向上,逐步集成,進行人工測試。測試用例的設計應包括正確操作和異常操作。
3.2測試內容

-
注冊&登錄
1)注冊:
目的:測試系統能否判斷輸入的賬號或密碼是合法的,並且賬號是沒有被注冊過的
內容:賬號密碼輸入、合法性檢查、賬號查重2)登錄:
目的:測試系統能否根據賬號密碼正確登錄系統
內容:賬號密碼輸入、合法性檢查、密碼匹配 -
用戶信息管理
1)我的評價:
目的:查看用戶對菜所做過的所有評價,測試能否修改評價
內容:查看評價、修改評價2)我的收藏:
目的:查看用戶收藏的菜品
內容:查看菜品以及詳細信息3)飲食習慣:
目的:測試系統能否在日常使用中判斷出用戶的口味偏好
內容:對菜品做出評價后查看飲食習慣4)賬號管理:
目的:測試系統能否在安全的情況下提供用戶的信息,並且提供修改賬號信息的手段
內容:查看用戶信息、修改用戶信息 -
每日推薦
1)推薦
目的:測試系統能否依次為用戶提供多個推薦菜品
內容:多次刷新菜品2)打分
目的:測試系統能否保存對菜品的評價,以及檢查評價對口味的影響
內容:對推薦的菜品打分,查看評價、口味 -
探索
目的:測試系統能否給出一系列額外推薦菜品,並可以按照篩選條件篩選、排序 內容:對探索內的菜品進行篩選、排序
3.3測試准備
詳細的測試用例,三台安裝了設備端軟件的手機,一台安裝了服務端軟件服務器。
4 具體測試說明
該部分內容針對上述每個測試內容選取測試用例並對輸入、輸出、過程進行詳細的說明,均采用表格形式說明。
4.1 注冊&登錄功能測試
4.1.1注冊功能
有權限用戶:所有用戶
無權限用戶:
步驟 | 正常操作 | 預計效果 | 異常操作 | 預計效果 |
---|---|---|---|---|
輸入賬號 | 輸入未注冊過的11位手機號 | 提示√ | 輸入已經注冊過的手機號或者輸入長度不為11位 | 給出相應的錯誤提示 |
輸入密碼 | 輸入至少6位密碼 | 提示√ | 輸入少於6位的密碼 | 提示密碼過短 |
再次輸入密碼 | 輸入與上一步驟相同的密碼 | 提示√ | 輸入與上一步驟不同的密碼或不輸入 | 給出相應的錯誤提示 |
初次使用時對給出的10個菜品打分,最后點擊提交按鈕 | 為10個菜品打分 | 可以在評價和口味中查看到相應信息 | 不為菜品打分 | 評價和口味中沒有信息 |
4.1.2登錄功能
有權限用戶:已注冊用戶
無權限用戶:未注冊用戶
步驟 | 正常操作 | 預計效果 | 異常操作 | 預計效果 |
---|---|---|---|---|
1 | 輸入已經注冊過的賬號以及對應的密碼,點擊登錄 | 進入主界面 | 輸入賬號沒有注冊過 | 無法進入主界面,提示“用戶名或密碼錯誤” |
2 | 輸入已經注冊過的賬號以及對應的密碼,點擊登錄 | 進入主界面 | 輸入的賬號注冊過,但是密碼與數據庫中存儲的不同 | 無法進入主界面,提示“用戶名或密碼錯誤” |
3 | 輸入已經注冊過的賬號以及對應的密碼,點擊登錄 | 進入主界面 | 輸入賬號不為11位或密碼小於6位 | 無法進入主界面,提示“用戶名或密碼錯誤” |
4 | 輸入已經注冊過的賬號以及對應的密碼,點擊登錄 | 進入主界面 | 連續5次輸入錯誤的用戶名或密碼 | 登錄按鈕冷卻2分鍾無法點擊 |
4.2 用戶信息管理測試
有權限用戶:已注冊用戶
無權限用戶:未注冊用戶
步驟 | 正常操作 | 預計效果 | 異常操作 | 預計效果 |
---|---|---|---|---|
我的評價 | 進入我的評價,查看評價,不做修改 | 能顯示做出過的評價 | 進入我的評價,修改評價 | 提示不能修改評價 |
我的收藏 | 進入我的收藏,查看收藏的菜品信息,取消收藏某些菜品 | 能正常管理收藏的菜品 | 無 | 無 |
飲食習慣 | 進入飲食習慣,查看口味;修改對今日推薦菜品的評價后再次查看口味 | 口味有可能發生變化 | 進入我的評價修改非今日推薦菜品的評價 | 提示不能修改評價 |
賬號管理1 | 進入賬號管理,修改昵稱 | 個人中心的昵稱同步修改 | 無 | 無 |
賬號管理2.1 | 進入賬號管理,點擊修改密碼選項,在輸入原密碼后,同注冊時一樣重復輸入不少於6位的密碼 | 密碼修改成功,下次登錄時只能使用新密碼登錄 | 進入賬號管理,點擊修改密碼選項,輸入錯誤的原密碼 | 提示密碼錯誤,不能修改密碼 |
賬號管理2.2 | 進入賬號管理,點擊修改密碼選項,在輸入原密碼后,同注冊時一樣重復輸入不少於6位的密碼 | 密碼修改成功,下次登錄時只能使用新密碼登錄 | 進入賬號管理,點擊修改密碼選項,正確原密碼,在輸入新密碼時與原密碼相同 | 提示新密碼不能與原密碼相同 |
賬號管理2.3 | 進入賬號管理,點擊修改密碼選項,在輸入原密碼后,同注冊時一樣重復輸入不少於6位的密碼 | 密碼修改成功,下次登錄時只能使用新密碼登錄 | 進入賬號管理,點擊修改密碼選項,正確原密碼,在輸入的新密碼長度少於6位或者兩次輸入不一致 | 提示相應信息 |
4.3 每日推薦功能測試
有權限用戶:已注冊用戶
無權限用戶:未注冊用戶
步驟 | 正常操作 | 預計效果 | 異常操作 | 預計效果 |
---|---|---|---|---|
首次推薦 | 登錄程序,進入主界面 | 顯示出首次推薦給用戶的菜品 | 登陸失敗 | 不能進入主界面 |
再次推薦 | 點擊“來個新的”按鈕 | 推薦的菜品發生改變,與上次推薦的菜品不相同 | 點擊“來個新的”按鈕次數太多 | 推薦的菜品出現重復現象 |
打分 | 點擊推薦菜品的圖片進入打分界面,給該菜品打分 | 該次打分被記錄在我的評價中,並且可能對飲食習慣產生影響 | 無 | 無 |
4.4 探索功能測試
有權限用戶:已注冊用戶
無權限用戶:未注冊用戶
步驟 | 正常操作 | 預計效果 | 異常操作 | 預計效果 |
---|---|---|---|---|
搜索1 | 在搜索框內輸入相應的關鍵字信息 | 列出與輸入關鍵字信息相關的菜品 | 輸入的關鍵字過多或數據庫中沒有相應信息 | 下方不會列出菜品 |
搜索2 | 搜索框中不輸入任何信息 | 列出用戶可能會喜歡的菜品 | 無 | 無 |
篩選 | 點擊篩選按鈕,調整辣、甜、咸,點擊決定按鈕 | 列出的菜品只會出現符合篩選條件的菜品 | 最后沒有點擊決定按鈕 | 列出的菜品不會發生變化 |
排序1 | 點擊“按推薦度升序”(“按推薦度降序”)按鈕 | 列出菜品按照推薦度降序(升序)排列 | 無 | 無 |
排序2 | 點擊“按價格升序”(“按價格降序”)按鈕 | 列出菜品按照價格降序(升序)排列 | 無 | 無 |
查看菜品信息 | 點擊下方列出的某個菜品 | 能查看該菜品的詳細信息 | 沒有菜品被列出 | 不能查看菜品的詳細信息 |
5 評價
5.1 范圍
所選擇的測試用例基本能夠檢查所有功能模塊的正確與否以及所有合法、不合法的輸入,已達到了測試的目標。
局限性在於無法准確觀察到當同時接入系統的人數較多時,系統性能以及出錯率的變化。
5.2 准則
所設計的測試用例應該完全通過測試,結果正確。
查詢等操作響應時間不超過1s。