測試執行教程:包含示例和最佳實踐的綜合指南
測試執行涉及驗證軟件應用程序中每個功能的功能,這些功能被放置在不同的場景中以驗證其在這些情況下的響應。它在測試過程中起著至關重要的作用,可幫助團隊創建滿足最終用戶要求的強大軟件應用程序。
由于測試軟件是一個復雜的過程,測試執行可幫助開發團隊確保效率、可靠性并符合行業標準。這是測試過程的最后一步,通常在創建和審查測試用例之后執行。
什么是測試執行?
測試執行是指執行軟件應用程序的測試用例,以確保它們滿足預先定義的要求和規范。在這種情況下,它將預期結果與實際結果進行比較。測試執行階段是軟件測試生命周期 (STLC)和軟件開發生命周期 (SDLC) 的重要組成部分。它從測試計劃階段的完成開始。
測試腳本準備就緒后,將與開發和業務分析師團隊共享以供審查。然后 QA 會合并必要的更改。這標志著測試設計過程的完成。準備好測試用例后,我們需要讓應用程序準備好啟動測試執行過程。
除了測試用例,軟件構建和測試環境也是測試執行階段的重要方面。
下面列出的是確保測試用例有效執行的要點。
- 確保測試設計(即定義測試用例)是完整的。
- 測試管理工具必須可供使用。
- 跟蹤測試結果和指標的適當工作流程。
- 每個人都應該知道要跟蹤哪些數據。
- 團隊成員必須知道記錄測試和報告錯誤的標準。
測試執行的重要性
測試執行允許軟件團隊達到下一個開發水平,并確保您的項目高效、順利地運行。它還負責確保應用程序在全球市場上的競爭力。當測試執行的預期結果與實際結果相同時,軟件就可以投入市場了。
測試執行評估參與開發過程的所有團隊成員的努力,并回答以下一些問題:
- 是否收集并正確解釋了需求?
- 需求是否正確地融入了設計和架構中?
- 開發團隊的軟件應用是按照這些要求構建的嗎?
測試執行活動
此階段旨在在進入生產之前驗證被測應用程序。為了完成這一階段,測試團隊進行不同類型的測試以確保產品質量。此外,在此過程中還會進行錯誤報告和重新測試。
以下是測試執行階段的重要活動。
系統集成測試
這是被測應用程序的實際驗證開始的階段。系統集成測試是一種黑盒測試技術,用于驗證系統與指定要求和測試用例的兼容性。
缺陷報告
缺陷報告是通過測試或收集客戶反饋并開發產品的新版本來解決客戶強調的問題來識別被測應用程序中的缺陷的過程。復雜的關鍵業務系統中存在數百個缺陷;監控、分析這些缺陷并確定其優先級非常困難。此外,缺陷隨著時間的推移而增加,缺陷監控系統被用來幫助有效地管理它們。
缺陷映射
一旦問題被識別和記錄,它應該被映射到需求可追溯性矩陣中適當的失敗或阻塞的測試用例和需求。缺陷報告者負責這個映射。將測試用例和需求映射到缺陷后,利益相關者可以根據優先級和嚴重性分析并決定是否修復或重新安排缺陷。
重新測試
重新測試是測試單個測試用例的持續實踐,以確保錯誤得到修復,并且軟件應用程序的功能在最終執行中能夠正常運行。此外,Retesting 使用同一套單元測試來確保代碼的功能。換句話說,重新測試是重復相同的手動或自動測試以確保新構建完美運行的過程。
回歸測試
回歸測試是一種在代碼提交后驗證新構建的技術。測試人員在這個過程中的職責是確保沒有由于軟件修改和調整而將新的錯誤引入代碼中。創建回歸測試套件后,您可以使用自動化測試工具將其自動化。但是,它不適用于重新測試。
執行測試的方法
此測試執行教程部分重點介紹執行測試的多種方法。測試人員可以根據自己的需要選擇首選方法。
運行測試用例
這是一種運行測試用例的簡單方法,通常在本地機器上運行。其他測試工件,例如測試計劃、測試腳本、測試環境、測試用例執行記錄和測試套件,可以與測試用例耦合。
運行測試套件
測試套件是測試用例(手動和自動)的集合。啟動套件時,您可以選擇是順序執行還是并行執行測試用例。使用順序套件執行時,您可以選擇在單個測試用例失敗時停止套件的執行。如果最后一個測試用例的成功取決于當前測試用例的成功,這將很有幫助。
運行測試用例執行和測試套件執行記錄
測試執行可以自動執行,也可以手動執行。記錄測試執行是測試過程中的關鍵活動,有助于識別測試用例執行和測試套件執行。遵循測試執行程序非常重要,因為它們有助于使事情井井有條、減少錯誤并提高測試過程的效率。
生成測試結果而不執行
測試結果對于軟件開發過程跟蹤項目進度、識別和解決問題具有重要意義。然而,由于時間和資源有限,執行所有測試用例并不總是可行的。在這種情況下,從未執行的測試用例中生成足夠的測試結果可能是獲得全面測試覆蓋率的有效替代策略。
修改執行變量
在您的測試腳本中,您可以使用執行變量修改特定測試運行的變量。
運行手動和自動測試
執行測試執行的方法有很多種。手動、自動和連續測試是一些最常見的軟件測試方法。
安排測試工件
測試工件在執行測試執行時非常重要,因為它們記錄了先前測試的結果并提供了有關在未來的測試執行中需要測試的內容的信息。測試工件可以包括屏幕截圖、視頻記錄、數據報告等。應安全地存儲測試工件,以便在需要時可以訪問它們。
缺陷追蹤
測試執行和缺陷跟蹤是密不可分的。如果沒有缺陷跟蹤,測試執行往好里說會變得困難,往壞里說是不可能的。如果您不能充分跟蹤測試過程中出現的缺陷,您將無法確定問題出在哪里以及原因,從而無法改進流程。
測試執行指南
在滿足進入標準并交付測試目標后,下一階段是執行測試。下面列出了測試執行過程的一些關鍵點,以幫助您更好地理解。
- 執行測試用例意味著驗證和驗證預先確定的要求。
- 構建(獨立應用程序)是啟動測試執行所必須具備的最關鍵的方面之一。
- 測試執行包括三個階段:測試策略和用例的創建、測試用例的執行以及測試結果的驗證。
- 由于測試執行發生在 QA 測試環境中,因此建議創建專門的開發和 QA 環境,以確保開發團隊對代碼的工作不會發生在同一位置。
- 隨著項目的進展,測試團隊的規模可能會發生變化。在測試執行階段,團隊達到最大規模。
- 根據潛在缺陷和業務需求選擇測試套件。此外,他們與開發和業務團隊共享,以供他們審查和反饋。
- 一組高技能的軟件測試人員通常執行測試執行。
- 測試執行周期由兩輪組成。所有測試套件或用例都在第一個周期中執行,以識別任何阻礙因素或高危缺陷。在第二個周期中,測試人員識別中型錯誤、糾正腳本漏洞并獲得測試結果。
- 還有一個階段;測試準備評審發生在測試執行階段之前和構建部署 (AUT) 之后。它是結束測試設計階段并啟動測試執行階段的過渡步驟類型。
- 一旦構建準備好進行測試,就會執行探索性測試,以在開始下一級測試之前消除任何關鍵缺陷。
- 在部署階段之后,將執行冒煙和完整性測試以確保當前構建正常工作。
- 測試用例執行的輸出以測試報告的形式出現,即錯誤報告或測試執行狀態報告。
- 團隊可以手動或利用自動化工具執行測試。
測試執行期間要考慮哪些方面
測試執行教程部分將介紹執行測試用例的一些先決條件。在開始測試過程之前,QA 團隊必須考慮一些可能影響測試結果的因素。其中一些如下。
- 確保完成測試設計和測試用例創建。
- 根據風險為這個周期選擇測試套件的一個子集。
- 對于每個測試套件,將測試用例分配給測試人員。
- 跟蹤測試狀態、執行測試并持續報告錯誤。
- 識別并解決出現的阻塞問題。
- 報告每日狀態、調整分配并重新評估優先級。
- 分析并報告測試周期的結果。
測試執行狀態
測試執行狀態幫助團隊確定測試完成和成功。測試完成率允許團隊管理測試工作的剩余部分,包括潛在未發現的質量問題的風險。測試成功率有助于團隊確定軟件或系統是否正常運行。必須對測試執行的各種狀態進行分類。
以下是一些最關鍵的執行狀態及其分類。
- 通過:測試程序運行并滿足預期結果。
- 失敗:測試程序運行但不滿足預期結果。
- 不確定:需要進一步分析以確定測試結果。
- 塊:由于未滿足其中一個測試用例要求,因此無法運行此測試過程。
- Deferred:測試過程還沒有執行,將安排在未來的測試發布中執行。
- 進行中:當前正在執行測試程序。
- 未運行:尚未運行測試。
測試執行優先級
在軟件測試方面,在決定測試執行優先級時需要考慮許多因素。為了成功地選擇正確的測試并有效地確定它們的優先級,我們需要知道它們是什么以及它們如何影響測試過程。
測試執行優先級是一個復雜的多維函數,需要考慮眾多因素。雖然在某些行業(例如 FDA)中有正式的計劃,但我認為由于系統、數據和業務目標之間的靈活性和差異,任何軟件測試組織的優先級都不能正式確定。以下是已發現影響測試執行優先級的變量列表:
- 涵蓋的風險
- 涵蓋的平臺
- 測試復雜性
- 測試用例深度
- 測試用例廣度
測試執行周期
軟件測試生命周期是一個迭代的、循環的過程,旨在防止軟件錯誤。測試活動包括分析、計劃、設計、設置、執行和結束測試。同樣,測試執行也是軟件測試生命周期的一部分,在測試生命周期中起著至關重要的作用。
軟件測試生命周期由六個不同的階段組成。
1.需求分析
軟件測試生命周期始于需求分析。作為此階段的一部分,從測試的角度檢查功能性和非功能性需求,以確定可測試的需求。客戶的質量保證團隊與客戶、解決方案架構師、技術主管、業務分析師和其他利益相關者合作,了解客戶的需求并相應地定制測試。
2. 測試計劃
通過需求分析中收集的數據,QA 團隊離規劃測試過程又近了一步。測試計劃或測試策略是軟件測試生命周期中最關鍵的階段。定義了在此階段用于測試軟件的所有測試策略。
測試負責人確定項目的成本估算和此階段的工作量。在這里計劃和制定一系列測試活動以及資源分析,這可以提高計劃階段的效率并有助于實現測試目標。如果沒有有效的工具,軟件測試就無法發揮價值,尤其是在您執行測試自動化時。
此階段包括選擇合適的軟件測試平臺。市場上有許多軟件測試平臺。
3. 測試用例設計與開發
已審查需求,并已制定測試計劃作為響應。是時候發揮創造力并將這種測試方法塑造成測試用例了。測試用例是根據測試策略和特定規范創建和改進的,以檢查和驗證每個測試計劃。
業務分析師可以創建此需求文檔,其中應包含軟件應用程序的所有潛在用戶場景。您可以在獲得需求文檔后設計測試用例。
設計測試用例包括兩個步驟:測試用例的識別和分析。第一階段是發現所有可以覆蓋所有用戶場景的可行測試用例。然后,在審查它們之后,您需要刪除不適合執行、優先級低或可能無法發現任何缺陷的測試用例。當測試設計過程完成后,質量保證團隊開始設計有效的測試用例。
4. 測試環境搭建
在測試用例的設計和開發之后,軟件測試過程需要一個適當的平臺和環境,包括必要和必要的硬件和軟件,以建立和復制理想的條件和環境因素來進行實際的測試活動。
測試環境在此階段搭建。測試環境定義了將用于評估軟件的參數。由于這是一個單獨的活動,它可以與測試用例開發過程一起運行。
測試環境因組織而異。有時,開發人員或測試人員創建測試環境;在其他情況下,客戶根據他們的需要和期望創建測試環境。
當客戶或開發人員設置測試環境時,測試團隊準備進行冒煙測試。冒煙測試旨在通過確定測試環境的就緒性和穩定性來驗證測試環境。
5. 測試執行
QA 團隊現在可以進行一些適當的測試活動,因為他們擁有測試用例、測試數據和測試環境。在這個階段,測試團隊根據前面階段準備的測試用例和測試計劃,如測試計劃和測試用例設計,來執行測試用例。
為每個通過的測試用例分配一個分數。當測試用例失敗時,開發團隊會收到缺陷或問題的通知。為了將來參考,這些錯誤可以鏈接到測試用例。
理想情況下,每個失敗的測試用例都與一個缺陷相關聯。在開發團隊解決錯誤以確保它確實已修復并按預期工作后,將重新運行相同的測試用例。該報告顯示通過、阻止、失敗或未運行的測試用例數。
6. 測試收尾
測試結束階段從測試執行階段和軟件產品交付的完成開始。這是審查整個周期的階段。除了測試結果之外,還會考慮和分析其他與測試相關的方面,例如所獲得的質量、測試覆蓋率、測試指標、項目成本、遵守最后期限等。
該團隊還審查軟件測試生命周期過程的哪些組件表現良好,哪些可以改進。生成測試用例報告以確定問題的嚴重性。測試周期完成后,生成測試指標和關閉報告。
測試執行報告
軟件測試執行報告是在完成軟件測試和開發過程后提供給客戶的重要交付物之一。它提供了一個全面的測試過程摘要,其中包含準確的詳細信息和信息。報告應組織良好,簡明扼要地提供所有重要信息。
它通常遵循一組模板,其中包含測試計劃、測試用例、驗證測試期間遇到的問題、缺陷列表和缺陷跟蹤信息的概述、摘要和分析。該報告還包括有關用于測試的各種工具的詳細信息,以及它們在發現開發的軟件產品中的關鍵缺陷方面的有效性。
典型的測試報告具有以下模板:
- 測試總結報告標識符
- 概括
- 方差
- 綜合評價
- 結果總結
- 評估
- 活動總結
- 贊同
如何實現更快的測試執行周期?
發布周期的持續時間已成為軟件應用程序開發的關鍵因素。上市時間 (TTM) 在動態變化的商業環境中變得至關重要,因為您總是想跟上競爭對手的步伐。在發布項目、提供更新或吸引客戶方面遲緩會侵蝕市場。
初創公司和大型企業正在尋找工具和方法來幫助他們加快開發和測試工作流程。關于本地測試,您可能同意復雜、可擴展的基礎設施設置和維護成本會顯著提高您的消耗率。如果您有一個每個人都坐在同一個房間的小型 QA 團隊,或者分散在多個地方的大型分布式團隊,那么基于云的測試對每個人都有用。它甚至有助于解決最復雜的遠程測試挑戰。
云測試有很多好處。然而,用戶經常提出一個問題——云基礎設施不如本地基礎設施快。另一方面,本地設置缺乏基于云的設置的功能。
結論
在軟件開發生命周期中,測試執行在識別系統中的缺陷、錯誤和問題方面起著至關重要的作用。它也是所有測試活動的一部分。通過測試執行,團隊可以創建滿足最終用戶要求并提供不同類型服務的產品。