這個問題在自動化測試工具發(fā)展的初階段有人問了。工具銷售商已經給我們提供了一個觀點,并且業(yè)界專家也給我們提供了各種不同的觀點。初,銷售商提供基本的捕獲/回放工具,這些工具已逐漸發(fā)展成了一些復雜的高度集成的測試套件。他們似乎想讓從業(yè)者來決定基本的捕獲/回放模型之外的一些東西。測試自動化方面的專家寫過很多的文章和書籍,他們引用成功的阻及失敗的自動化測試來做研究,后在我們必須做什么上稍微達成一致意見,但是我們如何來做并沒有任何進展。在這一節(jié),我們將給出我們關于如何做測試自動化的觀點。我們認為業(yè)界該做什么已經爭論太久。我們一直擁有一個能使用的自動化框架工作原型,直到工具套件達到一個新高度以及直到它們更復雜。

  為了知道自動化程度需要達到什么程度才足夠,我們必須了解這些領域:能自動化的軟件測試過程以及應該自動化的軟件測試過程。測試工具和測試過程是不相同的。工具是用于促進測試過程的。工具能被用于實現一個過程并執(zhí)行測試過程的各種規(guī)范。在很多情況下,工具自帶的內建程序可以被理解為過程。然而,它們往往也是不完整的,不能正確反映過程。好的軟件測試工具是你能夠將它和你的測試需求達成一致。而且它們提供高度可自定義的工作流程和跟蹤報告能力。

  什么測試類型能夠自動化呢?它們包括:單元測試、集成測試和系統(tǒng)測試。對自動化系統(tǒng)測試進一步分類如下:安全測試、配置測試和負載測試。自動化回歸測試貫穿于整個開發(fā)過程的單元測試、集成測試和系統(tǒng)測試,并使用大和小發(fā)布版本的系統(tǒng)產品分別測試。

  我們應該考慮測試過程的哪些方面呢?一般包括以下幾個方面:測試計劃、測試設計、測試構建、測試執(zhí)行、測試結果的捕獲和分析、測試結果驗證和測試報告。還有一些活動是和測試活動緊密相連的,它們包括問題(缺陷)跟蹤和解決、軟件配置管理以及軟件測試度量?傊,測試過程的這些活動是密不可分的,好像軟件開發(fā)過程一樣,由好的項目管理技術粘結在一起。

  所有領域的自動化水平應該達到這樣一種程度。它能夠根據時間和成本適應于你的組織。你實現的自動化程度越高,你的測試過程越好越有效。這種觀點總是對的,只要你的工具是適合的,并且被正確地實現。在這里,實現(-mpl盯nent)是指一個集成的測試自動化框架已經被創(chuàng)建并在使用中。