天天看點

看完這篇文章,才發現原來我并不懂自動化架構

每天進步一點點,關注我們哦,每天分享測試技術文章

碼同學公衆号:自動化軟體測試

碼同學抖音号:小碼哥聊軟體測試

01 什麼是自動化測試

自動化測試是指在沒有任何人幹擾的情況下,可以自動執行測試用例并獲得測試結果的軟體程式。

自動化測試在很大程度上節省了人力和時間,也沒有或很少出現測試誤差。一旦自動化測試用例編寫好,也不會出現漏測的情況,而且可以無限次運作測試。自動化測試最大限度地減少了多餘的手動測試工作

2 什麼是架構

架構被認為是一套協定、規則、标準、和指南的組合,這些協定、規則、标準、指南可以作為一個整體納入或遵循,以便利用架構提供的腳手架的好處。說白了它的作用就是可以幫我們更快更好的完成一件事。

3 自動化測試架構

自動化測試架構是為自動化測試腳本提供執行環境的腳手架。它可以幫助使用者高效的開發測試腳本、執行測試腳本和展示測試結果。它是專門為自動化我們的測試工作而建立的系統。

架構應該獨立于應用程式,也就是說它可以和任何應用程式一起使用,而不考慮應用程式載測試中的複雜性。它應該是可擴充和可維護的。

自動化測試架構的優勢:

  1. 代碼的可複用性
  2. 覆寫範圍大
  3. 低成本維護
  4. 極少的人工幹預
  5. 友善、可觀的報告

自動化測試架構的組成部分:

看完這篇文章,才發現原來我并不懂自動化架構

4 自動化測試架構的類型

  • 基于子產品的測試架構
  • 庫架構測試架構
  • 資料驅動測試架構
  • 關鍵字驅動測試架構
  • 混合測試架構
  • 行為驅動測試架構
看完這篇文章,才發現原來我并不懂自動化架構

01 基于子產品的測試架構

這種架構将整個“測試中的應用程式”分為許多邏輯和獨立的子產品。對每個子產品,建立一個獨立的測試腳本,這些腳本結合在一起時,會建構成更大的測試腳本,代表多個子產品,這些子產品被抽象層隔開,這樣在應用程式的各個部分所做的更改不會對該子產品産生影響。

看完這篇文章,才發現原來我并不懂自動化架構
  • 架構引入子產品化,更容易、高效的維護
  • 子產品化使得架構的可擴充性強
  • 修改子產品後,隻需要修改相應部分的腳本即可

缺點:

  • 在為每個子產品實作測試腳本的同時,測試資料已經嵌入到測試腳本中,這導緻使用不同的測試資料進行測試時需要在測試腳本中進行操作

02 庫架構測試架構

庫體系結構測試架構是建立在基于子產品的測試架構之上,但比後者有一些額外的優勢。它沒有将測試的應用程式劃分為測試腳本,而是劃分為函數。是以,為測試中的應用程式建立一個由公共函數組成的公共庫,當需要時,可以從測試腳本中調用這些庫。

它的基本原理就是确定通用的步驟,并将這些步驟分組到公共庫下的函數中,在需要的時候在測試腳本中調用這些函數。

比如,一個登入的步驟,可以把它組合成一個函數,并儲存到一個庫中,登入時可以直接從庫中調用這個函數,而不需要重新再編寫代碼。

免費領取 碼同學軟體測試 課程筆記+超多學習資料+完整視訊+最新面試題,可以轉發文章 + 私信「碼同學666」擷取資料哦

看完這篇文章,才發現原來我并不懂自動化架構

優點:

  • 跟基于子產品的架構一樣,也具有易于維護和可擴充性
  • 測試腳本中可以使用通用的函數,使得它具有很高的複用性
  • 像基于子產品的架構一樣,測試資料嵌入測試腳本中,改變資料需要修改腳本
  • 随着越來越多的庫的引入,可能會使架構越來越複雜

03 資料驅動測試架構

資料驅動測試架構将測試腳本邏輯和測試資料彼此分離。可以把測試資料單獨存儲起來,存儲資料的可以是 xml檔案、excel檔案、文本檔案、csv檔案、ODBC資料庫等。一般都是以 key-value 格式存儲,友善擷取使用。

看完這篇文章,才發現原來我并不懂自動化架構
  • 大大減少了覆寫所有測試場景組合所需的腳本總數
  • 測試資料的修改不會影響測試腳本
  • 增加了靈活性和可維護性
  • 通過更改測試資料,可以實作單個測試流程測試多個場景
  • 過程比較複雜,可能需要定制測試資料源格式和讀取機制
  • 需要熟練掌握開發測試腳本的程式設計語言
  • 隻有具有相同執行步驟集的相似測試用例才能組合成多組資料。不同的執行步驟集需要不同的測試用例。

04 關鍵字驅動架構

關鍵字驅動測試架構是對資料驅動測試架構的擴充,從某種意義上說,它不僅将測試資料從腳本中分離出來,它還将資料測試腳本的特定代碼集儲存到外部資料檔案中。這些代碼集被稱為關鍵字,每個關鍵字都一種操作。關鍵字和測試資料都是獨立于該架構。

看完這篇文章,才發現原來我并不懂自動化架構
  • 除了具有資料驅動測試架構的優點以外,與資料驅動測試架構不同的是,它不要求使用者具有腳本知識。
  • 單個關鍵字可用于多個測試腳本
  • 需要懂得關鍵字的建立機制,進而可以自己開發關鍵字
  • 随着越來越多的關鍵字引入,可能會使架構逐漸變得複雜
  • 測試用例變得更長且複雜,進而影響測試用例的可維護性

05 混合測試架構

混合測試架構就是上述(子產品化,資料驅動和關鍵字驅動)多中類型架構的組合。就是利用各種類型架構的優點,組合起來的混合型測試架構。

在這種架構中,通過将測試用例結合到子產品化測試架構中,從子產品化腳本中開發測試用例。每個測試用例都使用一個驅動程式腳本,該腳本使用資料驅動架構中的資料檔案和關鍵字驅動架構中的操作檔案。

看完這篇文章,才發現原來我并不懂自動化架構
  • 可以集各種類型測試架構的優點于一身
  • 子產品化且易于維護
  • 更少的代碼可以處理更多的測試用例
  • 一個測試用例可以用多組資料執行
  • 會比其他類型的測試架構更為複雜一些,例如閱讀、維護等

06 行為驅動測試架構

行為驅動測試架構可以讓開發人員、測試人員等以易于閱讀和了解的格式實作功能驗證的自動化。可通過自然語言來描述測試功能,測試場景,測試步驟,測試結果等

  • 對開發人員和測試人員友好,非常易懂
  • 不一定要求使用者熟悉程式設計語言

END

免費領取碼同學軟體測試課程筆記+超多學習資料+學習完整視訊,可以關注我們公衆号哦:自動化軟體測試

繼續閱讀