一、什么是測試環境
測試環境,指為了完成軟件測試工作所必需的計算機硬件、軟件、網絡設備、歷史數據的總稱,簡而言之,測試環境=硬件+軟件+網絡+數據准備+測試工具。
-
硬件:指測試必需的服務器、客戶端、網絡連接等輔助設備。
-
軟件:指測試軟件運行時的操作系統、數據庫及其他應用軟件。
-
網絡:指被測軟件運行時的網絡系統、網絡結構以及其他網絡設備構成的環境等。
-
數據准備:一般指測試數據的准備。測試數據會在測試用例設計的階段設計好,然后軟件運行的時候,作為軟件輸入去驗證軟件功能。如果是少量、正常的測試數據,可以直接通過手動方式模擬出來,如果是大量的用戶數據的模擬,可以借助測試工具來構建。
-
測試工具:工具是輔助測試的好幫手,針對將要做的測試類型,可選擇合適的工具讓我們的測試事半功倍。比如接口測試,可以選擇Jmeter或者postman;抓包工具,可以選擇fiddler,wireshark等。
二、搭建測試環境的原則
1. 真實
要求測試人員盡量模擬用戶的真實使用環境。我們應該選用合適的操作系統和軟件平台,了解符合測試軟件運行的最低要求及用戶使用的硬件配置,考慮到與其他軟件共存時,是否能正常運行等。
2. 無毒
若搭建的測試環境感染病毒,會導致測試軟件經常出現莫名的崩潰,運行不起來等現象,導致測試中斷。使用正版殺毒軟件防止病毒感染測試環境,保證無毒環境。
3. 獨立
測試過程中要確保我們的測試環境獨立,避免測試環境被占用,影響測試進度及測試結果。有時開發人員為確定問題會使用我們的測試環境,這樣會打亂我們的測試活動。為避免這種情況,測試環境與開發環境應相互獨立,開發人員根據缺陷表單,在開發環境中復現和定位問題。
4. 可復用
當我們剛搭建好測試環境,安裝測試軟件之前及測試過程中,對操作系統及測試環境進行備份是必要的。在當測試環境遭到破壞時,可以恢復測試環境,避免測試數據丟失,出現不可預知的問題。
三、如何搭建測試環境
1.認識LNMT架構
這里主要介紹測試環境服務端的部署。不同公司的服務端部署都不一樣。互聯網公司比較典型的部署框架LNMT(Linux+Nginx+Mysql+Tomcat)如下圖:
-
瀏覽器和APP端是通過HTTP協議跟服務器進行交互的。
-
Nginx,有些公司也用Apache。這是常用的HTTP服務器和反向代理服務器。Nginx是用來提供靜態資源的服務,Nginx接收到來自瀏覽器的請求以后,判斷這個請求是否是靜態資源(以JS、CSS、HTML、PNG等結尾的靜態文件),如果是,則Nginx直接返回相應文件;如果不是靜態資源,是動態請求,比如,請求某一個日志的內容,則Nginx會把請求轉發給Tomcat來處理。
-
Tomcat,是處理動態的HTTP請求,調用各種其他服務,完成相應的任務,並返回HTTP響應給Nginx。如果涉及到寫日志、讀日志等數據相關的操作,就需要對數據庫進行讀寫。另外,由於這些動態請求也會依賴一些第三方服務,比如說要調用支付寶的支付服務,那么它就會再發起一個HTTP請求到支付寶的對外服務器。它處理完整個邏輯之后,就會把相應的內容返回給Nginx,然后由Nginx返回給瀏覽器。
-
Mysql數據庫,將各種數據有序的管理起來,並對其他應用提供統一的接口和服務。
2. LNMT架構部署
此處主要介紹搭建環境的思路,更詳細的配置步驟不再贅述。
1) 申請虛擬機器
申請兩台虛擬機A和B,機器A作為Nginx服務器+Mysql服務器;機器B作為2台Tomcat服務器。
2) 在機器A上安裝和配置Nginx
-
下載並安裝Nginx
-
配置環境變量
-
啟動Nginx
3)在機器A上安裝Mysql
-
下載安裝包並解壓
-
添加環境變量
-
初始化數據庫
-
啟動Mysql
4)在機器B上部署兩台Tomcat
-
關閉防火牆和selinux
-
安裝jdk環境
-
下載Tomcat並解壓兩次,目錄不同
-
兩台Tomcat建立軟鏈接
-
修改其中一台Tomcat的配置文件server.xml,避免端口沖突。server.xml配置的是地址、端口、最大連接數、編譯好的應用程序目錄等信息
-
啟動Tomcat服務
-
驗證部署成功,即瀏覽器輸入ip地址+端口號能成功訪問
5)配置Nginx
-
配置負載均衡和兩個Tomcat的反向代理
-
檢查語法並加載Nginx
-
驗證配置成功
總結
對於測試人員來說,對於這一整個機制需要理解,比如,各個工具的作用是什么,各個配置文件的意義是什么,各塊的配置是怎么連起來的。
在搭建測試環境的過程中要多跟開發、運維溝通。測試環境的搭建和維護處在重要的位置,它的好壞直接影響測試結果的真實性和准確性。維護測試環境需要大量的精力,不是一個人能完成的,需要我們大家積極配合。