原創|使用教程|編輯:鄭恭琳|2021-03-18 16:16:18.263|閱讀 204 次
概述:
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
相關鏈接:
在上一篇有關服務虛擬化的博客文章中,我討論了使用虛擬響應來模擬仍在發展或尚不可用的應用程序行為進行測試。今天,我要解決下一個問題——如果由于后端系統的行為需要某些異常配置而無法使用常規應用程序創建其他要求或條件,該怎么辦?
服務虛擬化不僅使我們不受限制地訪問后端系統和技術,而且使我們能夠控制這些組件提供的響應,從而使我們能夠應對這一挑戰。通常,服務虛擬化用于模擬環境中相關組件的快樂路徑行為,或者在缺少組件時填補空白,但這還有另一面。我們可以顛倒該工作流程,并使用服務虛擬化來模擬現有組件的異常行為。
什么是異常行為模擬?最簡單地,它是指以可預測的方式從服務提供否定響應,以驗證或防范特定的應用程序行為。為了說明這個概念,我們可能考慮一種情況,開發人員希望對上游的應用程序進行防彈。對于每個開發人員來說,這聽起來都是一項重要的任務,但是實際上,這通常是不可能的。
想象一下,開發人員構建了一個利用PayPal的購物車應用程序,并希望構建一些處理PayPal中斷的功能。也許他們想確保如果PayPal突然下線或發送負面響應,最終用戶不會失去進度。在實際環境中測試此條件將是一個挑戰。如果沒有虛擬化,開發人員將如何做到這一點?想像一下打給PayPal的電話:“您今天可以讓服務器超時幾個小時嗎?”這不僅不是一個很好的對話,而且即使他們偶然引入了負面行為,也會影響整個開發環境。那天想對PayPal API進行測試的任何人都會受苦。
這就是服務虛擬化如此強大的地方。由于開發人員可以控制虛擬服務,因此他們很容易配置這種異常行為。他們可以通過參考PayPal或任何第三方服務合同提供的WSDL或Swagger文檔,在自己的專用端點上創建虛擬PayPal接口。然后,他們將進入虛擬服務并將其設置為“ 500 Internal Server Error”。這將使開發人員可以看到在這種情況下代碼會發生什么。再進一步,他們可以模擬“ 200 OK”,但使用格式錯誤的JSON進行響應,甚至將服務設置為以相當長的延遲進行響應,以了解發生了什么。可能性是無止境。
這種類型的按需異常測試是無價的。它使開發人員可以在控制所有類型的異常響應行為的同時調整代碼。這樣可以加快驗證過程,并總體上改善應用程序代碼。但這不是止步不前的地方。還有其他一些通常沒有考慮的領域,在這些領域中,模擬異常服務行為對于開發組織可能是一個很大的好處,那就是“缺陷虛擬化”的概念。
將缺陷虛擬化視為“負面重放”。您正在做的是為應用程序“存在”創建異常環境。考慮一下碰撞測試假人–您不會在正常情況下將碰撞測試假人設置在只會駛下道路的汽車中。可能是,已將假人放置的環境進行了特殊配置,以給他提供一個相當糟糕的一天。
缺陷虛擬化也是如此。模擬可能在外部發生的負面條件將迫使應用程序暴露某種意外行為。這可以非常強大,因為您可以使用該模擬環境來重現質量檢查或開發團隊的行為。該團隊可以進行此模擬,并親自查看問題所在。這將一致地重播他們的負面行為,并且在修復應用程序的過程中,他們可以在負面環境中“重播”該方案,以確保新代碼已解決該問題。
在Parasoft Virtualize的相關視頻中,將看到如何按需測試異常情況。我還將揭露我的應用程序中的缺陷,并展示如何通過異常測試可靠地重播暴露該缺陷的條件。現在您可以,親自操作了解。
本站文章除注明轉載外,均為本站原創或翻譯。歡迎任何形式的轉載,但請務必注明出處、不得修改原文相關鏈接,如果存在內容上的異議請郵件反饋至chenjj@fc6vip.cn