# 測試計劃書 ## 1.簡介 #### 測試計畫將測試方法傳達給團隊成員, 計畫內容包含目標,範圍,時間表,風險和方法。並將清楚地確定測試交付物將是什麼以及在範圍之內和之外的範圍。 ### 1.1 目的 #### 依劇各專案或產品<font color=#0000FF>目的、特性、以及交付性質</font>來決定專案和產品的特性方針、以確認專案或產品的品質如預期交付給客戶。 ### <div id='scope'>1.2 範圍</div> 基於客戶提供的文件以及當下現有的專案或產品系統,進行初步的了解,並分析專案及產品系統的功能以及測試所需的含蓋範圍。提供一個初步測試計畫書, 其中會說明測試的範圍、功能、及項目,並與客戶做確認(參考如下) 。客戶可以以下項目, 決定是否成為該次測試範圍之一。 * 建立測試案例 * 手動執行測試案例 * 產生自動化程式 (Robot Framework + python) (Cypress + JavaScript) * 回歸測試 (Regression Testing) * 驗證問題 (Bug verification) * 壓力測試 (Performance testing) * 效能測試 (Stress testing) * 多國語系測試 (Localization) * 負面測試 (Negative Testing, e.g. 連不到資料庫或者外部使用者無法連到網站…等) * 多瀏覽器測試 (e.g Chrome, Firefox, Edge, safari…) * 手機測試 (e.g. Apple, Android) ### 1.3 角色和責任 | 角色 | 負責工作 | | ---------|-------- | | * 專案經理<br> * 開發工程師 <br> * 品保主管| 1.負責提供相關文件 <br> 2.提供現有的專案或產品系統 <br>3.提供測試(品保)人員所需測試資料 | 測試(品保) 人員 | 依照測試範圍進行,並產出<font color=#0000FF>測試報告</font> ### <div id='scope1'>1.4 前置作業 及 預期的測試執行</div> 此章節主要目的是在於確認測試(品保)人員在測試前, 若需要設置環境,則提前準備測試環境。 以及理解客戶所提供的文件和系統環境能夠正常瀏灠。 在測試當中, 若遇到因為系統錯誤, 或者對於功能/系統 行為有不理解的地方,客戶端需要能夠回覆測試者的疑問。 若測試者無法得到相關資訊, 則會導致某些測試案例無法往下執行 ### 1.5 測試前的驗收標準 此章節列出測試前需要通過的測試案例,否則開發人員需要發佈/修改新版本。若可提供穩定測試環境, 則可忽略此章節 ## 2.測試方法與環境 ### 2.1方法 測試方法會依照客戶所選擇的測試範圍 (<a href="#scope">參考1.2範圍</a>) 以及提供測試時間來做規劃。 主要目的是要盡量建立出含蓋所有功能的測試案例。 建立功能測試案例的方法分成:等類分割、邊界值分析、因果圖、與決策表等四類。(參考: [軟體動態測試](https://chenfuguo.gitbooks.io/fundamentalsoftwaretesting/content/DynamicTesting/Dynamic_Testing.html/) 以上方法會在依照實際專案或產品系統狀況,來採用那些方法可應用在開立測試案例。 ### 2.2 測試環境 會依照測試者手邊有的測試機器來做測試。若客戶有其他需求,會在前置作業(<a href="#scope1">參考1.4前置作業及預期的測試執行</a>) 準備,以便進行相關測試工作。 ### 2.3 測試管理工具和問題追蹤 * 測試管理工具:主要目的在於建立及管理測試案例。(建議使用工具: Test Rail),主要內容包含 * 標題 * 測試步驟 * 預期結果 * 問題追蹤:主要目的在於在測試過程中, 若發現有任何問題, 則可將問題上到系統並做持續追蹤。(建議使用工具:VIP) * 主要內容包含 * 測試環境 * 問題標題 * 問題描述 * 預期結果 * 實際結果 <font color=red>**</font>若客戶端本身己經有測試管理工具或者問題追蹤管理系統,將資訊傳遞給測試(品保)人員,以便作業。 ## 3.測試時程與交付事項 此章節會依照測試的範圍、系統複雜度、以及測試案例個數…等去做整體評估,並與客戶做個溝通協商而做最後決定。 基本上會交付: * 測試計畫 * 測試案例 * 測試報告 剩餘的項目(如自動化程式, 壓力測試, 效能測試….等) 會依照客戶是否有採用(購買) 此服務來決定是否需要交付這些項目的文件以及程式碼。 ## 4. 測試案例、問題優先順序、及問題嚴重程度 測試案例以及問題可分成優先順序與嚴重程度,此分類在測試環節是重要是一環。若在時間以及資源有限情況下, 可依照優先順序以及嚴重程度進行測試以及解決問題。 * 測試案例的優先順序定義 | 優先順序 |優先等級 | 優先順序的描述 | | -------- | -------- | -------- | |P1 |重要 |此類測試案例必須先執行, 若此類型的測試案例執行失敗,會造成使用者無法使用,甚至嚴重影響到客戶。| |P2|中等|該測試用例是為了確保功能已穩定並且必須在可行的情況下運行。但用戶可能會遇到錯誤訊息。 |P3|次等|在時間允許,可以進行這些測試。若時間緊迫下,則不必完成這些測試。此類的測試案例發生錯誤時,對客戶影響不 * 問題優先順序定義 | 優先順序 | 優先等級 | 優先順序的描述 | | -------- | -------- | -------- | | P1 | 緊急 | 需要立即修復,此問題讓使用者無法繼續使用,必須立馬修復發佈新版本。 | |P2 |高度 |此問題不會防礙測試,但會影響到某些主要功能讓測試者中斷測試。可以修復於下個版本。| |P3 |中等 |此問題不會防礙測試,但會影響到次要功能使用。可以修復於下個版本| |P4 |低 |此問題屬於文字上錯誤, 可於日後修改| |P5 |建議 |建議事項,專案內部成員決定是否需要修正。無需立即修改。| * 問題嚴重程度定義 |嚴重順序 | 嚴重等級 | 嚴重順序的描述 | | -------- | -------- | -------- | | S1 | 緊急 | 系統產生此等問題時,會造成系統損壞、資料異常(如數劇丟失)、或文件遺失等情況而需深入調查原因或重啟伺服器等。 | |S2|高度 |主要系統功能因某些原因, 導致測試者無法繼續執行下去。例如:功能不足、錯誤訊息不足或者不清楚。此嚴重程度是可以利用某些方式讓測試者繼續往下執行,但此方式只是暫時性。但利用其他方式往下執行是存在相對困難度。| |S3| 中等|功能上不能正常運作, 但可以使用其他方式讓測試者順利往下執行。| |S4|低 |文件或者文字上的錯誤| ## 5. 測試案例描述 此章節在測試者會依據目前對於專案或產品系統的了解, 列出大方向的功能和測試案例。 描述的內容: * 類型:正反向測試案例 (Positive or Negative) * 測試優先順序 (P1~P3) * 類型 (UI or Functions) * 標題 (Title)
×
Sign in
Email
Password
Forgot password
or
Sign in via Google
Sign in via Facebook
Sign in via X(Twitter)
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
Continue with a different method
New to HackMD?
Sign up
By signing in, you agree to our
terms of service
.