日常測試工作中,或多或少有聽說過測試策略的術語,一開始所理解的概念比較模糊,很容易和測試計畫、測試方案混淆,但這個東東實實在在的貫穿在測試過程中不可忽略。鑑於此,對實際工作的相關場景作一些簡單的梳理和總結,以作參考,不完善之處後續再作優化。
一、測試計畫
測試計畫:是對測試全過程的組織、資源、原則等進行規定和約束,並制定測試全過程各個階段的任務以及時間進度安排,並提出對各項任務的評估、風險分析和管理需求。簡言之,測試計畫是從管理角度對整個測試活動進行規劃和控制。制定測試計畫所包含的內容,主要有:
1.概述
專案背景、測試範圍(所需測試的特性)、參考文件(需求文件、會議記錄、同類專案的參考說明)
2.組織形式
測試涉及人員及其職責的劃分
3.測試範圍
確定被測特性有哪些,然後按照功能性、非功能性的分類,對系統模組&子模組進行劃分,重要級別的設定
4.測試通過與否的標準
根據對測試系統的預判,與專案經理協商並由其確認來定義專案通過&不通過的準則(如:測試覆蓋率、缺陷修復率...)
5.測試掛起&恢復條件
1)測試掛起:考慮測試過程中發生一些內外部問題致使測試受阻,用例無法執行的情形,由專案經理確認
2)測試恢復:導致阻塞的問題確認已被修復後,由專案經理確認恢復測試
6.測試進度人力分布計畫
計畫編制原則:
1)盡量準確預估整個測試活動所需的人力和持續時間
2)講乙個階段分成若干個能進行有效監控的小階段
3)計畫結構和進度須清晰明了,便於閱覽、檢查
4)結構包括:任務、負責人、檢查人、時間進度條
二、測試方案
測試方案:是描述被測物件需要測試的特性、測試的方法、測試環境的規劃、測試工具的設計和選擇、測試用例的設計方法、測試**的設計方案。簡言之,測試方案是從技術角度對整個測試活動進行規劃和控制。制定測試方案所包含的內容,主要有:
1.概述
說明此專案將要採取哪些測試手段與方法
結構包括:功能性/非功能性-系統模組&子模組、測試要點、測試要點說明、測試資料描述、優先順序、測試方法、用例設計方法
4.測試風險評估與預防測試計畫提出「做什麼」,測試方案明確「如何做」,測試方案需要在測試計畫的指導下進行。
三、測試策略
測試策略:如何用盡量少的資源來盡量好的完成測試,給測試活動提供技術上的明確指導,以便測試活動的實施者能夠很快的開展自己的工作。從巨集觀角度來看,網路上部分文章中的測試策略是站在全域性整體的角度上進行考慮,為了增加對測試策略的多層面了解,此時可以作簡要總結,如下:
測試策略:在不同的專案背景下,根據產品需求和指標,分析產品的功能項和業務邏輯,並判斷測試的重點和方向,在當前有限的條件下,統籌各方資源、採取合理有效的方法來推動專案的測試活動開展,以最少的軟硬體、人力資源投入得到最佳的測試效果,達到符合當前環境的最優決策。
而從微觀角度來看,測試策略可以歸屬到測試方案中的乙個重要組成項,通過採用有效的測試手段與方法,對產品模組&子模組進行劃分,明確測試要點,然後按照功能性與非功能性(易用性、相容性、效能、安全性...)的分類,明確所採用的測試方法(黑盒/白盒/單元/整合/系統/回歸/驗收...)、用例設計方法(等價類、邊界值、流程分析法、),並設定不同的測試優先順序,從而指導後面編寫測試用例等工作的開展
測試策略描述測試工程的總體方法和目標
描述目前在進行哪一階段的測試(單元測試、整合測試、系dao統測試)以及每個階段內在進行的測試種類(功能測試、效能測試、覆蓋測試等)。
測試策略的制定主要包含三個方面的內容:
(1)確定測試過程要使用的測試技術和工具;
(2)制定測試啟動、停止、完成標準;
(3)進行風險分析和應對方案。例如測試與外部介面或者模擬物理損壞、安全性威脅。測試計畫最關鍵的一步就是將軟體分解成單元,按照需求編寫測試計畫。
測試策略描述了軟體開發過程中進行測試方法,用來告訴測試過程中所有可能的參與者,測試活動應該如何進行。其中主要會包括測試目標,測試新功能的方法,測試專案的時間和資源,以及測試環境等等。
除此以外,測試策略應該描述測試過程中存在哪些風險,以及如何能夠規避或者降低這些風險。同時,測試策略也會提到測試的級別,哪些測試應該被執行,入口出口條件是什麼。建立測試策略時候我們可以參考各種需求文件和設計文件。
(1)測試級別:常見的測試級別有單元測試,整合測試和系統測試。大部分的測試組織裡面,單元測試由開發負責,而整合測試和系統測試由測試部門或者質量保證部門負責。
(2)角色與職責:需要在測試策略裡面明確定義各個角色,以及該角色的職責。比如專案經理,測試組長,測試工程師…
(3)環境需求:這一點非常重要,它將描述測試時需要的系統環境,包括軟硬體以及網路環境等等。在澄清環境需求的時候,測試組織可以識別出資源方面的風險。
(4)風險分析:影響測試過程的風險都應該盡早被識別出來,而且必須有相應的解決辦法以便消除或者減輕這些風險。
(5)測試進度:測試進度將會評估完成測試所需要的時間。在設定進度的時候,首先需要明確測試範圍,然後根據測試資源的多少來制定能被各方面認可的測試進度計畫。做乙個非常準確的進度計畫是困難的事情,因為測試過程中充滿了各種不確定性,所以一般計畫者需要考慮增加一定的buffer。當然,制定進度計畫的時候可以參考已有的專案的資料。如果是乙個全新的軟體專案,專家認為將初始計畫的時間翻倍比較靠譜!
(6)回歸測試方法:回歸測試用來保證之前fix bug的**不會影響軟體的其他部分,這樣需要我們選擇已經執行過的測試用例重新執行。測試人員需要找到乙個方法來確定哪些測試用例應該在回歸測試中執行,用例不能太多,因為資源有限,用例也不能太少,否則會達不到必須的測試強度。不過,如果測試部門對待測系統以及軟體架構非常了解的話,就比較容易找到合適的回歸測試集合。
(7)測試範圍:這個沒啥好說的,就是你要測試的內容,可能是某些模組,可能是某些指標,比如功能,效能,易用性…
(8)測試優先順序:測試範圍內的東西不會都是一樣重要的,加上測試資源各種有限,所以為測試排定優先順序是十分的必要。
測試計畫與測試策略
測試目的 這裡的目的是指測試計畫文件要達到的目的。制定測試目標要從以下方面著手 1.理解系統 2.及早介入 3.理解企業文化和過程 4.測試期望 5.吸取教訓 6.工作量大小 7.解決方案的型別 8.技術選擇 9.預算 10.時間表 11.分階段的解決方案 測試專案簡介 1.產品規格 產品名稱 製造...
測試計畫和測試方案區別
關於測試計畫和測試方案的區別,這裡主要從編寫目的 定義和層次 編寫時間和依據 軟體過程 文件內容這五方面來說明,具體內容如下 一 編寫目的 制定測試計畫目的 按照所制定的測試計畫可以有效的計畫 執行 跟蹤 組織和管理測試專案。具體從一下三方面來說 1,領導能夠根據測試計畫做巨集觀調控,進行相應資源配...
測試計畫編寫策略
測試計畫描述了如何進行測試,有效的測試計畫會驅動測試工作的完成,使測試執行 測試分析以及測試報告的工作開展更加順利。一 測試計畫的重要性和目的 1 測試計畫的重要性 測試計畫是在軟體測試中最重要的步驟之一,它在軟體開發的前期對軟體測試做出清晰,完整的計畫,不光對整個測試起到關鍵性的作用,而且對開發人...