天天看點

自動化內建測試的政策

作者:科技狠活與軟體技術

關注我帶你了解科技領域最新的技術與産品

探索自動化內建測試以實作無縫軟體開發的有效技術和技巧。立即更新您的政策!

當軟體元件的單元測試完美運作時會發生什麼?您是否曾想過,為什麼單元測試 100% 通過的報告對于作為一個單元進行內建和驗證時的元件沒有好處?發生自發故障的內建測試并不反映故障點位于單元内部,而是反映單元互動的地方。

測試團隊非常重視如何有效地依靠自動化、內建測試來確定在當今要求苛刻的世界中生成的軟體的品質,在這個世界中,以結果為中心的方法尋求工作軟體的持續傳遞。

什麼是內建測試?

內建測試包括圍繞接口進行測試,以檢查多個軟體子產品之間的資料流,而不幹擾子產品的功能。

為了建構系統的“工作”版本,由各個開發人員成功開發和單元測試的單獨工作子產品以增量方式彙集在一起,以使系統正常運作。

然後對軟體進行驗證,以發現與接口相關的任何錯誤,使其滿足要求、标準和合規性(如果有),并按照預期的方式滿足整體功能。

同樣,內建可以在多個系統之間進行,例如:

  • 新系統到舊系統
  • 舊系統到舊系統
  • 由不同服務提供商開發和支援的系統。
  • 內建DB、API、Cloud等元件

讓我們詳細讨論所涉及的各個元件以及它們如何互動,同時考慮到支付網關系統。

自動化內建測試的政策

系統簡介

支付網關的用戶端-伺服器架構如圖所示。

該軟體充當網關。它是任何線上零售商的重要組成部分。卡、數字錢包、UPI 和網上銀行交易可以借助該軟體作為服務進行授權。

這些服務提供一鍵式導航,并且幾乎不需要對網站進行調整。第三方支付服務與商戶系統內建很困難。

此外,該系統需要針對內建點進行測試,這些內建點為授權、結算、退款、使用者通知和交易報表等提供解決方案。

此外,最終使用者可以通過各種平台(包括桌面、移動和基于 Web 的系統)通路系統也至關重要。下面列出的測試用例是測試服務時要運作的一些最重要的測試用例,包括。

  • 確定交易徹底、安全。
  • 驗證所有接受的付款方式的功能。
  • 最終使用者使用的所有平台上的一緻使用者體驗。

從整合的角度來看,驗證網站和服務的整合更為重要。

內建測試的組成部分

考慮到這一點,我們來談談嘗試自動化內建時要記住的元件。

  • 逆向工程可用于預測在選擇元件時執行內建套件時會發生的問題。
  • 如果你有分析經驗的話,內建測試的失敗都會來自于環境失敗。
  • API 或 UI 等元件失敗,而不是整個自動化腳本場景失敗。
  • 在 CI/CD 管道中建立适當的開發分支,以便運作內建測試。
  • 在管道中設定特定的測試環境變量,例如特定于執行環境的URL。
  • 通路特定于環境的測試資源。
自動化內建測試的政策

此處詳細介紹的元件在上圖中進行了總結。

測試腳本

需要準備測試腳本并對其可能要驗證的自動化內建場景進行徹底檢查。它應該配備能夠标記某個部分失敗的斷言。

管道的設定

對于自動化、內建的套件來說,通過 CI/CD 管道運作以實作測試和開發的協作至關重要。此外,當您的系統與各種平台相容時,同步自動化內建測試可以加快測試周期,同時仍確定完全覆寫。

預定測試的觸發器

CI/CD 管道的配置應該是這樣的:在啟動相應的測試環境之前,它們首先評估推動更改的開發分支的環境。在多個時區工作的團隊必須依賴通過管道執行比平常花費更長時間的測試。

測試結果報告

該報告描述了通過/失敗率,以提醒團隊發現任何問題,有助于識别故障端點并評估問題的原因,無論是管理不善的界面、不可靠的基礎設施還是粗制濫造的實施。

內建時确認所有接口場景概述

考慮到所考慮的系統(支付網關)的重要性,每個交易狀态都應該正确地流向每個系統端點。

讓我們讨論一個這樣的場景,即消費者方面的線上支付失敗,在這種情況下,是未經授權的交易。

支付網關用例

“您作為客戶在線上商店下訂單。支付服務接受信用卡付款。支付網關在将卡資訊發送到卡網絡進行欺詐檢查或卡有效性檢查之前對其進行加密。發夾機構準許交易。公司将其準許傳達給支付網關,支付網關将其傳達給客戶。為了驗證卡交易,發夾行會向客戶注冊的手機或電子郵件發送一次性密碼。

這些 OTP 是有時間限制的,它們是雙因素身份驗證的組成部分。如果 OTP 輸入錯誤,交易就會失敗。”

預計客戶在商家網站上下的任何訂單都将失敗,并且不會将任何資金存入商家的帳戶中。

随着越來越多的第三方支付處理商進入市場,商家方與這些支付處理商內建以收集和分散支付可以有各種排列群組合。

