譯者| 陳峻
審查| 重樓
將傳統大型主機應用的程式碼和資料遷移到現代化技術架構上,被認為是企業數位化發展的關鍵步驟。在追求效率和可擴展性的過程中,這種轉變通常涉及從傳統大型主機環境遷移到更靈活的雲端運算或內部部署方案。這樣的轉型有助於企業實現更高的靈活性和創新能力,同時降低成本並提高安全性。這種遷移還可以為企業帶來更好的資源利用率和更快的市場回應能力。企業需要謹慎規劃和執行此轉變,確保資料遷移和應用重構過程順利進行,以確保業務連續性和資料安全。透過將傳統大型主機應用遷移到現代化技術架構上,企業可以更好地適應快速變化的市場需求,實現
不過,隨著業務環境的動態變化,也會讓遷移過程變得更加複雜。這不僅是技術上的資源重新部署,而且是一種根本性的轉變,因此往往需要經歷嚴格的測試,以確保各項功能的等效,進而保持應用在運行上的完整性和性能上的標準化。
同時,在遷移之後,應用程式經常會在新的要求、業務策略的演進、以及監管標準變化的驅動下,被迫進行大量的修改。而每一次修改,無論是微小的調整、還是重大的“翻修”,都必須經過嚴密的測試。其中最關鍵的挑戰就在於,如何確保新的變化能夠與現有的功能和諧集成,而不會造成意想不到的後果或中斷。可見,驗證新功能和保留現有功能的雙重要求,凸顯了在遷移後自動化測試套件的重要性。
近年來,生成式AI(GenAI)的廣泛應用,已輻射到了各個領域。如果將其引入大型主機的現代化過程,不但有望讓企業在軟體品質、營運效率等方面取得顯著改善,而且能夠帶來軟體開發和品質保證理念上的根本轉變,進而讓企業最終獲得可觀的投資回報。
我將與您討論如何利用適當的自動化測試方法、工具和最佳實踐,確保在技術平穩過渡中維持現代化大型主機應用的固有品質和效能。
傳統的手動測試概念
一直以來,大型主機環境並不願意接受自動化的測試方式。由Compuware和Vanson Bourne聯合開展的2019年全球調查顯示,僅有7%的受訪者為大型主機應用採用了自動化的測試案例,足以說明業界對此的態度。
手動測試的困境
作為對比,手動測試則是許多企業普遍採用的傳統方法。不過,在複雜的大型主機現代化過程中,該方法越來越顯得力不從心,而且容易出錯。畢竟,測試工程師需要手動驗證每個方案和業務規則。這個過程就充滿了人為出錯的可能性。而且,鑑於許多大型主機應用的高風險性和關鍵任務性特點,我們一旦在測試過程中忽略了某個細微的錯誤,則可能會導致嚴重的生產問題、大量的停機時間、甚至經濟損失。因此,該缺點會變得特別突出。此外,人工測試還存在以下缺陷:
1. 遺漏與不準確:手動處理大量測試案例,會增加遺漏關鍵場景、以及資料驗證不準確的風險。
2. 耗時性:手動方法需要大量時間對每個方面進行徹底測試,因此在快節奏的開發環境中效率不高。
3. 可擴充性問題:隨著應用程式的擴展和演進,手動測試所需的工作量會倍增,更無法有效地識別錯誤。
有的企業可能會直觀地想到擴大人工測試團隊。不過,這並非一個可行的解決方案。此舉既會導致成本效率的低下,又無法解決人工測試流程的固有限制。企業需要透過DevOps等現代方法,整合自動化測試流程,以提高效率並減少錯誤。
測試自動化的必要性
總的說來,透過在現代化大型主機應用程式中整合自動化測試流程,企業可以大幅提高遷移的效率和準確性。當然,大型主機環境中自動化測試的採用率並不高。有的企業認為這是挑戰,但也有的企業視之為巨大的轉型機會。畢竟,在測試中採用自動化不僅是一種技術升級,更是一種降低風險、節省時間和優化資源利用的策略性舉措。
對於希望在快速發展的科技環境中,保持競爭力和效率的企業來說,這項轉變至關重要。根據《DevOps狀態報告》顯示,自動化測試在優化操作工作流程和確保應用程式可靠性等方面,能夠發揮巨大的作用。
什麼是自動化測試?
根據Atlassian的定義#,自動化測試是透過運用軟體工具,自動完成那些由手動驅動的軟體產品的審查和驗證過程。其速度、效率和精度,都超越了傳統人工測試方法的限制。也就是說,自動化測試有助於在加快應用變更的同時,確保其品質和可靠性不受影響。自動化測試不僅能夠簡化新變更的驗證過程,還可以監控現有功能的完整性,從而在現代化應用的無縫過渡和持續維護方面發揮關鍵性作用。
在追求最佳化軟體測試流程的過程中,採用自動化測試往往需要初始的人工投入,會涉及測試工程師對於應用程式底層錯綜複雜的業務邏輯的理解。這種理解對於使用Selenium等框架有效地產生自動化測試案例是至關重要的。此階段雖然會耗費大量人力,卻是基礎性工作。畢竟後續的自動化測試將大幅減少測試本身對於人工的依賴,尤其是在重複和廣泛的測試場景中。而且,自動化框架一旦建立,就會成為應用程式持續評估的強大機制。其優點在於,它善於識別因應用程式變更而可能出現的錯誤或bug。
大型主機現代化過程中的自動化測試方法
在軟體工程領域,針對大規模的遷移或現代化大型主機應用程式的自動化測試,往往需要全面了解應用程式中的所有業務規則,以便為通常由數百萬行程式碼組成的龐大程式碼庫,產生自動化的測試案例。這是一項複雜又相當艱鉅的任務。鑑於難以達到100%的程式碼覆蓋率,我們需要在測試覆蓋深度與實際可行性之間實現平衡,以確保關鍵性的業務邏輯,能夠得到充分的測試覆蓋率。
在這種情況下,GenAI等新興技術提供了一種可能性。它能夠自動產生自動化測試腳本,以簡化大型主機現代化專案的測試流程,為軟體開發中的品質保證提供更有效率、更準確、更可擴展的方法。
GenAI的廣泛利用
在深入研究GenAI如何在大型主機現代化中實現自動化測試之前,讓我們先簡單了解GenAI。從根本上說,GenAI代表了人工智慧的一個面向。它透過生成式模型,來產生各種文字、圖像或其他媒介。這些生成式人工智慧模型善於學習輸入訓練資料的模式和結構元素,進而產生能夠反映這些特徵的新資料。顯然,這類系統主要依賴機器學習模型,尤其是深度學習領域的模型。
自然語言生成(Natural Language Generation,NLG)是與大型主機現代化強相關的一種GenAI形式。它能夠在大語言模型(large language models,LLM)的支持下,產生出類似人類的文本。通常,LLM在大量文字資料的語料庫中接受訓練,使其能夠辨別和複製語言的細微差別和結構。因此,這種訓練使得它們能夠執行各種自然語言處理任務,包括:文本生成、翻譯摘要、以及情緒分析等。值得注意的是,LLM還能夠熟練地產生準確的電腦程式碼。
目前,大語言模型的著名用例包括:GPT-3(Generative Pre-trained Transformer 3)、BERT(Bidirectional Encoder Representations from Transformers)和T5(Text-to-Text Transfer Transformer)。這些模型通常建立在深度神經網路的基礎上,尤其是那些採用了Transformer架構的模型。因此,它們在處理文字等順序資料方面,表現出了卓越的功效。大量的訓練資料(包括數百萬、甚至數十億的單字或文件)使得這些模型能夠全面掌握各種程式語言。它們不僅在產生連貫且與上下文相關的文本方面表現出色,而且在預測語言模式(如完成句子或回答查詢)方面也很優秀。
目前,某些大語言模型還可以理解和生成多種語言的文本,從而提高其在全球範圍內的實用性,從為聊天機器人和虛擬助理提供“智力”,到支援內容生成、語言翻譯與摘要等應用領域,LLM的多功能性都能夠帶來不俗的表現。
如何使用GenAI產生自動化測試腳本
在軟體測試領域,LLM可以幫助我們從應用程式的程式碼中提取業務邏輯,並將這些規則轉換為人類可讀的格式,進而產生對應的自動化測試腳本。同時,它也能夠幫助我們遴選出必要數量的測試案例,以滿足程式碼片段的各種潛在覆蓋率要求。
通常,使用GenAI產生應用程式程式碼的自動化測試腳本,需要以下結構化的三步驟流程:
1. 使用GenAI提取業務規則:作為初始階段,我們需要使用GenAI從應用程式中提煉業務規則。此流程會對提煉到的規則按照詳細程度進行判定,並以人類可讀的格式進行詮釋。此外,GenAI也有助於全面了解給定程式碼段的所有潛在結果。這些知識對於確保創建準確、相關的測試腳本是至關重要的。
2. 利用GenAI在功能層面產生自動化測試腳本:根據提取到的業務邏輯,測試工程師能夠對應用程式的功能擁有全面的了解,以便在功能層面上利用GenAI來開發測試腳本。此步驟涉及確定所需的測試腳本數量,並識別可能被排除在外的場景。當然,這類自動化測試腳本的程式碼涵蓋範圍,往往是由團隊集體決定的。
3. 由主題專家(Subject Matter Experts,SME)進行驗證和推理添加:在最後階段,一旦提取了業務邏輯,並產生了相應的自動化測試腳本,測試專家就會驗證這些腳本,並有權進行新增、修改或刪除等操作。此類幹預解決了GenAI輸出可能產生的潛在機率錯誤,並提高了自動化測試腳本的品質確定性。
上述過程看似複雜,實際上卻能充分利用GenAI的能力,以簡化測試腳本產生的流程,並確保自動化的效率與人類專業知識的完美結合。其中,測試人員在驗證階段的參與尤其重要。這會讓人工智慧產生的輸出結果,能夠建立在實際、真實的應用知識之上,從而顯著提高測試腳本的可靠性和適用性。
小結
綜上所述,作為一種提高效率的工具,GenAI可以透過其NLG能力產生自動化測試腳本,進而提高大型主機現代化的軟體測試過程的準確性和可靠性。同時,GenAI需要透過結構化的三步驟流程,來完善AI產生的輸出結果,並確保自動化腳本不僅在技術上合理,而且在實踐中適用,從而體現AI能力與人類專業知識的和諧統一。而這種整合對於解決現代化大型主機應用程式的複雜性和動態要求,顯然是至關重要的。
譯者介紹
陳峻(Julian Chen),51CTO社群編輯,具有十多年的IT專案實施經驗,善於對內部和外部資源與風險實施管控,專注傳播網路與資訊安全知識與經驗。
原文標題:GenAI-Driven Automation Testing in Mainframe Modernization#,作者:sampath amatam)
以上是生產式AI驅動的主機自動化測試的詳細內容。更多資訊請關注PHP中文網其他相關文章!

