博客

自動化在CI / CD過程可用性測試

日期:2021年1月13日

記者鮑勃Reselman,軟件開發人員和技術

如果你的公司不是連續測試自己的軟件,你在毀滅的道路。鑒於市場需求的增加有更多軟件的發布速度更快的速度,沒有一家公司可以依靠手工測試對於大多數的質量保證活動和保持競爭力。自動化對CI / CD過程至關重要,特別是可用性測試。

競爭公司自動化測試過程。這是個好消息。壞消息是,通常用戶行為測試自動化的範圍是有限的,很容易模仿,例如,功能性能測試。更複雜的測試——那些圍繞人類因素——通常是留給efficiency-challenged手工測試。

結果是:一個公司可以有閃電般的在發布過程的某些部分測試執行,隻是放緩至一個蝸牛的速度當勞動環境測試需要與之相適應。有很多方法,勞動環境測試在CI / CD過程可以自動化。關鍵是要理解測試過程中的人工幹預是必要的;建築自動化過程適應這些界限。

軟件測試的四個方麵

明白勞動環境測試啟動/停止,它是有用的概念模型部分軟件測試整體。一個模型將軟件測試分為四個方麵:功能、性能、安全性和可用性測試(圖1)。表1描述了。

軟件測試的四個部分:

功能、性能、安全性、可用性

軟件測試的定義的四個部分

  1. 功能像預期的那樣:驗證軟件的行為相對於業務邏輯/算法的一致性。
    例如:單元測試和組件測試;集成& UI測試
  2. 性能:確定軟件係統的響應性、準確性、完整性和穩定性在特定工作負載下,操作環境。
    例子:負載、縮放和部署測試
  3. 安全:驗證軟件係統不會惡意行為,不受惡意入侵。
    例子:滲透、身份驗證、注射和惡意軟件測試
  4. 可用性:決定是多麼容易的對於一個給定的用戶社區經營(使用)一個特定的軟件係統。
    例如:用戶界麵任務效率,信息保留和輸入精度測試

數據驅動和人為測試

鑒於以上提供的信息,是有道理的,功能,性能,安全性測試得到的大部分注意力時自動化。這些測試機集中和定量數據/,所有這些可以很容易地machine-initiated下運行腳本。情況變得更加複雜和可用性測試。

可用性測試需要隨機,手勢輸入,隻能由人來提供。因此,創建一個自動化過程為這種類型的測試是很困難的。不僅僅是一種生成數據,並將它應用於一個網頁與硒腳本。人類行為是很難模仿通過腳本。考慮可用性測試網頁的過程最優數據的效率。人工輸入數據的速度會有所不同根據頁麵的布局和語言以及注冊數據的複雜性。我們可以編寫一個腳本,該腳本假設人類行為數據條目,但得到一個精確的畫麵,這是人類更好地執行任務。畢竟,可用性測試的目的是評估人類行為。

可行的在一個持續集成和持續交付(CI / CD)過程中,必須進行測試自動化。問題就變成了,如何自動化可用性和其他類型的勞動環境測試時,乍一看,他們似乎超出了自動化的功能嗎?答案是:盡我們所能。

盡可能自動化

不管你是什麼類型的測試執行,這將是一個過程的一部分,基本上四個階段:設置,執行、拆解和分析(圖2)。

第四階段:設置、執行、分解、分析

圖2:軟件測試的四個階段

當涉及到創建CI / CD過程的效率,關鍵是自動化,即使不是全部,給定階段盡可能的(有效的話說“盡可能”)。某些類型的自動化測試很好地在所有階段;而另一些則不會。重要的是要理解在給定的測試自動化的限製在四個步驟。

完全自動化功能和性能測試期間是可以實現的

功能和性能測試,活動自動化的四個階段是非常簡單的。您可以編寫一個腳本,該腳本(1)收集數據,(2)它適用於測試用例,和(3)重置初始狀態的測試環境。然後你可以使測試結果可用於另一個腳本(4)分析結果數據,通過分析利害關係方。

安全性測試需要一些手動調節

安全性測試有點難因為一些自動化測試的setup和teardown可能涉及特定的硬件住宿。有時這僅僅由一個調整配置設置在一個文本文件中。路由器的其他情況下可能需要人類的洗牌,安全設備,電纜在一個數據中心。

可用性測試有一組特殊的挑戰

可用性測試自動化增加了一定的複雜性挑戰。測試設置和執行需要人類活動協調。例如,如果你在進行可用性測試一個新的手機應用程序,您需要確保人類測試對象可用,可以觀察到,並有適當的軟件安裝在適當的硬件。然後每個主題都有執行測試,一般測試管理員的指導下。所有這些需要大量的協調努力,可以減緩測試過程當手動完成的。

雖然實際執行可用性測試需要手動,大多數其他活動的設置,可以自動拆解和分析階段。您可以使用調度軟件管理的很大一部分設置(如發現,然後協調邀請測試對象的測試網站)。此外,自動化可以被納入所需的應用程序和硬件的配置。

觀察測試對象,您可以安裝軟件的測試設備測量鍵盤,鼠標,屏幕上的活動。一些可用性實驗室將在視頻記錄實驗對象的行為。視頻文件可以提供給人工智能算法進行模式識別和其他類型的分析。沒有需要人工審查每一秒的錄像來決定結果。

關鍵:在那些需要執行的測試活動的人類,剩下的任務並使之自動化。隔離手工測試活動變成了一個具有良好邊界時間框將很長的路要走在CI / CD進行可用性測試過程更容易預測和更有效率。

把它放在一起

軟件測試的一些組件,如automation-friendly功能和性能測試。等安全性和可用性測試,需要的人工參與,從而使測試自動化一個挑戰。

你可以避免手工測試成為一個瓶頸在CI / CD過程通過確保範圍,發生,和手工測試執行時間活動,尤其是身邊的可用性測試,是眾所周知的。危險是指手工測試成為一個不可預知的黑盒,時間和金錢,看不到盡頭。

這篇文章最初發表在2019年7月,是最近更新的2021年7月。

鮑勃Reselman的形象LinkedIn

日期:2021年1月13日
Baidu
map