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

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

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

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

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