通過運行測試用例來對被測系統進行測試。對手動測試來說,測試執行主要是測試人員坐到被測系統前面,參考測試用例的步驟來進行測試執行。測試人員輸入測試輸入、檢查測試輸出、比較測試預期結果和實際結果、記錄在測試過程中發現的問題等等。而對于自動化測試過程,測試執行可能是打開測試工具,運行測試用例腳本和測試腳本等,通過自動化的方式來記錄測試結果。
必須仔細檢查每個測試用例執行的實際輸出結果,根據測試預期結果來判斷被測系統是否能夠正確的工作。有些測試結果的比較可以在測試執行中就可以進行,而有的測試結果需要在測試執行完成以后才能進行比較。
假如測試實際輸出結果和測試預期結果是一樣的,那么認為測試用例執行是通過的。假如不一樣,那么測試用例執行失敗,或者說軟件系統存在問題。當然,這是非常簡單的比較。更加正確的說法是假如測試結果和測試期望不一致,需要進一步的檢查。比如可能是軟件存在缺陷,也可能是測試用例本身存在問題,或者是測試用例中的測試預期結果存在問題,甚至是由于測試環境存在問題而引起的。所以,在比較測試結果的時候,需要從不同的方面來確認具體的問題來源。
5 測試用例管理
1)測試用例組織
任何一個項目,其測試用例的數目都將是非常龐大的。如何來組織、跟蹤和維護測試用例是一件非常重要的事情。在整個測試過程中,可能會涉及不同測試類型的測試用例。如何來組織測試用例,是測試成功與否的一個重要因素,也是提高測試效率的一個重要步驟。
測試用例的組織,可以用不同的方法來進行組織或者分類:
按照軟件功能模塊組織:軟件系統一般是根據軟件的功能模塊來進行工作任務分配的。因此,根據軟件功能模塊進行測試用例設計和執行等是很常用的一種方法。根據模塊來組織測試用例,可以保證測試用例能夠覆蓋每個系統模塊,達到較好的模塊測試覆蓋率。
按照測試用例類型組織:將不同測試用例的類型來進行測試用例的分類和組織,也是一種常用的方法。比如可以根據配置測試用例、可用性測試用例、穩定性測試用例、容量測試用例、性能測試用例等來對具體的測試用例進行分類和組織。
按照測試用例優先級組織:測試用例是有優先級的。對于任何軟件,實現窮盡測試是不現實的。在有限的資源和時間內,首先應該進行優先級高的測試用例,或者用戶最需要的功能模塊或者風險最大的功能模塊等。
在上面的三種測試用例組織方法中,按照功能模塊進行劃分是最常用的。不過,我們可以結合起來使用,比如在按照功能模塊劃分的基礎上,再進行不同優先級的劃分,甚至不同測試用例類型來進行劃分和組織。
測試用例組織好以后,就需要進行測試用例的執行,知識測試生命周期中的重要的過程。具體的過程可以如下:
根據軟件模塊,進行具體測試用例的設計,這些測試用例可以保證模塊的測試覆蓋率。
軟件的各個模塊組成測試單元(單元集成測試)。
測試單元和測試環境、測試平臺以及測試資源等形成測試計劃的重要組成部分,并最終形成完整的測試計劃。
測試計劃形成后,需要確定測試執行計劃。
將測試執行計劃劃分成多個不同的測試任務。
將測試任務分配給測試人員實現測試執行過程。
測試人員執行測試得到測試結果和測試相關信息。
2)測試用例跟蹤
在測試執行之前,需要回答這樣的一些問題:哪些測試單元是需要測試的?有多少測試用例需要執行?如何來記錄測試過程中測試用例的狀態?如何通過測試用例的狀態,來確定測試的重點或者什么模塊是需要進行重點測試的?
要回答這些問題,就需要對測試過程中測試用例進行跟蹤。測試過程中,測試用例的基本狀態有三種:通過、未通過和未測試。根據在測試執行過程中測試用例的狀態,實現測試用例的跟蹤,從而達到測試的有效性。因此,測試用例的跟蹤主要是針對測試執行過程中測試用例的狀態來進行的,通過測試狀態的跟蹤和管理,從而實現測試過程和測試有效性的管理和評估。
測試用例執行的跟蹤:在測試執行的過程中,對測試用例的狀態進行跟蹤,可以有效的將測試過程量化。比如,執行一輪測試過程中,測試的測試用例數目是多少,每個測試人員每天能夠執行的測試用例是多少,測試用例中通過、未通過、未測試的比例各是多少。這些數據可以提供一些信息來判斷軟件項目執行的質量和執行進度,并對測試進度狀態提供明確的數據,有利于測試進度和測試重點的控制。詳細的測試用例執行跟蹤,可以參考測試用例評估章節。
原文轉自:http://www.uml.org.cn/Test/201011165.asp