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