【觀隅】Beta階段測試報告
阿新 • • 發佈:2021-06-16
測試報告
專案 | 內容 |
---|---|
這個作業屬於哪個課程 | 2021學年春季軟體工程(羅傑 任健) |
這個作業的要求在哪裡 | 團隊專案-Beta階段測試報告 |
在這個課程的目標是 | 鍛鍊在軟體工程中的團隊協作能力 |
這個作業在哪個具體方面幫助我實現目標 | 通過團隊協作真實開發出一款產品,並在軟體工程的評價體系中對自己進行評價 |
單元測試
我們對後端中與資料庫有關的多數介面進行了細緻的單元測試,總體覆蓋率達到了 96% ,具體覆蓋細節如下:
對於視覺化相關的介面,例如 /parse_engine/
, core/api/items.py
和 core/api/visualization.py
涉及資料集資料(不適合放在倉庫中)和視覺效果的判斷(需要前後端聯調且需要人工判斷),故未進行單元測試的覆蓋。
由於觀隅期望在多平臺都提供良好的本地服務,因此單元測試均分別在Windows和Linux下執行通過。
壓力測試
由於時間緊迫,暫且未做壓力測試,將在後面進行補充。
場景測試
我們按照功能規格說明書的“典型使用者”與“典型場景”兩節構建了常見的 \(4\) 個典型場景,進行了如下測試:
- 使用者1:入門深度學習的高校學生
- 使用者特徵:剛剛接觸深度學習,對資料集只有一個模糊的概念。
- 潛在總量:隨著計算機專業和深度學習越來越熱門,學習這方面的學生會越來越多,而大多數剛入門的學生,對資料集的理解存在較大障礙,需要一款資料集視覺化軟體來幫助理解。所以,這部分使用者的潛在總量會很大。
- 市場比例:20%
- 使用環境:主要是學習場所,例如教室、宿舍、實驗室。
- 動機:在入門深度學習時,往往需要對使用的資料集有直觀的認識,而現有的資料集格式複雜,資料大多以數字、文字這樣的形式體現,無法從現有格式中感性認識資料集,因此,需要將資料集中的資訊直觀表示出來。
- 困難:資料集格式多樣,暫無統一軟體以形象展示
- 偏好:這部分使用者專業知識缺乏,無法對資料集進行專業的操作,因此需要軟體便捷、易上手
- 願意付出的代價:該類使用者使用的功能比較基礎,並且經濟能力有限,為產品付出代價的意願比較小。
- 典型場景:A同學,剛選了一門叫“計算機導論”的課程,就被要是要求實現xxx神經網路的訓練,該同學不太理解資料集中的標註,於是打開了本軟體,匯入下發的標註好的資料集,本軟體提供的視覺化的標註資訊能幫助他快速理解標註的意義,他同時可以和其他同學一起檢視並共同討論,使他更容易的理解課程內容。
- 相關功能:資料集篩選與搜尋,資料集概述,資料集條目總覽,資料集條目詳細視覺化
- 使用者2:模型設計與模型優化等相關從業者
- 使用者特徵:從事的工作與深度學習密切相關
- 潛在使用者:對工作效率要求高的從業者
- 市場比例:35%
- 使用環境:主要是在工作中使用,例如辦公室、家中
- 動機:方便篩選部分資料,檢視其特徵 在用測試集對模型的進行測試時,常常會遇到表現不好的測試資料,需要篩選這部分的資料
- 困難:資料集的篩選清洗需要自行編寫,是重複勞動
- 偏好:特定資料集中進行大量篩選,可能是非公開的
- 願意付出的代價:企業或部門會願意為軟體或功能付費,方式可能是買斷或年付
- 典型場景:B工程師,盯著訓好的目標網路,再看看效果不佳的測試集,無法找出其中的原因。使用本軟體,可以檢視資料集中的標註情況,讓他對難以完成的調優工作有了一絲思路,同時還可以視覺化的與同事講解,交流可能的問題。使他更輕鬆的完成工作。
- 相關功能:資料集條目互動,資訊反饋,使用本地端管理和視覺化資料集,管理團隊成員
- 使用者3:深度學習相關研究者
- 使用者特徵:從事的研究與深度學習密切相關
- 潛在使用者:對工作效率要求高的研究者
- 市場比例:35%
- 使用環境:主要是在實驗室中使用
- 動機:除了篩選資料集的功能外,研究者通常還有發論文的需求,論文中需要將實驗資料、結果等資訊用直觀的方式表示出來,所以研究者需要方便快速的將資料資訊轉化成視覺化的資訊在論文中使用。
- 困難:資料集的篩選和需要自行編寫、資料集的視覺化需要自行編寫,重複勞動
- 偏好:支援多種資料集型別的多種視覺化模式
- 願意付出的代價:實驗室或課題組會願意為軟體或功能付費,實驗室可能是買斷或年付,課題組可能視課題情況而定,可能方式是按月付。
- 典型場景:C研究員,剛讀完頂會的最新paper,準備復現一下實驗,於是先下載了資料集,使用本軟體檢視資料集中的標註情況,同時儲存了一些圖片,為之後的組會presentation,論文中的插圖做了不少準備。本軟體使他更輕鬆的完成科研。
- 相關功能:資料集搜尋,資料集條目總覽,資料集條目詳細視覺化,使用本地端管理和視覺化資料集
- 使用者4:用作教學的教師
- 使用者特徵:課堂內容涉及資料集相關內容,需要讓學生更好的理解與掌握,同時需要方便課堂講解
- 潛在使用者:越來越多的高校開設人工智慧專業與課程,資料集的處理是這些課程中很重要的內容,傳統的資料集形式對學生的理解與老師的講課效果來說都是不盡人意的。
- 市場比例:10%
- 使用環境:主要是在教學中,例如課堂、講座
- 動機:在課堂上用傳統的資料集形式講解,課堂枯燥、學生理解困難,導致課堂效果差,需要以更直觀的方式講解資料集。
- 困難:教室中裝置的侷限性較大
- 偏好:軟體具有豐富的展示形式,可以直觀反映資料集的特徵等資訊。
- 願意付出的代價:課程組會願意為軟體或功能付費,可能方式是買斷或年付。
- 典型場景:D講師,為了在課堂上展示資料集的標註工作,於是打開了本軟體,向同學們展示標註好的視覺化資料集。使用本軟體,讓同學們更容易的理解資料集的標註工作,拉近了師生距離,使用本軟體,讓老師們更輕鬆的完成了教學任務。
- 相關功能:資料集瀏覽,資料集篩選與搜尋,資料集概述,資料集條目總覽,資料集條目詳細視覺化,資料集條目互動,資訊反饋
根據有關測試,觀隅已經能夠較好滿足以上Beta階段的典型使用者和典型場景的需求,可認為通過場景測試。
測試矩陣
我們在不同瀏覽器核心及版本上進行了網頁端的基本功能測試,結果如下:
瀏覽器核心及縮放率 | 資料集瀏覽 | 資料集搜尋與篩選 | 資料集 概述 | 資料集條目總覽 | 資料集條目詳細視覺化 | 資料集條目互動 | 資訊反饋 | 基本管理 | 首頁 |
---|---|---|---|---|---|---|---|---|---|
Chromium 86 (125%) | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 |
Chromium 86 (100%) | 顯示效果一般 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 |
Chromium 86 (150%) | 顯示效果一般 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 |
Firefox 88(125%) | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 |
Safari(125%) | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 |
我們在不同作業系統上進行了部署版的基本功能測試,結果如下:
作業系統 | 資料集瀏覽 | 資料集搜尋與篩選 | 資料集 概述 | 資料集條目總覽 | 資料集條目詳細視覺化 | 資料集條目互動 | 資訊反饋 | 基本管理 | 首頁 |
---|---|---|---|---|---|---|---|---|---|
Windows 10 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 |
Ubuntu 18.04 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 |
Bug記錄
前端
Bug說明 | 原因 | 修復方式 | 結果 |
---|---|---|---|
標籤不能正常顯示,突破了卡片範圍 | CSS錯誤 | 修改了相關CSS | 已修復 |
更新資料集時標籤顯示不正確 | 沒有理解React的渲染機制 | 修改了程式碼邏輯以適應React的渲染策略 | 已修復 |
使用者登入後,選單欄管理中心仍不可用 | 使用靜態配置列表的方式設定選單欄各欄目,map對映後的ReactDOM元素的display屬性是固定的 | 直接在render中新增各欄目元素 | 登陸後可及時響應狀態變化 |
後端介面格式更新時,前端將顯示白屏 | 使用Typescript型別強校驗時,如果介面資料與定義的型別資料不同將引發斷言錯誤 | 使用any或增加判斷邏輯 | 隱藏了不應顯示的頁面 |
資料集資料列表頁沒有點選提示,使用者不知道可以檢視詳細資料集 | 沒有從人機互動的角度增加提示 | 新增滑鼠指標與移入動畫,使資料詳情檢視更加明顯 | 使用者體驗有所改善 |
反饋頁面、管理頁面未限制輸入 | 雖然後端限制了輸入,但前端最好增加限制與提示 | 新增資料校驗、字數限制等 | 問題修復 |
後端
Bug說明 | 原因 | 修復方式 | 結果 |
---|---|---|---|
普通使用者無法正確使用標籤進行資料集篩選 | 錯誤地對某介面的使用者許可權進行了限制 | 取消了有關限制 | 已修復 |
本地部署版本無法啟動 | 命令配置不正確 | 更改了有關命令 | 已修復 |
更新實體時未對重名進行檢測 | 程式碼的條件判斷分支存在疏漏 | 增加了對應的條件判斷分支 | 已修復 |
某介面中沒有返回資料集的概要資訊 | 資料集的序列化器存在遺漏 | 增加了序列化器的對應域 | 已修復 |
增加資料集時必須需要標籤 | 對Django的多對多關係理解不清 | 對Django的資料集模型表進行了限制 | 已修復 |
出口條件
- 系統功能:完成功能規格說明書的"系統功能及驗收標準"一節中的所有功能,並達到驗收標準
模組 | 功能 | 驗收標準 |
---|---|---|
使用者系統 | 實現使用者系統和對應的許可權管理 | 1. 使用者可以註冊、登入 2. 使用者可以建立使用者組 3. 使用者可以在使用者組內為其他使用者設定相應的許可權 |
資料集型別拓展 | 將資料集型別拓展到文字、音訊等資料集上 | 1. 可以對文字資料集進行視覺化展示 2. 可以對音訊資料集進行視覺化展示 |
本地部署端 | 使得使用者可以在本地部署端進行資料集視覺化的檢視,上傳 | 1. 提供可以安裝的本地部署端 2. 使用者可以上傳自己的資料集並對其進行視覺化 |
資料集及其條目篩選 | 使得使用者可以通過標籤、內容等方式對資料集和其中的條目進行篩選 | 1. 為資料集設定相應的標籤,並提供根據標籤篩選的功能 2. 可以根據資料集條目的內容進行篩選 3. 可以組合資料集條目的內容滿足的條件,進行復雜地篩選 |
視覺化頁面提供資料和視覺化的對應 | 使使用者可以在視覺化介面直觀地看到資料和視覺化圖片的對應關係 | 1. 提供資料和視覺化圖片的對應關係 |
視覺效果優化 | 提供更好的首頁展示效果 | 1. 提供一個有良好視覺效果的首頁,對專案進行介紹 |
- 系統性能:資料集概要等介面跳轉流暢,資料集條目載入與渲染等功能耗時不過長
- 在真實測試中不出現以下嚴重Bug(出自技術規格說明書的“真實測試”一節):
- 頻繁的或不知原因的崩潰(包括但不限於閃退、作業系統卡死等)
- 有歧義的文字、圖示、按鈕、提示資訊或亂碼
- 不正常載入的頁面(包括但不限於CSS崩壞、縮放比例不正常等)
- 錯誤顯示的資訊(與團隊預期不符)
- 無效或無響應的按鈕、連結等
根據以上測試,可認為目前觀隅已達到Beta版本的出口條件,故進行釋出。