特色
    Tricentis虛擬峰會將於2022年回歸

    這種完全在線和免費參加的會議是信心滿滿地提供創新的關鍵。

    現在注冊
    特色
    得到Tricentis認證

    開始你的學習之旅。

    查看課程
    特色
    您的轉換工具包

    使用我們的轉換工具包推進您的企業測試策略。

    了解更多
    圖像

    軟件測試

    端到端測試:一個端到端克服7個常見挑戰的指南

    端到端測試——試圖通過從頭到尾測試應用程序的整個工作流程,包括所有集成和與其他係統的依賴關係,來重新創建用戶體驗——現在比以往任何時候都更加困難。

    的挑戰端到端測試在過去幾年裏,隨著企業IT技術的爆炸式增長,它們的數量急劇增加;這導致了空前數量的應用程序,所有這些應用程序都是高度分布和相互連接的。

    但是正是這種情況使得組織必須進行端到端測試。

    【你可能喜歡:如何掌握企業端到端測試

    揭開端到端測試的當前狀態:企業IT爆炸的內部

    目前,平均每家公司使用的應用程序超過900個MuleSoft的2022年連接基準報告一個單一的業務工作流可能會通過微服務和api接觸到幾十個這樣的應用程序。為了確保業務流程持續運行,測試人員必須跨多個應用程序複製用戶執行的工作,並確保當其中一個應用程序更新時,這些工作流不會受到影響。

    正在進行的雲遷移使事情更加複雜。酸性合資夥伴的《雲計算狀況報告》指出,目前已有140多家公有和私有雲計算公司的估值達到或超過10億美元。報告的作者稱,按照目前的增長速度,雲技術在幾年內將滲透到幾乎所有的企業軟件中。這意味著,隨著企業雲遷移過程的進行,測試必須在異構體係結構中發揮作用。

    當所有這些企業IT係統以不斷增長的速度發展時,要真正保護用戶體驗,測試完整的端到端業務流程是至關重要的,它可能跨越多個應用程序、體係結構和接口。這是因為應用程序的任何給定部分在與另一個係統協同工作時與單獨工作時的功能可能不同——後者並不是真實的場景。考慮到這種情況,領先的行業分析師呼籲端到端測試作為一個關鍵的能力,這並不奇怪測試自動化軟件

    盡管這種需求不斷增長,但端到端測試並不容易。今天的應用程序不僅以快速的速度發展,而且它們經常與企業IT環境中的其他係統高度連接。這些連接創建了大量的依賴關係,結果,許多潛在的測試失敗點。手動執行大量的端到端測試幾乎是不可能的,除非您有大量的時間,但是端到端測試自動化有它自己的挑戰。

    事實上,穀歌甚至“說不”進行更多的端到端測試他引用了測試腳本的相對不穩定性,每次更新連接的應用程序時都需要更新,這造成了很大的維護負擔。盡管存在這些挑戰,全麵的端到端測試仍然提供了保護用戶體驗的最佳解決方案,這應該是從業務分析師到開發人員和測試人員的每個人的最終目標。下麵我們來看看最主要的端到端測試挑戰,以及如何正確的過程和測試工具可以幫助你克服困難。

    直麵端到端測試:前七個挑戰+解決它們的最佳實踐

    毫無疑問:成功的端到端測試具有挑戰性。但對於現代測試組織來說,這也是很容易實現的。成功隻是理解挑戰,找出克服挑戰的最佳方法,並引入正確的流程和技術來幫助將這些計劃付諸行動。

    考慮到這一點,以下是7大端到端測試挑戰,以及如何解決這些挑戰的最佳實踐。

    1)在不同的複雜應用和程序中進行測試

    適當的端到端測試可能包括企業應用程序(如SAP、Salesforce、Oracle、ServiceNow等)和定製開發的、麵向客戶的應用程序的組合。格裏高爾·霍普“架構師電梯”總結了為什麼跨不同的、相互關聯的係統進行測試如此困難:

    “複雜的、高度相互依賴的係統往往對故障狀態知之甚少,而且故障範圍很大:很難知道哪裏可能出錯;如果真的出了問題,很難知道到底發生了什麼;如果其中一個部件壞了,問題就會產生多米諾骨牌效應。”

    當然,正是這種複雜性使得端到端測試如此重要,特別是在devops驅動的世界中,速度是優先考慮的,應用程序變化如此之快.為了解決這個挑戰並保持速度,組織必須引入先進的測試自動化工具。測試技術在這方麵有很大的不同,因為當涉及到測試應用程序中所有必要的工作流(包括與其他應用程序的所有連接點)時,組織必須以高水平的自動化為目標,以保持必要的速度和覆蓋率。

    2)考慮整體維護挑戰

    端到端測試非常難以維護。這是因為每當應用程序的用戶界麵的一個組件更改時,測試需要隨之更新。在今天這個頻繁更新的世界裏,這可能意味著相當多的變化。如果您的測試沒有更新以匹配UI更改,它們可能會錯過降低用戶體驗的關鍵bug。

    應對這些挑戰的最佳方法之一是根據風險將某些工作流的優先級排在其他工作流之上,這樣QA團隊就不會因為為每個可能的工作流編寫和重寫端到端測試而不知所措。由於上述原因,端到端測試絕對是必須的,但如果測試人員還自始至終使用較低級別的測試(如單元測試和集成測試),則不是應用程序的每個單獨區域都需要這種級別的審查。

    3)對抗測試中的薄片

    除了總體維護挑戰之外,端到端測試往往是“不可靠的”,因為它們旨在模擬真實的場景。因此,網絡條件、API故障和係統負載等因素會影響這些測試的結果。

    此外,所使用的測試解決方案很重要,特別是考慮到以必要的速度進行端到端測試所需的測試自動化水平。例如,Selenium是一個有用的工具,但它可以創建脆弱的測試(由於數據、上下文和與外部服務的關係等因素),這使得Selenium非常有用,但隻有在您的組織擁有維護和更新測試腳本的資源時才有用。

    使用基於模型的測試自動化——例如,使用類似於Tricentis托斯卡-可以幫助對抗端到端測試的不穩定本質。Tosca的模塊化測試設計消除了端到端測試自動化通常具有挑戰性的維護負擔。它的無代碼方法意味著不需要腳本知識,所以測試人員可以開始並快速擴展端到端測試自動化,不管他們的技能集如何。由於它是為企業打包的應用程序和定製開發的軟件構建的,因此非常適合測試跨越兩者的端到端工作流。要了解它是如何工作的,請觀看網絡研討會:如何掌握企業端到端測試:一種可伸縮的、無代碼的方法

    4)處理越來越多的連接應用程序

    平均而言,組織需要訪問33個不同的係統進行開發和測試。這意味著在整個測試過程中存在對web服務和第三方的大量依賴,其中許多可能是組織的QA團隊無法控製的外部係統。而且這些連接不斷增加,這隻會增加端到端測試期間需要考慮的應用程序數量。

    在端到端測試中包括那些連接的係統,當它們自身快速變化時,可能是一個挑戰。根據收取模擬費用的係統數量,它也可能變得相當昂貴。解決這一挑戰的辦法在於服務虛擬化可以模擬那些外部係統進行端到端測試的解決方案,這樣測試人員就不必為昂貴的模擬支付費用或依賴於係統的實時版本(可能會遇到導致測試不穩定的問題)。最終,這種類型的解決方案消除了許多測試人員在與連接的應用程序交互時無法控製的因素。

    5)使用相對較慢的測試

    端到端測試通常比其他類型的測試慢得多,這對於需要即時反饋以便快速做出反應的devops驅動團隊來說是一個挑戰。最終,相對較慢的端到端測試速度使得迭代反饋變得困難。這種挑戰隻會隨著端到端測試數量的增加而加劇。

    這個挑戰可以追溯到兩個關鍵的解決方案:(1)增加自動化以幫助保持整個測試的速度,因為自動化測試總是比手動測試運行得更快,(2)確定哪些工作流需要端到端測試,哪些不需要。後一種解決方案尤其重要,因為對於組織來說,在其應用程序中對每一個可能的工作流進行端到端測試是不現實的。相反,重要的是確定應用程序中的頂級工作流(根據使用級別或關鍵業務功能),並優先考慮端到端測試,同時在整個過程中補充較低級別的測試。

    6)使用正確的測試數據

    測試人員花費最多的時間僅僅是為測試尋找和準備正確的數據。端到端測試需要各種各樣的數據,不管它們是手動的還是自動的。例如,測試人員可能需要追蹤曆史數據或與主題問題專家交談以獲得正確的數據。在某些情況下,組織引入生產數據並出於安全目的對其進行匿名化,但這種方法增加了另一層複雜性,並可能在任何類型的審計中產生風險。

    幸運的是,有另一種方法可以在不增加使用生產數據所產生的複雜性的情況下加快此過程:引入測試數據管理工具自動化合成測試數據的創建。測試人員可以使用這個合成測試數據運行大約80-90%的必要測試,它模擬了生產數據,但不承擔同樣的風險,因為它不是真正的用戶數據。由於測試數據管理工具可以自動創建這個合成數據,它使整個過程更快。

    7)確保團隊之間的一致性

    所有涉及到端到端測試的複雜性變得更加具有挑戰性如果測試是分布的而不是集中的, Tricentis創始人沃爾夫岡·普拉茨(Wolfgang Platz)為《信息世界》(InfoWorld)撰文。通過端到端測試,整個團隊——從業務分析人員到開發人員和測試人員——需要一起工作,當每組用戶使用不同的工具,信息不能從一組傳遞到另一組時,這是不容易的。當這種情況發生時,團隊最終不得不重複工作或在工具之間構建自定義集成。最終,它會導致誤解和溝通障礙。

    為了交付一個更平滑的端到端測試過程,團隊應該對齊一個解決方案,該解決方案可以跨每個團隊使用的各種技術同步信息。這樣做可以創建一個單一的真相來源,以消除溝通問題,並使從一個團隊到下一個團隊的交接更有效。此外,由於端到端測試連接了前端參與係統和後端記錄係統之間的測試,以評估完整的用戶體驗,這種跨團隊的一致性不僅改善了內部用戶的測試過程,而且在打包的和麵向客戶的應用程序之間提供了更好的結果。

    端到端測試具有挑戰性,但是組織必須優先考慮它

    這是無法回避的:端到端測試是具有挑戰性的,企業it的爆炸式增長和日益快速的變化速度隻會使它進一步複雜化。然而,正是這些原因使得端到端測試對於組織定期進行非常重要。

    具體來說,應用程序之間的所有依賴關係都會產生不同的故障點,並且需要為用戶模擬真實場景的更完整的測試。雖然組織不可能實際地將端到端測試應用到應用程序中的每一個工作流中,但他們確實需要將這種更高級別的測試應用到高度使用的“任務關鍵”工作流中。

    成功地交付這一需求(包括保持必要的速度和克服測試維護、脆弱等方麵的挑戰)的關鍵在於引入正確的技術和過程。這樣做可以改善維護需求,減少不穩定的測試,加快測試設置和反饋時間,幫助保持所有用戶一致,還有許多其他好處。

    Baidu
    map