# 測試計劃書 ###### tags: `Test` ## 文件版本 #### 有更動請在此記錄更動日期、更動理由和更動的部分 文件版本紀錄: | 更動日期 | 版本 | 更動原因 | 更動人員 | 備註 | | ---- | ---- | ---- | ---- | ---- | | 2021/10/22 | v1.0 | Document Created | 測試組全組 | 在2021/11/11給老師看之前的更動都算此版本,不用特別以新版本記錄 | ## 目錄 [toc] <!-- - 簡介 - 文件目的 - 測試項目 - 系統功能 - 使用者功能 - 非功能需求 - 測試工具 - 測試方法 - 各項目測試詳細步驟 <!-\- 可能會在此列出各項標題,以便閱讀-\-> - 系統測試 - 測試時程安排 - 測試報告 - 追蹤問題 - 測試通過標準 - Reference - 附錄 Appendix a. Test Case List Format --> ## 簡介 此份文件為小絨音箱的測試計劃書,內容包括測試目的、測試項目、測試方法、各項目測試的步驟、時程安排、通過的標準,以及對測試結果的記錄和後續對發現的問題追蹤的安排。 ## 文件目的 本測試計畫書的目的是描述如何透過本計畫書所描述的方式和步驟,以達成以下目的: 1. 確保產品功能符合產品需求規格書(Software Requirement Specification, SRS)所提出的需求 2. 找出系統和各功能中的問題,以協助開發團隊修正 ## 測試項目 - 根據各項功能分別進行測試 - 最後以使用者的角度來使用,對整體系統進行測試(把自己當成使用者,或實際找人來試用) ### 系統功能 <!-- 以下各項可能還需要再細分,目前先以規格書為主大致列出項目--> 1. 初始化設定 <!-- - 第一次開機 - 非預期斷電後再次開機 (如果遇到停電) - 關機後再次開機 <!-- 跟開發團隊、PM討論此狀況(關機) -\-> --> 2. 語音辨識 (Speech to Text) :在測試各項和音箱本體有關聯的使用者功能和設定時會測到,但在第一次測試時會先測試是否能辨認關鍵字。 3. 抓取關鍵字 4. 語音回覆 5. 連接藍牙 6. 重置(恢復原廠設定) - 按鈕長按五秒:燈光變化 - 按鈕長按十秒:進行重置 7. 管理音箱的網站頁面 - 登入 - 設定音箱可連結的Wi-Fi(能否順利連接不同Wi-Fi) - 其他使用者設定(可能尚須細分) 8. 伺服器 - 資料是否有存入資料庫 & 存入資料是否正確 - 重置後資料是否確實刪除 ### 使用者功能 1. 打電話 - 撥給聯絡人 - 撥給非聯絡人 - 撥給指定電話號碼(有連結手機藍牙) - 撥給指定電話號碼(無連結手機藍牙) 2. 播放音樂 - 播放指定歌名 - 暫停播放音樂 - 停止播放音樂 - 繼續播放音樂 - 調整音量 3. 搜尋天氣 - 指定時間和地點 - 僅指定時間 - 僅指定地點 - 不指定時間和地點 <!-- - 查詢 天氣/會下雨嗎 - 指定 時間/區域 - 非指定時間預設當前時間 - 非指定地區預設當前位置 --> <!-- to 高: Sorry 我先註解掉了,這邊我比較想列的是「要測的項目」,但怕上面的資訊你還會用到,我先留著寫其他項的時候希望也是列出要測的細項 --> 4. 問題回答 - 將結果傳至手機(有連接 Line) - 將結果傳至手機(無連接 Line) - 不將結果傳至手機 5. 行事曆 - 給定日期查看行事曆 - 給定日期、時間新增行事曆 - 給定每周時段新增行事曆 - 給定每天時段新增行事曆 - 給定日期、時間新增提醒 - 不給定日期、時間新增提醒 <!-- 以下暫定為隱藏功能 --> <!-- 6. 語音備忘錄 7. 鬧鐘 --> ### 非功能需求 1. 在語速符合SRS上所提到的規定時,回應時間是否符合預期 - 目前標準為:回應時間須小於10秒 2. 輸入同一個指令請用單一語言:輸入音樂的指令可能須排除在外(因為規格書寫中英皆可),其他指令一律限定中文(除非有打算要處理英文的關鍵字) - 此部分需與開發團隊溝通,在生測資前要處理好 ## 測試工具 暫無規劃使用其他工具輔助測試,如果日後有規劃使用會再補上。 ## 測試方法 1. 直接對音箱說話 - 模擬使用者使用 2. 以手機錄製錄音檔,並播放給音箱聽 - 用此方法的原因: (a) 如果以此方式抓到 bug,可重現 bug 給開發人員,協助開發人員尋找和修正 bug (b) 播放錄音檔可以不用一直重複講話,每次講話的環境和狀態也可固定 - 此方法的問題: 根據測試現有市售的智慧音箱得到的結果,對音箱播放錄音檔,音箱不一定會回應,所以錄音檔以保留音箱會有回應的為主 (實驗發現:錄音檔語調抑揚頓挫較明顯時音箱會有反應,但語調較無起伏時音箱無法辨識到。語調較無起伏時,就算是直接對音箱說話,音箱也可能不回應) - 註:計畫使用該方法的目的如上方「用此方法的原因」內所描述,但如果此方法實行上有困難(例如:麥克風收音無法順利接收到錄音檔的內容),則需要語音輸入的部分還是以方法1「直接對音箱說話」為主。 3. 直接操作:不需要用語音操作音箱的部分功能(例如初始化、網站頁面相關項目等,會採取此方法) ## 各項目測試詳細步驟 測試前請先閱讀以下注意事項。 **注意事項:** - 測試前請注意測試的版本 - 需要替找到的問題進行編號和排等級(嚴重程度),等級標準另有訂定,請參考下方「測試報告」章節內的描述 - 每次測試須將發現的問題記錄下來並編號,以利日後統整和追蹤,記錄內容包括使用的測資編號、出問題的步驟、簡述問題內容等... - 測試各項功能前,請確保音箱符合步驟中預設的狀態(例如:已連上網路、已用藍牙連接……等等),且部分測試項目會需要準備手機或是其他可上網的裝置。 - 測試各項功能時,請根據對應項目所寫的步驟操作。如果在某步驟後未出現該步驟預期的結果,請直接跳至最後一步(記錄測試結果),並記錄在哪步遇到問題。 - 測試項目如果有語音回覆(包括提示語[嘿小絨]的回覆),請記得注意回覆時間是否符合上方非功能需求的描述(回應時間須小於10秒),如果未能達到,請先當作不通過,記錄時可描述為「未達到非功能需求」,詳細處理方式待討論。 - 為方便組內統整和產出測試報告,記錄測試結果的方式請參考以下「記錄方法」表格 ##### 記錄方法 | 問題編號 | 問題處理順序 | 問題種類 | 使用測資編號 | 出問題的步驟 | 問題描述 | | :-----: | :----------: | :--------------: | :-------: | :-------: | :------: | | 說明 | 請參考「測試報告:問題/bug處理順序」,填入數字 1~3 | 請參考「測試報告:問題/bug種類」,填入簡寫(如果不確定種類,可以先在「問題描述」欄位描述問題,之後再判斷)| 請填入測資編號 | 請指出出問題的步驟,也可以說在哪兩個步驟間出問題 | 請簡單描述問題(例如:音箱未出現預期的回應……等等的敘述) | | 1 | ... | ... | ... | ... | ... | | 2 | ... | ... | ... | ... | ... | - 前面測過的部分在整合測試時仍需再次測試,以免修改過後原本沒有問題的部分出現問題 - 測試步驟: 1. 根據所要測試的功能,列出步驟(每個步驟需詳細說明) 範例:(以詢問天氣為例) 當音箱已進入可接收正常指令狀態情況下, 測試詢問天氣資訊的測試步驟如下: Step 1: 以提示語呼叫音箱 <font color=green>[嘿小絨]</font> (等音箱回應後) <!-- 注意回應等待時間是否過久 --> Step 2: 用語音呼叫音箱詢問天氣 <font color=green>[今天天氣如何]</font> Step 3: 預期測試結果為... (在預期時間內回覆氣象資訊) Step 4: 無論測試結果符合或不符合 step3 預期的結果都需記錄(記錄測試結果的實際狀況) 2. 各項目測試步驟會依功能不同而有差異,上面1的範例所提的只是一個例子 3. 如果要連續測試多個 test case,且先前的測試過程中有出現問題(未能順利操作到最後一步),則需要將音箱恢復為正常狀態再進行測試(確保每次測試不會受到之前測試結果的影響) ### 初始化設定 測試開始時音箱的狀態:未接上電源,但硬體上已安裝好小絨音箱的系統,且之前未曾使用過此音箱 (如果先前曾使用過此音箱,請先將裝置恢復原廠設定(重置),再繼續操作。) 注意事項: 本項目除了需要音箱本體,也需要連上使用者初始化的網頁頁面,因此需要能連上網路的手機。 且本項測試步驟中需要設定Wi-Fi,請於能順利連上Wi-Fi的環境下進行本測試。 測試步驟: 1. 將小絨音箱接上電源。此時手機的Wi-Fi頁面應該能夠搜尋到小絨音箱,並且連接。 2. 用手機開啟瀏覽器,輸入初始化網頁的網址。 3. - A. 若連接成功,則手機應該會跳出初始化頁面,應出現以下圖片內所示的畫面 ![](https://i.imgur.com/O6dGwMf.png =400x) - B. 若連接失敗,則應該出現以下圖片內所示的畫面 ![](https://i.imgur.com/5CdFGtK.png =400x) 4. (接3.A)點選開始設定後,應出現以下圖片內的畫面,選擇「小絨音箱」要連接的wifi ![](https://i.imgur.com/KHl4Vkl.png =400x) 5. 選擇wifi後,應出現類似以下圖片內所示的畫面 ![](https://i.imgur.com/96w2Yte.png =400x) 6. 若順利連接,應該要出現如以下圖片所示的Google帳號登入畫面 ![](https://i.imgur.com/k8lv5Kf.png =400x) 7. 若順利以Google帳號登入,應進入以下設定頁面,完成設定之後,請點選「下一步」 ![](https://i.imgur.com/ssZ1M84.png =400x) 8. 若完成設定,應出現設定完成介面,且此畫面上應有「完成設定」的按鈕 ![](https://i.imgur.com/GW5kTcc.png) 9. 預期結果:各項步驟的預期結果如上述步驟中的圖片所示。如果是沒有圖片的步驟,請參考文字敘述 10. 記錄以上測試結果 ### 語音回覆 測試開始時音箱的狀態:音箱處於待機狀態(可正常接收指令的狀態) 注意事項: 音箱需連上Wi-Fi,否則可能無法順利獲得預期的結果 測試步驟: 1. 以提示語呼叫音箱 <font color=green>[嘿小絨]</font> 2. 預期結果: - 成功:音箱回覆 <font color=green>[怎麼了]</font> or <font color=red> [沒有連接Wi-Fi] </font> - 失敗:未回覆 3. 記錄以上測試結果 除了提示語呼喚之外,單獨進行此功能測試的預期結果不明(不知道音箱會回覆什麼) 此功能待各項使用者功能完成之後,與使用者功能一併測試 ### 連接藍牙 測試開始時音箱的狀態:音箱處於待機狀態(可正常接收指令的狀態),但藍牙未開啟 注意事項: 需另外準備可進行藍牙配對的手機 測試步驟: 1. 開啟手機藍牙 2. 以提示語呼叫音箱 <font color=green>[嘿小絨]</font> (等音箱回應後) 3. 用語音輸入藍牙連接指令 <font color=green>[幫我開啟藍牙] </font> (此時音箱的藍牙應該已被開啟) 4. 在手機上的藍牙設定頁面應該要出現音箱,且連接名稱應為使用者幫音箱取的名稱 5. 選取欲連接音箱名稱,以連接音箱 6. 預期結果:應與音箱連接成功 7. 記錄以上測試結果 ### 重置(恢復原廠設定) 測試開始時音箱的狀態:音箱處於待機狀態(可正常接收指令的狀態) 測試步驟: 1. 找到音箱上的重置按鈕,按下此按鈕不要放開 (等待5秒鐘後) 2. 請繼續按著按鈕不要放開,此時音箱應發出紅色燈光,系統語音此時也應告知使用者重置即將開始 (再等待10秒鐘後) 3. 待音箱發出綠色燈光,系統語音會告知使用者重置已完成,此時可以放開按鈕 4. 預期結果:重置成功,音箱應回到需要初始化設定的狀態。且上述步驟中所提到之燈光和系統語音也應符合上述步驟中的描述,如果缺少任何一項,請記錄於測試結果中 (理論上應該也要確定伺服器內資料確實刪除,請參考下方對伺服器的說明) 5. 記錄以上測試結果 ### 管理音箱的網站頁面 此頁面應該可進行部分功能設定,但從SRS上的資訊判斷,不確定可管理功能具體包含哪些。此部分在準備測試案例時,會再和設計網站的人員確認。 ### 伺服器 從目前的架構來看,如果要獨立測試伺服器,可能會需要額外的頁面,以便查看資料庫內的資料。目前是否會有此獨立頁面,尚需要與伺服器組討論細節。 如果無額外頁面,需再想辦法確認資料庫內的資料狀態(像上方重置項目,應該需要確認資料有確實刪除),而且伺服器會不便單獨測試。 部分內容可能可以由使用者管理的網站查看,但可能不是所有的項目都能從此頁面看到。 ### 打電話 以下「打電話」相關的子項目,「測試開始時音箱的狀態」皆為「音箱已進入待機狀態(可正常接收指令)」 在測試「打電話」相關的項目前,請準備一隻藍牙功能正常、有SIM卡的手機,且需要先透過藍牙連接此手機。 #### 欲撥打對象為聯絡人(講名字) 測試步驟: 1. 以提示語呼叫音箱 <font color=green>[嘿小絨]</font> (等音箱回應後) 2. 用語音輸入打電話的指令 <font color=green>[幫我打給XXX] (XXX為聯絡人名字)</font> 3. 預期結果:成功以藍牙撥出電話給指定聯絡人,音箱作為藍牙喇叭 4. 記錄以上測試結果 #### 欲撥打對象為非聯絡人(講名字) 測試步驟: 1. 以提示語呼叫音箱 <font color=green>[嘿小絨]</font> (等音箱回應後) 2. 用語音輸入打電話的指令 <font color=green>[幫我打給XXX] (XXX為名字,但此名字不存在於聯絡人清單中)</font> 3. 預期結果: 錯誤訊息回覆 <font color=green> [查無此人] </font> 4. 記錄以上測試結果 #### 直接唸電話號碼(有連結手機藍牙) 測試步驟: 1. 以提示語呼叫音箱 <font color=green>[嘿小絨]</font> (等音箱回應後) 2. 用語音輸入打電話的指令 <font color=green>[幫我撥打0123456789] </font> 3. 預期結果:成功以藍牙撥出電話給指定號碼,音箱作為藍牙喇叭 4. 記錄以上測試結果 #### 直接唸電話號碼(無連結手機藍牙) 測試步驟: 1. 以提示語呼叫音箱 <font color=green>[嘿小絨]</font> (等音箱回應後) 2. 用語音輸入打電話的指令 <font color=green>[幫我撥打0123456789] </font> 3. 預期結果:音箱回覆 <font color=green> [並未連接藍牙] </font> 4. 記錄以上測試結果 <!-- #### 直接唸電話號碼(非十位數) 測試步驟: 1. 以提示語呼叫音箱 <font color=green>[嘿小絨]</font> (等音箱回應後) 2. 用語音輸入打電話的指令 <font color=green>[幫我撥打77496666] </font> 3. 預期結果: - 錯誤訊息回覆 <font color=red> (音箱的回應是?) </font> - <font color=red> Question: 像117(報時)這種三碼的電話會通嗎?還是會報錯</font> 4. 記錄以上測試結果 詢問後確認只要是數字串就可以,不限定十位數了 --> ### 播放音樂 測試開始時音箱的狀態:待機中 #### 指定歌名 測試步驟: 1. 以提示語呼叫音箱 <font color=green>[嘿小絨]</font> (等音箱回應後) 2. 用語音輸入播歌的指令 <font color=green>[播放XXX](XXX為歌名)</font> 3. 預期結果: - 播放音樂 - 錯誤訊息回覆 <font color=green> [查無此歌曲] </font> 4. 記錄以上測試結果 #### 暫停音樂 測試步驟: 1. 以提示語呼叫音箱 <font color=green>[嘿小絨]</font> (等音箱回應後) 2. 用語音輸入暫停指令 <font color=green>[暫停播放]</font> 3. 預期結果:暫停播放音樂 4. 記錄以上測試結果 #### 停止音樂 測試步驟: 1. 以提示語呼叫音箱 <font color=green>[嘿小絨]</font> (等音箱回應後) 2. 用語音輸入停止指令 <font color=green>[停止播放]</font> 3. 預期結果:停止播放音樂 4. 記錄以上測試結果 #### 繼續撥放音樂 測試步驟: 1. 以提示語呼叫音箱 <font color=green>[嘿小絨]</font> (等音箱回應後) 2. 用語音輸入繼續指令 <font color=green>[繼續播放]</font> 3. 預期結果:繼續播放音樂 4. 記錄以上測試結果 #### 調整音量 測試步驟: 1. 以提示語呼叫音箱 <font color=green>[嘿小絨]</font> (等音箱回應後) 2. 用語音輸入音量調整 <font color=green>[小聲一點]</font> 3. 預期結果: - 已為最小音量了:沒有反應(調大聲同理) - 非最小音量:降低音量 4. 記錄以上測試結果 ### 搜尋天氣 測試開始時音箱的狀態:待機中 #### 指定時間和地點 測試步驟: 1. 以提示語呼叫音箱 <font color=green>[嘿小絨]</font> (等音箱回應後) 2. 用語音輸入天氣查詢指令 <font color=green>[幫我查OOOXXX的天氣](OOO為時間XXX為地點)</font> 3. 預期結果:回覆該時該區域根據中央氣象台的天氣預報 4. 記錄以上測試結果 #### 僅指定時間 測試步驟: 1. 以提示語呼叫音箱 <font color=green>[嘿小絨]</font> (等音箱回應後) 2. 用語音輸入天氣查詢指令 <font color=green>[幫我查OOO的天氣](OOO為時間)</font> 3. 預期結果:回覆該時現在位置根據中央氣象台的天氣預報 4. 記錄以上測試結果 #### 僅指定地點 測試步驟: 1. 以提示語呼叫音箱 <font color=green>[嘿小絨]</font> (等音箱回應後) 2. 用語音輸入天氣查詢指令 <font color=green>[幫我查XXX的天氣](XXX為地點)</font> 3. 預期結果:回覆現在該區域根據中央氣象台的天氣預報 4. 記錄以上測試結果 #### 不指定時間和地點 測試步驟: 1. 以提示語呼叫音箱 <font color=green>[嘿小絨]</font> (等音箱回應後) 2. 用語音輸入天氣查詢指令 <font color=green>[幫我查天氣]</font> 3. 預期結果:回覆現在時間當前位置根據中央氣象台的天氣預報 4. 記錄以上測試結果 ### 問題回答 測試開始時音箱的狀態:待機中 #### 將結果傳至手機(有連接 Line) 測試步驟: 1. 以提示語呼叫音箱 <font color=green>[嘿小絨]</font> (等音箱回應後) 2. 用語音輸入問題指令 <font color=green>[幫我查 Google 音箱多少錢]</font> 3. 預期結果: - 回覆該問題在網路上搜尋的答案,並將結果傳送至伺服器頁面首頁及使用者 Line 帳號 - 錯誤訊息 <font color=green>[很抱歉,沒有查到相關資訊] </font> 4. 記錄以上測試結果 #### 將結果傳至手機(無連接 Line) 測試步驟: 1. 以提示語呼叫音箱 <font color=green>[嘿小絨]</font> (等音箱回應後) 2. 用語音輸入問題指令 <font color=green>[幫我查 Google 音箱多少錢] </font> 3. 預期結果: - 回覆該問題在網路上搜尋的答案,並將結果傳送至伺服器頁面首頁 - 錯誤訊息 <font color=green>[很抱歉,沒有查到相關資訊]</font> 4. 記錄以上測試結果 #### 不將結果傳至手機 測試步驟: 1. 以提示語呼叫音箱 <font color=green>[嘿小絨]</font> (等音箱回應後) 2. 用語音輸入問題指令 <font color=green>[幫我查 Google 音箱多少錢]</font> 3. 預期結果: - 回覆該問題在網路上搜尋的答案 - 錯誤訊息 <font color=green>[很抱歉,沒有查到相關資訊]</font> 4. 記錄以上測試結果 ### 行事曆 測試開始時音箱的狀態:待機中 #### 給定日期查看行事曆 測試步驟: 1. 以提示語呼叫音箱 <font color=green>[嘿小絨]</font> (等音箱回應後) 2. 用語音輸入問題指令 <font color=green>[查看11月9號的行事曆]</font> 3. 預期結果: - 念出所有在該日行事曆上的行程 - 錯誤訊息 <font color=green>[無法判別]</font> 4. 記錄以上測試結果 #### 給定日期、時間新增行事曆 測試步驟: 1. 以提示語呼叫音箱 <font color=green>[嘿小絨]</font> (等音箱回應後) 2. 用語音輸入問題指令 <font color=green>[在行事曆上新增11月9號早上10點到12點要報告]</font> 3. 預期結果: - 在行事曆上新增該行程,並回覆 <font color=green>[已完成新增]</font> - 錯誤訊息 <font color=green>[無法判別]</font> 4. 記錄以上測試結果 #### 給定每周時段新增行事曆 測試步驟: 1. 以提示語呼叫音箱 <font color=green>[嘿小絨]</font> (等音箱回應後) 2. 用語音輸入問題指令 <font color=green>[在行事曆上新增每個禮拜二早上10點到12點要上軟工]</font> 3. 預期結果: - 在行事曆上新增該行程,並回覆 <font color=green>[已完成新增]</font> - 錯誤訊息 <font color=green>[無法判別]</font> 4. 記錄以上測試結果 #### 給定每天時段新增行事曆 測試步驟: 1. 以提示語呼叫音箱 <font color=green>[嘿小絨]</font> (等音箱回應後) 2. 用語音輸入問題指令 <font color=green>[在行事曆上新增每天晚上9點到10點要看論文]</font> 3. 預期結果: - 在行事曆上新增該行程,並回覆 <font color=green>[已完成新增]</font> - 錯誤訊息 <font color=green>[無法判別]</font> 4. 記錄以上測試結果 #### 給定日期、時間新增提醒 測試步驟: 1. 以提示語呼叫音箱 <font color=green>[嘿小絨]</font> (等音箱回應後) 2. 用語音輸入問題指令 <font color=green>[11月9日早上10點提醒我要報告]</font> 3. 預期結果: - 回覆 <font color=green>[已完成新增]</font>,並在給定時間前十分鐘出聲提醒 - 錯誤訊息 <font color=green>[無法判別]</font> 4. 記錄以上測試結果 #### 不給定日期、時間新增提醒 測試步驟: 1. 以提示語呼叫音箱 <font color=green>[嘿小絨]</font> (等音箱回應後) 2. 用語音輸入問題指令 <font color=green>[提醒我要帶筆電]</font> 3. 預期結果: - 回覆 <font color=green>[已完成新增]</font>,並在十分鐘後出聲提醒 - 錯誤訊息 <font color=green>[無法判別]</font> 4. 記錄以上測試結果 ## 系統測試 系統測試必須測試的項目包含:初始化設定(包含初始化的網頁)、重置、設定音箱的網頁,以及各項使用者功能在提供正確輸入時,是否能夠正常運作。 測試環境:需要在有穩定的Wifi訊號的地方測試,且能同時提供電源給兩個(含)以上音箱。 同時請自備能連上管理音箱設定網頁的裝置,以便操作網頁。 測試前音箱的狀態: 可能有以下兩種情況 1. 未曾進行初始化設定(未曾使用過或是重置過此音箱) 2. 已經進行初始化設定(已經使用過此音箱) 流程如下: Step 1: 無論是否使用過此音箱,在接上電源後一律須先進行重置。 <!-- ask未初始化可以重置嗎 --> 重置後須確認伺服器中的資料庫內,檔案已確實刪除。 Step 2: 經過前一步驟,無論是否使用過此音箱,都音箱都應進入需要初始化的狀態。請進行初始化(詳細操作請參考「初始化設定」的測試步驟)。 Step 3: 若已初始化完成,此時應可正常使用各項使用者功能。此步驟可由測試人員自由安排測試項目的順序,但請務必列表,以確保沒有遺漏的項目,且確認各功能的最低要求(正常使用和不正常使用的回應)都能夠達成。如果出現問題,請參考上方測試單項功能時所提到的記錄方法。 注意除了音箱本體,也須測試使用者設定的網站。 Optional: 如果時間上許可,可能另外會對系統進行壓力測試(例:在同時間不同地點對不同音箱發出相同命令),以利完善產品需求規格書(SRS)中,確保系統能正常運作的非功能需求。 ## 測試時程安排 由於學期時間有限,所以計劃有可以測的項目做完就可以開始測試。 以下各次測試安排的時間內,包括 <font color=0C9EC9>(1) 進行測試 </font> 以及 <font color=0C9EC9>(2) 產出測試報告</font> 的時間。 目前計畫(根據開發時程排定): ### 第一次測試 預定時程:11/23 (二) ~ 12/13(一) 預定測試項目:初始化設定、語音辨識、語音回覆、連接藍牙、音量調整 預定音箱的系統功能完成。可開始測試音箱本體的系統。(網頁和伺服器部分仍須確認時程) ### 第二次測試 預定時程:12/7 (二) ~ 12/20(一) 預定測試項目:已完成的使用者功能 ### 第三次測試 預定時程:12/21 (二)~ 2022/1/4(二) 預定測試項目:全部(系統測試),包括音箱系統、各項使用者功能、使用者設定的網頁等 預定進行系統測試。詳細內容請參考上方「系統測試」章節。 - 在要測的功能尚未完成之前,可先準備測試案例,以便功能完成後可直接測試 - 目前計畫最後一次測試為系統測試,且預計保留一到兩週給開發人員處理問題(請先以 2022/1/18 當作 Demo 日期) ## 測試報告 - 將每次測試的結果整理成測試報告 - 需要把找到的問題/bug排序,影響較大/較嚴重的問題要先處理 - 測試報告應包含 1. 測試日期 2. 測試人員姓名 3. 測試版本 4. 測試項目、各項目使用的測試案例、是否通過、問題描述 #### 問題/bug處理順序 | 處理順序 | 影響程度 | 說明 | | :-------: | :-------: | ---------------------------------------------------- | | 1 | 最大 | 此問題存在會影響到不只一項功能,可能影響其他功能正常運作 | | 2 | 其次 | 此問題可能影響到特定功能(單項功能),可能造成功能無法正常運作 | | 3 | 較小 | 此問題存在時,功能仍可正常運作,但特定情況可能觸發問題 | #### 問題/bug種類 | 問題種類 | 簡寫 | 說明 | | ------------------ | ---- | ---------------- | | 聲音分析<br>(Voice Identifer) | VI | 檢測環境中喚醒詞 ,<br>ex: 噪音環境(下雨、施工)中呼喚 | | 字詞分析<br>(Voice Accuracy) | VA | 轉換語音中代表詞 ,<br>ex: 查詢什麼是"ㄗㄨㄥˊㄊㄨㄥˇ"(總統)| | 意圖分析<br>(Order Intention) | OI | 篩選命令中關鍵詞 ,<br>ex: 幫我查詢什麼是天氣 / 幫我查詢今天天氣怎麼樣 | | 流程管理<br>Order Management) | OM | 控制背景多指令緒 ,<br>ex: 當前手機藍牙音樂播放,直接語音命令播放| | 記錄管理<br>(Action Feedback) | AF | 記錄帳戶執行歷史 ,<br>ex: 伺服器帳戶登陸紀錄| | 帳戶管理<br>(User Setting) | US | 負責帳戶相關安排 ,<br>ex: 重置初始化| | 服務管理<br>(User Manipulation)| UM | 處理第三方平台指令,<br>ex: 手機藍牙音樂播放、中繼網頁音箱邀請| | 問題分析<br>(Event Report) | ER | 偵查內外部不良因素,<br>ex: 網路環境、音箱狀態報錯| ## 追蹤問題 - 每次測試的結果經過整理後,編號並進行追蹤 - 已經解決的問題經過再次檢查(測試),沒有問題後可通過 ## 測試通過標準 各項測資是否通過的判斷標準:各步驟產生的結果是否和預期結果相同。 系統測試通過標準:在上方「測試報告」章節的「問題/bug處理順序」段落中,所有處理順序為 1 和 2 的問題經過再次檢查且通過,則達到通過標準。 ## Reference - IEEE standard for Software and System Test Documentation ( https://drive.google.com/file/d/1CjQEXsSTlI66AfuQymyfDWF-QOhMhFbZ/view ) ## Appendix ### a. Test Case List Format #### 系統功能 ( System Function ) | 測試案例編號 | 測試功能 | 測資內容 | | :---------------: | :-----: | :-----------: | | Group A (初始化) | - | - | - | | SA-01 | ... | ... | | SA-02 | ... | ... | | ... | ... | ... | | Group B (...) | - | - | | SB-01 | ... | ... | | SB-02 | ... | ... | #### 使用者功能 ( User Function ) | 測試案例(測資)編號 | 測試功能 | 測資內容 | | :---------------: | :-----: | :-----------: | | Group A (打電話) | - | - | - | | UA-01 | 撥給指定對象(聯絡人) | ... | | UA-02 | 撥給指定對象(非聯絡人) | ... | | ... | ... | ... | | Group B (播放音樂) | - | - | | UB-01 | ... | ... | | UB-02 | ... | ... | | ... | ... | ... | | Group C (...) | - | - | | UC-01 | ... | ... | | UC-02 | ... | ... |