在約翰·羅爾斯1971年具有開創性的著作《正義論》中,他提出了一種思想實驗,我們應該將其作為當今人工智能設計和使用決策的核心:無知的面紗。這一理念為理解公平提供了一個簡單的工具,也為領導者如何利用這種理解來公平地設計和實施人工智能提供了一個藍圖。 設想一下,您正在為一個新的社會制定規則。但有一個前提:您事先不知道自己在這個社會中將扮演什麼角色。您最終可能富有或貧窮,健康或殘疾,屬於多數派或邊緣少數群體。在這種“無知的面紗”下運作,可以防止規則制定者做出有利於自身的決策。相反,人們會更有動力製定公

許多公司專門從事機器人流程自動化(RPA),提供機器人以使重複的任務自動化 - UIPATH,在任何地方自動化,藍色棱鏡等。 同時,過程採礦,編排和智能文檔處理專業

AI的未來超越了簡單的單詞預測和對話模擬。 AI代理人正在出現,能夠獨立行動和任務完成。 這種轉變已經在諸如Anthropic的Claude之類的工具中很明顯。 AI代理:研究

快速的技術進步需要對工作未來的前瞻性觀點。 當AI超越生產力並開始塑造我們的社會結構時,會發生什麼? Topher McDougal即將出版的書Gaia Wakes:

