測試計划、過程和結果
后端壓力測試
測試結果
| 並發用戶數: | 200 |
|---|---|
| 測試所用時間: | 35s |
| 測試接口數: | 35 |
測試說明
- 並發用戶數200,每個用戶連續訪問50次,對總共35個接口進行了測試,測試共耗時35s。
- 每個接口測試的吞吐量、平均延遲、最短延遲、最長延遲等指標的詳細信息可以點擊這里下載查看。
前端測試
授權登錄與權限檢查
- 當且僅當用戶同意授權登錄我們的小程序時,才能使用我們的小程序。
- 目前在alpha版中,用戶只有一種類型即微信用戶。
功能測試
對三個方面進行了測試:
- 頁面內部功能測試,按照下表中的功能樹進行檢查。
- 頁面之間互相影響的測試點。
- 頁面跳轉。
| 頁面 | 功能描述 | 驗收標准 |
|---|---|---|
| 登錄 | 授權登錄 | 1.用戶第一次登錄時,當且僅當用戶點擊了授權登錄按鈕並同意授權后,才可跳轉至主頁面 2.授權登錄后可以獲取用戶的微信昵稱和頭像並錄入數據庫。 3.用戶非第一次登錄時,無需點擊授權登錄按鈕便會立即重新登錄。 |
| 選擇模板 | 選擇模板,准備繪制圖表 | 四種圖表的模板全部選中之后,才允許繪制圖表 |
| 表格輸入 | 輸入數據、數據增刪改、選中區域 | 1.輸入數據時,無論輸入框的大小是否足夠,應該能夠看到完整的數據信息 2.增刪改行為不能對其他數據產生影響 3.能夠選中特定的區域並進行刪除操作 |
| 繪制圖表 | 對現有的圖表數據進行渲染 | 數據格式正確,能夠正常顯示,能夠拖動 |
| 保存模板 | 保存當前使用模板 | 后端數據庫能夠監測到該行為,打開時能夠正常顯示 |
| 保存數據 | 保存當前使用數據 | 后端數據庫能夠監測到該行為,打開時能夠正常顯示 |
| 保存圖表 | 保存當前使用圖表 | 后端數據庫能夠監測到該行為,打開時能夠正常顯示 |
| 打開文件 | 打開已保存文件、數據、圖表 | 能夠正常接收數據並顯示 |
兼容性測試
- 手機操作系統:對Android手機和IOS手機都進行了測試。
- 微信版本:對微信版本8.0.2/8.0.1進行了測試(考慮到現在幾乎所有用戶都更新了微信8.0,因此沒有對微信7.x版本測試)。
回答課程組問題
測試中發現的bug
后端:
| bug現象 | bug原因 | 是否解決 | 解決方法 |
|---|---|---|---|
| 數據庫更新數據出現問題 | mybatis-plus內置的updatebyId方法 要求數據庫的表中有名為id的字段。 | 已解決 | 改為結合QueryWrapper和update方法來對數據庫進行修改。 |
| 某些方法對數據庫進行操作報錯 | show、precision等字段應該數據庫 內置了,對這些字段的表進行增刪查 改會出現問題。 | 已解決 | 將show、precision等字段改成isVisiible、precisions等其他名字。 |
| sql注入器生成的sql語句缺少主鍵字段 | sql注入器方法中需要使用Mybatis-plus提供的TableInfo(數據庫表信息)類的getFielList方法獲取表中列屬性,但getFieldList 方法無法獲取實體類 中加了@TableId注解的屬性。 | 已解決 | 通過閱讀TableInfo類源碼發現,其屬性allSqlSelect包含了所有的字段名,所有利用該屬性再稍加處理即可解決以上問題。 |
前端:
| bug現象 | bug原因 | 是否解決 |
|---|---|---|
| 當數據組過多時,單元格中的數據不能正常顯示 | 單元格寬度太小不能顯示完整數據 | 是 |
| 當用戶未輸入任何數據時,圖表中會出現一個點 | 數據格式定義的問題 | 是 |
| 刪除數據組時,會同時刪除相鄰列的數據 | 數組元素下標訪問錯誤 | 是 |
| 未選中數據時,不能正常保存數據 | 未考慮未選中數據的默認情況 | 是 |
場景測試
- 基物實驗:
| 用戶信息 | 用戶情況 |
|---|---|
| 姓名 | 小明 |
| 用戶身份 | 北航某需要做基礎物理實驗的學生。 |
| 用戶情況 | 小明每次做基礎物理實驗時,都需要進行復雜繁瑣的數據記錄和處理,飽受折磨,深陷其中,無法解脫。 |
| 用戶動機 | 希望能夠擺脫復雜繁瑣的數據記錄和處理,並希望能夠通過簡單的操作就能夠對基礎物理實驗過程中的數據進行記錄和處理。 |
| 用戶痛點 | 基礎物理實驗的數據記錄往往要經歷從實驗中手寫記錄到手動輸入到Excel表中再到手寫畫圖這樣的重復低效的過程。 |
| 軟件對應功能 | 隨時輸入數據到表格,生成需要的圖;對圖的格式有特殊需求,可以自定義圖模板;對圖可進行滑動操作,表內數據和圖中數據同步更新 |
| 預期使用場景 | 小明又要去做基物實驗,准備好紙筆記錄數據,回來用電腦生成圖表,突然經人介紹發現Sunny圖表這個小程序,使用過后決定帶個手機過去就夠了,再也不用經歷紙筆記錄數據再用電腦生成圖表的繁瑣操作了! |
- 記錄賬單:
| 用戶信息 | 用戶情況 |
|---|---|
| 姓名 | 小新 |
| 用戶身份 | 需要記錄賬單的大學生 |
| 用戶情況 | 平時花錢大手大腳,喜歡在不同的平台買各種各樣的小東西。現在假期快到了萌生了對自己的每月、每周、每天的花費進行匯總記錄,來對自己的賬單進行統一管理和分析,並克制消費,為假期游玩做准備。 |
| 用戶動機 | 希望能夠記錄賬單,並通過圖表等方式進行分析消費記錄,以便克制消費來對生活費進行管理和規划。 |
| 用戶痛點 | 各平台消費記錄和賬單很難進行匯總,而且一般不支持導出圖表。 |
| 軟件對應功能 | 文件管理區可以查看歷史保存的文件,記錄的每筆消費都可以在文件區看到;同一份數據支持以各種圖的形式展示。 |
| 預期使用場景 | 月初了,上個月花銷太大了,而且不清楚花在了哪里,小新決定這個月開始每天都用Sunny圖表記錄一下自己的消費,並在月底通過圖形式看一下自己的消費記錄,更好的規划自己下個月的消費。 |
測試矩陣
| OS | 微信版本 | 登錄 | 主頁 | 選擇模板 | 輸入 | 繪圖 | 保存 | 導出 | 修改 | 打開 | 選擇數據 | 其他 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Android10 | 8.0.0 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 |
| Android10 | 8.0.1 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 |
| ios13 | 8.0.0 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 |
| ios13 | 8.0.1 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 |
| Android9 | 8.0.0 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 |
| Android9 | 8.0.1 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 |
| ios14 | 8.0.0 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 |
| ios14 | 8.0.1 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 |
出口條件
- 兼容性:對Android和IOS操作系統、不同版本的微信都兼容。
- 易用性:底部導航易用,功能入口明顯,交互結果的彈窗提示等。
- 功能正確性:各功能正確,頁面跳轉正確。
