軟件測試過程中的工具使用[6] 軟件測試
由于軟件本身的特殊性,每次回歸測試都要對軟件進行全面的測試,以防止由于修改缺陷而引發新的缺陷。進行過回歸測試人都會深有體會,回歸測試的工作量是很大的,而且也很乏味,因為要將上一輪執行過的測試原封不動的再執行一遍。設想一下,如果能有一個機器人,就象播放錄影帶一樣,忠實的將上一輪執行過的測試原封不動的在軟件新版本上重新執行一遍,那就太好了。這樣做,一方面,能保證回歸測試的完整、全面性,測試人員也能有更多的時間來設計新的測試用例,從而提高測試質量;另一方面,能縮短回歸測試所需要的時間,縮短軟件產品的面市時間。功能測試自動化工具就是一個能完成這項任務的軟件測試工具。
功能測試自動化工具理論上可以應用在各個測試階段,但大多數情況下是在確認測試階段中使用。功能測試自動化工具的測試對象是那些擁有圖形用戶界面的應用程序。
一個成熟的功能測試自動化工具要包括以下幾個基本功能:錄制和回放、檢驗、可編程。
錄制,就是記錄下對軟件的操作過程,回放,就是象播放電影一樣重放錄制的操作。啟動功能測試自動化工具,打開錄制功能,依照測試用例中的描述一步一步的操作被測軟件,功能測試自動化工具會以腳本語言的形式記錄下你操作的全過程。依照此方法,可以將所有的測試用例進行錄制。在需要重新執行測試用例時,回放錄制的腳本,功能測試自動化工具依照腳本中的內容,操作被測軟件。除了速度非??熘?,通過功能測試自動化工具執行測試用例與人工執行測試用例的效果是完全一樣的。
錄制只是實現了測試輸入的自動化。一個完整的測試用例,由輸入和預期輸出共同組成。所以,光是錄制回放還不是真正的功能測試自動化。測試自動化工具中有一個檢驗功能,通過檢驗功能,在測試腳本中設置檢驗點,使得功能測試自動化工具能夠對操作結果的正確性進行檢驗,這樣,就實現了完整的測試用例執行自動化。軟件界面上的一切界面元素,都可以作為檢驗點來對其進行檢驗,比如文本、圖片、各類控件的狀態等。
腳本錄制好了,也加入了檢驗點,一個完整的測試用例已經被自動化了。但我們還想對腳本的執行過程進行更多的控制,比如依據執行情況進行判斷,從而執行不同的路徑,或者是對某一段腳本重復執行多次。通過對錄制的腳本進行編程,可以實現上述的要求?,F在的主流功能測試自動化工具都支持對腳本的編程。象傳統的程序語言一樣,在功能測試自動化工具錄制的腳本中,可加入分支,循環,函數調用這樣的控制語句。通過對腳本進行編程,能夠使腳本更加靈活,功能更加強大,腳本的組織更富有邏輯性。在傳統的編程語言中適用的那些編程思想,在組織測試自動化腳本時同樣適用。
在測試過程中,使用功能測試自動化工具的大體過程是這樣的:
●準備錄制
保證所有要自動化的測試用例已經設計完畢,并形成文檔。