四虎国产精品永久地址998_chinesexxx少妇露脸_日本丁香久久综合国产精品_一区二区久久久久_四虎av影视_久久久久国产一区二区三区不卡

中培偉業IT資訊頻道
您現在的位置:首頁 > IT資訊 > 學習交流 > 淺論自動化測試及其Docker的使用

淺論自動化測試及其Docker的使用

2018-01-09 17:21:51 | 來源:中培企業IT培訓網

隨著軟件測試的快速發展,自動化測試已經成為當前的主流技術。中培《軟件自動化測試與持續集成最佳實踐》專家劉老師指出,從使用的基本技術來說,自動化集成測試和單元測試在很多方面都很相似。你可以使用相同的測試運行器和構建系統的支持。自動化集成測試和單元測試的主要區別在于使用了相對較少的mocking。

當一個單元測試簡單地模擬從后端數據庫返回的數據時,集成測試則會使用一個真實的數據庫來測試。數據庫是一個你需要的測試資源類型以及能暴露問題的極好例子。

自動化集成測試可能會很棘手,在選擇時需要小心。

假如你在測試一個只讀的中間件適配器,例如數據庫的SOAP適配器,可能需要使用產品數據庫的拷貝來做測試。數據庫的內容需要可預測和可重復,否則很難去編寫和運行測試。

這里的附加價值在于我們在使用產品數據的拷貝。它可能包含了從頭開始創建測試數據時很難預測到的數據。這和人工測試的需求一樣。使用自動化集成測試,你需要更多的自動化而不是人工測試。對于數據庫來說,這并不是很復雜。自動化的數據庫備份和恢復是眾所周知的操作。

在構建自動化測試實驗臺時,使用Docker會非常方便。它在功能性的級別上添加了一些單元測試的特性。如果你的應用由集群中的幾個服務器組件構成,你可以用一些容器來模擬整個集群。Docker為集群提供了虛擬網絡,在網絡層面上讓集群中的容器交互。

Docker可以很容易將容器恢復到一個已知的狀態。如果你在Docker容器中運行測試數據庫,你可以很輕松地將數據庫恢復到測試開發之前的相同狀態。這和單元測試中After方法恢復環境類似。

持續集成服務器Jenkins已經支持啟動和停止容器,在使用Docker做自動化測試時會比較有用。

使用Docker Compose來運行你需要的容器也是一個有用的選擇。劉老師指出,Docker還很年輕,使用Docker做測試自動化有時候需要編寫并不優雅的膠水代碼(glue code)。

舉個簡單的例子,啟動可以交互的一個數據庫容器和一個應用服務器容器。啟動容器的基本過程比較簡單,并且可以通過shell腳本或者Docker Compose來完成。但是,由于我們要在已經啟動的應用服務器上運行測試,如何才能知道它已經正常啟動了?在WildFly容器的場景下,除了監控輸出日志中特定字符串的出現或者輪詢web socket之外,沒有什么明顯方式判斷容器的運行狀態。在任何情況下,這些hack的方式都不甚優雅,而且實現起來比較耗時,盡管這種方式具有一定的實用價值!

想了解更多IT資訊,請訪問中培偉業官網:中培偉業

主站蜘蛛池模板: 贡觉县| 和静县| 辉南县| 德化县| 东台市| 柳州市| 贵溪市| 罗甸县| 汨罗市| 永定县| 衡水市| 潼南县| 汶上县| 凤山市| 莱州市| 五指山市| 凌源市| 英山县| 伊川县| 牡丹江市| 山阳县| 永嘉县| 仲巴县| 吴川市| 涟源市| 灌南县| 芷江| 荆州市| 娄底市| 永兴县| 兰考县| 涪陵区| 万全县| 梓潼县| 卓资县| 淮安市| 固阳县| 白河县| 龙里县| 磐石市| 彭山县|