博客目錄html
在正式發佈前,爲檢驗後端各接口功能的正確性,後端服務器對壓力的耐受程度,以及前端各頁面、功能的運行狀況,咱們對咱們的服務器及小程序進行了多種測試。除去隨開發進行的基本正確性測試外,針對上述三種情形,咱們分別進行了單元測試、壓力測試以及功能測試。前端
單元測試的主要目的,是測試後端全部接口的工做是否正常。其內容主要包含兩方面:
- 接口在正常狀況下是否能發揮預期功能
- 接口在異常狀況下是否能返回預期錯誤信息數據庫
Gamma階段的全部單元測試與Alpha、Beta階段相同,在pycharm下使用Coverage工具進行測試。通過修改後已經經過了全部單元測試。小程序
在Gamma階段,咱們依舊針對每個接口都設計了相應的單元測試。如今,三個階段單元測試的總數高達203個。
後端
在運行完全部單元測試後,單元測試的代碼覆蓋率高達96%,切實確保了全部接口的正確性。
服務器
單元測試中發現的bug以下:微信
接口 | 現象 | 緣由 | 是否解決 |
---|---|---|---|
/mcm/invite/<int:user_id>/ |
調用接口時返回錯誤碼500 | 數據庫操做時搜索的鍵名錯誤 | 是 |
/mcm/invitations/send/ |
後端返回的邀請信息全是本身的信息,實際上應爲被邀請者的信息 | 對數據庫搜索到的數據進行的索引錯誤 | 是 |
/mcm/accept/<int:invitation_id>/ |
贊成後未加入隊伍 | 更新數據庫是未進行保存 | 是 |
/mcm/quit/ |
用戶退出隊伍後未成爲單人隊伍的隊長 | 未更新用戶身份字段 | 是 |
/mcm/accept/<int:invitation_id>/ |
邀請贊成後被邀請者仍能在邀請列表裏看見 | 未對被邀請者可見的邀請信息進行過濾 | 是 |
/mcm/invite/<int:user_id>/ |
可以邀請隊友 | 發出邀請是應過濾現有隊友 | 是 |
/my/profile/modify/ |
沒法修改我的資料 | account超出最大長度限制 | 是 |
/mcm/search/user/ |
返回的user_id不正確 | 返回的user_id爲整數,應改成string類型 | 是 |
/mcm/match/ |
返回的推薦用戶中包含本身 | 沒有設置相關的查詢過濾條件 | 是 |
/mcm/search/user/ |
沒法獲取name參數 | name參數在url中,不能從body中獲取 | 是 |
/mcm/match/ |
獲取推薦用戶時沒有正確過濾已發送邀請的用戶 | 設置的相關查詢過濾條件不正確 | 是 |
/mcm/quit/ |
用戶做爲隊員退出某一隊伍單獨一人時未自動成爲隊長 | 缺乏對數據表中相關字段的設置 | 是 |
/mcm/invite/<int:user_id>/ |
調用接口時返回錯誤碼500 | 數據庫操做時搜索的鍵名錯誤 | 是 |
/mcm/invitations/send/ |
後端返回的邀請信息全是本身的信息,實際上應爲被邀請者的信息 | 對數據庫搜索到的數據進行的索引錯誤 | 是 |
/mcm/accept/<int:invitation_id>/ |
贊成後未加入隊伍 | 更新數據庫是未進行保存 | 是 |
/mcm/quit/ |
用戶退出隊伍後未成爲單人隊伍的隊長 | 未更新用戶身份字段 | 是 |
/mcm/accept/<int:invitation_id>/ |
邀請贊成後被邀請者仍能在邀請列表裏看見 | 未對被邀請者可見的邀請信息進行過濾 | 是 |
/mcm/invite/<int:user_id>/ |
可以邀請隊友 | 發出邀請是應過濾現有隊友 | 是 |
表中詳細列出的BUG的現象及具體緣由,目先後端發現的全部BUG均已解決。併發
進行的壓力測試與Beta階段使用相同工具。基本參數以下:iphone
進行壓力測試後的結果以下:
工具
對於前端的功能測試,仍採用與Alpha階段相同的方式,即在不一樣的機型、不一樣的操做系統下,對每一個頁面的每一個功能進行一一測試,以檢測其功能的正確性。前端功能測試的測試矩陣以下:
測試矩陣 | 功能測試 | 頁面顯示 | |||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
測試機型 | 測試環境 | 登陸 | 搜索 | 查看分類標籤 | 首頁智能推薦 | 修改我的信息 | 修改簡歷 | 查看招募 | 發佈招募 | 查看個人發佈 | 採納申請 | 申請招募 | 查看個人申請 | 填寫美賽我的信息 | 填寫美賽問卷 | 換一批推薦 | 退出隊伍 | 邀請推薦隊友 | 查看已發邀請 | 查看收到邀請 | 接受和拒絕邀請 | 搜索用戶 | 頁面排版 |
Redmi K20 Pro | Android 9.0 | 無問題 | 無問題 | 無問題 | 無問題 | 無問題 | 無問題 | 無問題 | 無問題 | 無問題 | 無問題 | 無問題 | 無問題 | 無問題 | 無問題 | 無問題 | 顯示的人錯誤(偶爾) | 無問題 | 無問題 | 無問題 | 無問題 | 無問題 | 無問題 |
Mi6 | Android 9.0 | 無問題 | 無問題 | 無問題 | 無問題 | 無問題 | 無問題 | 無問題 | 無問題 | 無問題 | 無問題 | 無問題 | 無問題 | 無問題 | 無問題 | 無問題 | 顯示的人錯誤(偶爾) | 無問題 | 無問題 | 無問題 | 無問題 | 無問題 | 無問題 |
Honor Play | Android 9.0 | 無問題 | 無問題 | 無問題 | 無問題 | 無問題 | 無問題 | 無問題 | 無問題 | 無問題 | 無問題 | 無問題 | 無問題 | 無問題 | 無問題 | 無問題 | 顯示的人錯誤(偶爾) | 無問題 | 無問題 | 無問題 | 無問題 | 無問題 | 無問題 |
IQOO | Android 9.0 | 無問題 | 無問題 | 無問題 | 無問題 | 無問題 | 無問題 | 無問題 | 無問題 | 無問題 | 無問題 | 無問題 | 無問題 | 無問題 | 無問題 | 無問題 | 顯示的人錯誤(偶爾) | 無問題 | 無問題 | 無問題 | 無問題 | 無問題 | 無問題 |
iphone7 | IOS | 無問題 | 無問題 | 無問題 | 無問題 | 無問題 | 無問題 | 無問題 | 無問題 | 無問題 | 無問題 | 無問題 | 沒法查看我的簡歷 | 無問題 | 無問題 | 無問題 | 無問題 | 無問題 | 無問題 | 無問題 | 無問題 | 無問題 | 無問題 |
iphone8 | IOS | 無問題 | 無問題 | 無問題 | 無問題 | 無問題 | 無問題 | 無問題 | 無問題 | 沒法查看申請者 | 沒法查看申請者 | 無問題 | 沒法查看我的簡歷 | 無問題 | 無問題 | 無問題 | 退出隊伍有時顯示其餘人 | 無問題 | 無問題 | 無問題 | 無問題 | 無問題 | 無問題 |
從後端的接口測試部分能夠看見,在進行Gamma階段的單元測試時,咱們同時運行了前兩個階段已完成的單元測試,並對測試失敗的接口進行了修正,最後順利經過了Alpha、Beta階段的全部單元測試,保證了前兩個版本功能的正確性。
Gamma階段的出口條件歸納爲:完成一個界面美觀的數學建模比賽組隊模塊。
數學建模模塊的具體功能以下: