在過去的數年中,通過使用自動化的測試工具對軟件的質量進行保障的例子已經數不勝數。到現在為止自動化測試工具已經足夠完善了,我們完全可以通過在軟件的測試中應用自動化的測試工具來大幅度的提供軟件測試的效率和質量。在使用自動化的測試工具的時候我們建議盡早的開始測試的工作,這樣可以使修改錯誤更加的容易和廉價,并且可以減少更正錯誤對軟件開發周期的影響。下圖顯示了手工測試與自動化測試的比較。這個測試案例中包括1750個測試用例和700多個錯誤。
手工測試與自動化測試的比較
測試步驟 | 手工測試 | 自動化測試 | 通過使用工具的改善測試的百分比 |
測試計劃的開發 | 32 | 40 | -25% |
測試用例的開發 | 262 | 117 | 55% |
測試執行 | 466 | 23 | 95% |
測試結果分析 | 117 | 58 | 50% |
錯誤狀態/更正檢測 | 117 | 23 | 80% |
產生報告 | 96 | 16 | 83% |
時間總和 | 1090 | 277 | 75% |
通過這個表我們可以看出自動化測試與傳統的手工測試在所有的方面都有很大的不同,尤其是在執行測試和產生測試報告的方面。
短測試周期中手工測試面臨的挑戰
迭代式的開發過程已經顯示了比瀑布式開發的巨大好處,并已逐漸的取代傳統的瀑布式開發成為了目前最流行的軟件開發過程。在迭代開發中強調在較短的時間間隔中產生多個可執行、可測試的軟件版本,這就意味著測試人員也必須為每次個迭代產成的軟件系統進行測試。測試工作的周期被縮短了,測試的頻率被增加了。在這種情況下,傳統的手工測試已經嚴重的滿足不了軟件開發的需求。如下圖所示,當第一個可測試的版本產生后,測試人員開始對這個版本的系統進行測試,很快第二個版本在第一個版本的技術上產生了,測試人員需要在第二次測試時重復上次的測試工作,還要對新增加的功能進行測試,每經過一個迭代測試的工作量會逐步的累加。隨著軟件開發過程的進展,測試工作變得越來越繁重,如果使用手工測試的方法,將很難保證測試工作的進度和質量。在這種情況下應用良好的自動測試工具將勢在必行。通過使用自動化測試工具測試人員只要根據測試需求完成測試過程中的所需的行為,自動化測試工具將自動生成測試腳本,通過對測試腳本的簡單修改便可以用于以后相同功能的測試了,而不必手工的重復已經測試過的功能部分。
手工測試的問題
查看原圖(大圖)
同時,現代的 GUI 開發技術已經非常的先進了,它提供給開發人員快速開發的能力。這就意味著開發人員能夠非?焖俚母淖儜贸绦,并將新的版本交個測試人員進行測試。實際上,很多公司每天都會有多個應用版本產生。如果還是使用傳統的手工測試的方法是根本不可能符合軟件快速開發的要求的。
自動化測試的步驟
自動化測試的步驟:
錄制測試過程成為自動化測試腳本
增強和改進錄制的自動化測試腳本
執行自動化測試腳本完成自動化測試
自動化測試過程
錄制測試過程成為自動化測試腳本
開始自動化測試過程的第一個步驟是根據測試用例(測試需求)錄制測試活動的過程。當測試人員在被測試的應用程序中進行測試的活動時,自動化測試工具將捕獲測試人員與應用程序之間的所有交互,并根據這些交互生成可重用的測試腳本。測試人員在這個階段需要考慮的一個關鍵問題就是,使用的測試工具是否有能力在應用程序的環境中捕獲所有與應用程序的交互。
這里我們要強調的是你需要考慮與測試應用有關的所有環境。讓我們通過一個例子進行說明。假如你的應用是一個基于 Web 的應用,你可能會認為我們測試工具只要能夠支持你使用的瀏覽器就足夠了。但這并不是足夠的,在測試基于 Web 的應用的過程中,一定會去要和一些其他的補助應用打交道,比如也許你需要和某種數據庫查許工具進行交互以確認數據被正確的輸入到了數據庫,或者也許你需要和注冊表編輯器進行交互以驗證注冊表的鍵值;蛘咭苍S你將需要和一個電子郵件的客戶端程序交互來驗證從你的 Web 應用發出的郵件。你對主要測試環境將是你對瀏覽器,但是你同時要確認你能夠通過測試工具來測試其他所有的輔助環境,這樣才能實現測試的所有環節的自動化。如果某一個測試環節不能被自動化測試工具支持,它將成為阻礙測試效率的瓶頸。
增強和改進錄制的自動化測試腳本
自動化測試過程的第二個步驟是增強和改進已錄制的測試腳本。你需要閱讀錄制好的腳本代碼,并對其進行適當的需改。我們舉例說明,當你錄制一個腳本時,自動化測試工具將記錄你輸入的所有數據。用一個簡單的腳本來說,你的腳本可以讀出一個文本文件的內容,你可以通過設置參數為這個腳本輸入不同的數據集。這樣這個腳本變得更加有用了。
為了實現這一點,你需要確保你能夠得到一種簡單的語言以支持你所有的需要。
你還要確認你的測試工具能夠支持所有你應用程序中的控件。通常情況下,開發人員將創建自己的GUI 或者甚至是一些非 GUI 的對象在應用程序中。你需要確認你能夠通過修改測試腳本來使用這些控件。
執行自動化測試腳本完成自動化測試
執行單個或者少量的測試腳本是十分簡單的,但是當回歸測試不斷的增加時,情況就變得復雜多了。你必須確認你能夠協調測試腳本之間的關系,并能夠從多臺機器上按照多種配置來執行測試腳本。
Ratioanl Robot 幫助你實現有效的自動化測試
Robot 對錄制測試腳本的支持
Robot 可以監測到測試人員與應用程序之間的所有交互行為,并可以產生相應的測試腳本。
現在你必須理解自動化測試中關于驗證點和檢查的主要區別。當你進行手工測試時,通常你可以通過看屏幕中顯示的結果來判斷應用程序執行是否是正確的,或者你可以將屏幕上的結果與文檔或者其他的一些結果基線進行比較。在 Robot 中這種比較是通過在測試腳本中設置驗證點實現的。在執行腳本時Robot 會在驗證點獲取測試感興趣的數據,然后與已設定好的結果集進行比較判斷測試是否通過。這個比較的過程叫作檢查。
Robot支持的環境
目前 Robot 對幾乎所有流行的應用環境多有良好的支持和工作表現。尤其是對象 HTML、Java 和 .NET 應用、 Visual Basic,、PowerBuilder,、Delphi、 Oracle 表單 和 MFC 控件(控件最常用在 C和 C++ 的應用中)有著非常強大的支持。
在 Robot 覆蓋了幾乎所有的應用環境的同時,仍然存在一些用很少被使用的語言和環境創建的程序部分,對于這些環境, Robot 具有一種通用的記錄引擎可以捕獲幾乎所有的基本界面交互。因此可以說,使用 Robot 能過滿足幾乎所有的測試環境要求。
測試的驗證點
驗證點是一個 Robot 測試腳本中的一個術語,在驗證點上你可以檢查某些系統表單的行為。
在 Robot中最常用的驗證點是對象屬性和對象的數據驗證。這些驗證點被用于捕獲對象的狀態和對象測試期間的數據。在 Robot 中創建驗證點與選擇想得到的驗證點和識別想要被測試的對象一樣的簡單。
文章來源于領測軟件測試網 http://www.kjueaiud.com/