產品分類通常涉及復雜的代碼,例如諸如統一系統(HS)等系統的“ HS 8471.30”,對於國際貿易和國內銷售至關重要。 這些代碼確保正確的稅收申請,影響每個INV

數據中心能源消耗與氣候科技投資的未來 本文探討了人工智能驅動的數據中心能源消耗激增及其對氣候變化的影響,並分析了應對這一挑戰的創新解決方案和政策建議。 能源需求的挑戰: 大型超大規模數據中心耗電量巨大,堪比數十萬個普通北美家庭的總和,而新興的AI超大規模中心耗電量更是數十倍於此。 2024年前八個月,微軟、Meta、谷歌和亞馬遜在AI數據中心建設和運營方面的投資已達約1250億美元(摩根大通,2024)(表1)。 不斷增長的能源需求既是挑戰也是機遇。據Canary Media報導,迫在眉睫的電

生成式AI正在徹底改變影視製作。 Luma的Ray 2模型,以及Runway的Gen-4、OpenAI的Sora、Google的Veo等眾多新模型,正在以前所未有的速度提升生成視頻的質量。這些模型能夠輕鬆製作出複雜的特效和逼真的場景,甚至連短視頻剪輯和具有攝像機感知的運動效果也已實現。雖然這些工具的操控性和一致性仍有待提高,但其進步速度令人驚嘆。 生成式視頻正在成為一種獨立的媒介形式。一些模型擅長動畫製作,另一些則擅長真人影像。值得注意的是,Adobe的Firefly和Moonvalley的Ma

ChatGPT用户体验下降:是模型退化还是用户期望? 近期,大量ChatGPT付费用户抱怨其性能下降,引发广泛关注。 用户报告称模型响应速度变慢,答案更简短、缺乏帮助,甚至出现更多幻觉。一些用户在社交媒体上表达了不满,指出ChatGPT变得“过于讨好”,倾向于验证用户观点而非提供批判性反馈。 这不仅影响用户体验,也给企业客户带来实际损失,例如生产力下降和计算资源浪费。 性能下降的证据 许多用户报告了ChatGPT性能的显著退化,尤其是在GPT-4(即将于本月底停止服务)等旧版模型中。 这


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

SublimeText3 Linux新版
SublimeText3 Linux最新版

SublimeText3漢化版
中文版,非常好用

VSCode Windows 64位元 下載
微軟推出的免費、功能強大的一款IDE編輯器

Safe Exam Browser
Safe Exam Browser是一個安全的瀏覽器環境,安全地進行線上考試。該軟體將任何電腦變成一個安全的工作站。它控制對任何實用工具的訪問,並防止學生使用未經授權的資源。

PhpStorm Mac 版本
最新(2018.2.1 )專業的PHP整合開發工具