當我們分解場景中的互動時,第一個互動是客戶和通過網站或移動應用程式提供軟體或服務的商家之間的互動。

客戶和應用程式應該能夠進行通信,并且應用程式應該驗證放入購物車進行付款的産品和價格。

使用者送出的卡資訊以及通過銷售點進行的購買的雙因素身份驗證應在商家站點和支付網關以及卡網絡之間的互動過程中進行加密。

卡網絡與發夾銀行之間的互動,以便及時将 OTP 傳遞給适當的客戶,并進行時間驗證

卡網絡與第三方通知服務之間的互動,以便及時将 OTP 傳送給相應的客戶

在這種情況下,客戶與支付服務的互動未得到驗證,因為使用者輸入了無效的 OTP,并且支付處理商、卡網絡和發夾銀行均通知該交易未經授權。

通知服務與卡網絡的互動向客戶提供“輸入的 OTP 錯誤”的錯誤通知。

卡網絡、收單機構和商戶賬戶之間的支付網關通信。如果付款不成功,則不會向收單機構或商戶賬戶發送任何款項。

最後,客戶與商家應用程式的互動導緻交易失敗而無法成功下單。

正如您所看到的,存在多個界面,各種玩家和系統(主要是支付處理系統)進行互動。

所有這些子產品可能不會被編碼并接受單元測試或可用于內建測試。

內建測試的美妙之處在于測試統一中的子產品和接口以這種方式工作。

在這樣的情況下,當系統之間有大量的元件來回通信時,自動化內建測試會非常有用。

自動化內建測試工具

在列出可用于自動化的儀器之前,了解選擇标準至關重要。

我們想要執行自動化內建測試。

是以,該工具提供了一個測試各種系統元件(如DB、API和UI)的平台,可用于測試子產品之間的接口。應選擇使用壽命長、易于維護并支援持續內建運作的工具,進而最大限度地提高投資回報。

有多種可用的工具,我們将在下面讨論:

  1. Citrus:一種自動化內建測試,可在任何消息傳遞協定和格式資料上運作測試。它提供了一個用于自動化 Soap 服務、HTTP Rest 以及與 TestNG 和 Junit 等不同測試架構內建的平台。它附帶了全面的文檔,并且可以用 Java 或 XML 建立自動化腳本。
  2. SITA(智能內建測試加速器);該工具可以運作以業務為中心的內建測試。與 HP、IBM Rational 和 IBM 等工具無縫內建。
  3. TESSY:該工具主要用于安全關鍵型嵌入式系統的單元測試。它處理測試組織和管理的各個方面,例如需求、覆寫率評估和可追溯性。
  4. Testsigma:這個測試自動化平台是完全托管的。它為 Web 應用程式、消息傳遞協定和移動應用程式提供自動化連續測試,并且作為開源提供。

自動化內建測試有哪些好處?

我們真的需要首先将內建測試自動化嗎?

答案無疑是“是”。公司在目前的宏觀經濟環境下安排産品的釋出,市場上競争激烈,釋出的産品具有友好的 UI/UX、提供流暢的功能以及在其可能使用的平台上具有最佳性能。

測試團隊經常因開發工作的延遲而首當其沖。

你會在品質上吝啬嗎?絕不!!

考慮到這種雙重困難,測試團隊必須尋求創造性的修複來縮短測試執行周期。

這是內建測試從手動到自動化的架構轉換。現代組織中靈活性的采用允許使用自動化技術進行品質控制檢查和降低成本。

驗證系統的主要瓶頸是執行重複且頻繁發生的測試。自動化內建測試消除了這一瓶頸。

自動化至關重要,因為測試是耗時的元件之一,而且每個釋出周期都在變得越來越短。

需要一個自動化工具的替代平台來自動化跨多種技術的測試。

大綱

分層品質方法的一個組成部分是內建測試。對于測試人員來說,自動化各種軟體元件(而不是單元)可能相當困難。

在上面的段落中,我們嘗試使用具有大量互動點的複雜系統來說明自動化內建測試的重要性。

高品質內建測試的一個關鍵發現是堅持事件的順序,這将逐個子產品地覆寫系統的互動。

确定內建測試先決條件所涉及的各種子產品和參與者,制定測試政策,選擇高優先級場景,準備測試資料和環境,開發自動化測試,并使用 CI 管道內建套件以在釋出後立即運作測試在較低的環境中。

在軟體開發周期的早期,自動化內建測試必須發現接口問題。它增強了團隊對其向使用者提供高品質産品的能力的信心。

為了快速執行複雜的場景,應該明智地選擇一個能夠滿足您的目标、提供簡單維護并允許無縫內建的工具。

制定評估自動化測試儀器的精确政策至關重要。

考慮您的項目預算、現有要求以及測試團隊在自動化方面的經驗,以幫助您縮小決策清單并選擇最能滿足您需求的解決方案。

自動化內建測試使我們能夠生産出滿足使用者需求的優秀解決方案。

繼續閱讀