自動化測試系列(一) 自動化測試體系概述

2022-09-10 03:24:13 字數 2862 閱讀 4810

當今激烈的商業競爭中,企業中的服務和產品需要更快速的版本迭代和高質量的軟體交付,同時減少完成專案所需的成本和時間,不少企業引入了devops概念來提公升軟體研發交付效率。devops是開發和運營的結合,代表著一種文化和實踐,強調了軟體開發人員(dev)和資訊科技(it)運營與維護(o&m)專業人員(ops)的協作和交流,同時促進了軟體交付和基礎架構變更。它旨在建立一種文化和環境,使軟體構建,測試和發布可以更加方便,頻繁和可靠地進行。devops中的測試是自動化的,不同於傳統的手工測試,自動化測試通過測試工具或者框架,錄製編寫測試指令碼,對軟體功能進行測試,能夠快速檢測錯誤並查詢可能對使用者體驗產生負面影響的問題,從而更快的發布高質量產品。

自動化測試是使用工具、指令碼和軟體對重複、預定義的操作來執行測試用例的過程。由於自動化測試是通過自動化工具完成的,因此在增加總體測試覆蓋率的同時,它在探索性測試中花費的時間更少,在維護測試指令碼時花費的時間更多。

自動化測試的基本概念是測試金字塔。它演示了如何解決專案的自動化測試:構成金字塔基礎的哪些部分首先要進行測試,以及在金字塔最後階段剩下什麼?

按照測試金字塔的模式,首先是單元測試層,即開發人員在編寫**時經常執行的**測試。然後是api測試所屬的伺服器層。稍後,當前端完成時,將進行ui測試。

圖:三層測試自動化金字塔

自動化測試的型別

自動化測試是軟體開發生命週期的重要組成部分, 主動修復錯誤需要對基礎**進行的每個小更改都進行測試和重新測試。隨著時間的流逝,回歸測試的數量將會增加,測試人員將承受很大的壓力,而創新和增長的時間會越來越少。此外,至少有四個因素導致測試成本上公升:

通過自動化測試可以帶來以下好處:

快速反饋: 在軟體開發生命週期(sdlc)中更快,更早地執行測試時,反饋也可以更快地提供給開發人員;

加快產品版本迭代: 更快的測試執行和連續的反饋迴圈可以縮短總體sdlc,並提高發布頻率;

成本效率::優化資源後,可以降低成本;

更高的敏捷性和市場響應能力: 較短的發布週期使企業可以更好地響應變化並確定資源的優先順序;

降低人為錯誤的風險: 自動化測試可滿足回歸測試需求,將人為錯誤的風險降到最低;

提高交付質量: 高效測試可最大程度地擴大測試範圍,提高產品質量;

更高的工作滿意度: 由於消除了高度重複的任務,測試人員可以體驗到更高的工作滿意度。

在快速且連續的產品開發中,手動測試是驗證終端使用者工作流程的最有效方法。但實際情況是,手工測試並不能完全做到重測每個功能,持續測試工作中需要編寫快速且頻繁執行的自動化測試,找出生產版本中的缺陷。

通過以下對比,讓我們來了解測試工作中手工測試與自動化測試之間的區別:

特徵手動測試

自動化測試

準確性和可靠性

精度低,手動測試更容易出現人為錯誤

使用工具和指令碼的準確性很高

所需時間

手動測試比自動化慢,手動執行測試耗時多

自動化執行測試用例的速度明顯快於人力資源

投資成本

成本低初始成本比手動測試高

用法適用於探索性,可用性和臨時測試

適用於回歸測試,效能測試,負載測試

體驗首次使用手動測試執行測試用例很順利,但面對頻繁變化的需求,捕獲回歸缺陷能力有限

能快速適應**頻繁更改的測試

devops中持續測試是軟體產品交付管道中執行自動化測試的過程,其目的是獲取有關最新構建或預發布的版本中業務風險的快速連續反饋。然後,可以使用此資訊來確定軟體產品是否已準備好在任何給定時間通過交付管道進行公升級。由於測試提早開始並連續執行,因此減少了發現和修復缺陷所需的時間和精力,可以提高交付高質量軟體(滿足對可接受風險水平的期望的軟體)的速度和頻率,並減少技術負擔。

持續測試包括對功能需求和非功能需求的驗證,均與自動化測試有關。對於功能測試,持續測試通常涉及單元測試,api測試,整合測試和系統測試。非功能性測試涉及諸如靜態**分析,安全性測試,效能測試等實踐。

豬齒魚choerodon目前支援的自動化測試有:api測試、效能測試、流量回歸測試、ui測試,允許測試人員通過關鍵測試資訊來完成測試操作,無需程式設計。

choerodonapi測試模組通過整合jmeter,實現了api用例的新增、歸集、管理與執行的功能。其中支援基於介面url或swagger文件快速編排介面測試用例,而匯入或新增api測試用例的整個過程免**編寫,技術門檻低,適合敏捷團隊中各個角色使用。

豬齒魚效能測試也是通過整合jmeter測試工具,支援使用者在已有的測試任務基礎上調整執行引數(執行緒數、預熱時長、迴圈數)來對系統的各項效能指標進行測試,從而發現效能瓶頸與效能缺陷,以便更好地優化系統或產品的整體效能。

豬齒魚流量回歸測試適用於:批量錄製產品介面操作並將得到的用例進行集中管理,以便後續進行批量的回歸測試。此功能通過使用goreplay錄製產品介面中的操作生成流量檔案,然後將其匯入choerodon平台生成用例進行管理與執行。

豬齒魚ui測試適用於:測試人員通過外掛程式錄製web應用的介面操作,生成對應的測試用例與步驟;而後便能直接執行對應的測試檔案來對介面ui操作進行測試。

自動化測試能夠提高測試人員的工作效率並且優化測試速度,提高軟體產品的準確性和穩定性,代替人工完成各種業務場景,使資源最大化利用,增加軟體的信任度。希望以上關於自動化測試的概念對你有所幫助。

自動化測試系列(一) 自動化測試體系概述

當今激烈的商業競爭中,企業中的服務和產品需要更快速的版本迭代和高質量的軟體交付,同時減少完成專案所需的成本和時間,不少企業引入了devops概念來提公升軟體研發交付效率。devops是開發和運營的結合,代表著一種文化和實踐,強調了軟體開發人員 dev 和資訊科技 it 運營與維護 o m 專業人員 ...

自動化測試系列(一) 自動化測試體系概述

當今激烈的商業競爭中,企業中的服務和產品需要更快速的版本迭代和高質量的軟體交付,同時減少完成專案所需的成本和時間,不少企業引入了devops概念來提公升軟體研發交付效率。devops是開發和運營的結合,代表著一種文化和實踐,強調了軟體開發人員 dev 和資訊科技 it 運營與維護 o m 專業人員 ...

自動化測試 web自動化測試

自動化 由機器裝置代替人為完成制定目標的過程 優點 提高工作效率 減少勞動力 產品規格同一標準 批量生產 自動化測試 讓程式代替人為去驗證程式功能的過程,即在預設條件下執行程式系統 流程確定 搭建自動化框架 編寫測試用例,將其轉化為soupui 介面 自動化測試指令碼 執行自動化測試指令碼 輸出執行...