軟體測試的環境部署怎麼做?
求各位專業的IT或是測試大牛能告訴我環境部署怎麼做呢?每次我都是說根據測試文檔安裝相應軟體,環境變數設置!準備相關材料!總覺得回答不夠好!求解正確答案?
謝邀。
是面試的時候被面試官問到環境部署的問題嗎?如果是這樣,那你這樣回答是不夠的,怎麼不夠?且聽我細細道來。
面試官可能是想考察你對環境部署這塊知識的掌握程度,注意,不是測試客戶端的環境部署,而是整個測試環境服務端的部署啊。你這樣回答,那面試官會認為你對測試環境部署一點都不懂的哦。
不過,不同公司的服務端部署都不一樣,在這裡還真不好亂說,還是說說我們公司的環境部署吧。- 要理解這個框架,首先你需要了解的是HTTP協議,因為瀏覽器和APP端是通過HTTP協議跟伺服器進行交互的。可以參考這些資料: https://zh.wikipedia.org/wiki/%E8%B6%85%E6%96%87%E6%9C%AC%E4%BC%A0%E8%BE%93%E5%8D%8F%E8%AE%AEHTTP深入淺出 http請求HTTP協議詳解(真的很經典)
- Linux,因為服務端一般都是部署在Linux上的,所以需要掌握Linux的常用命令。推薦看這本書:鳥哥的Linux私房菜.基礎學習篇(第三版) (豆瓣)
- 然後就是Nginx,有些公司也用Apache。這是常用的HTTP伺服器和反向代理伺服器。一般來說是用Nginx來提供靜態資源的服務,Nginx接收到來自瀏覽器的請求以後,判斷這個請求是否是靜態資源(以JS、CSS、HTML、PNG等結尾的靜態文件),如果是,則Nginx直接返回相應文件;如果不是靜態資源,是動態請求,比如,請求某一個日誌的內容,則Nginx會把請求轉發給Tomcat來處理。我們如果是自己學習的話,可以把Nginx直接省略,直接用Tomcat搞定靜態資源和動態資源的HTTP請求。
- Tomcat,Tomcat一般來說是處理動態的HTTP請求的,調用各種其他服務,完成相應的任務,並返回HTTP響應給Nginx。如果涉及到寫日誌、讀日誌等數據相關的操作,一般來說需要對資料庫進行讀寫。另外,由於這些動態請求也會依賴一些第三方服務,比如說要調用支付寶的支付服務,那麼它就會再發起一個HTTP請求到支付寶的對外伺服器。它處理完整個邏輯之後,就會把相應的內容返回給Nginx,然後由Nginx返回給瀏覽器。可以參考這個資料:Tomcat容器入門介紹
- Java,要讓Tomcat運行起來,首先需要安裝Java開發環境JDK,可以到這個地址下載:Java SE Development Kit 8
- Mysql資料庫的安裝可以參考這個文檔:MySql安裝配置及使用入門
現在,伺服器相關的工具已經安裝好,就要開始正式部署環境了。
- 開發代碼build,開發的源代碼需要編譯和部署,我們公司採用的是Maven來進行代碼的編譯,用Git來存儲代碼,如果要做源代碼的編譯和部署,需要了解這兩個工具的使用。
- 在Nginx目錄中找到nginx.conf文件,配置服務的地址、埠、最大連接數、Tomcat連接等。
- 在Tomcat目錄中找到server.xml和web.xml文件進行配置,簡單來說,server.xml裡面配置的也是地址、埠、最大連接數、編譯好的應用程序目錄等信息;web.xml配置的是什麼樣的請求匹配什麼樣的servlet。
服務類型的這種需要打包的一般是 用工具 Jenkins,配合其他工具使用,自動更新代碼,打包,上傳伺服器,重啟,全自動化
每個項目用的環境都不一樣,沒法說具體啊,只能說參考文檔搭建。。。。
你問他,你們公司怎麼保障測試環境的一致性?什麼你們都是自己獨立安裝沒有統一測試環境?你信不信我咔咔咔三下就能不用測試環境測出bug來?什麼,你不信!???
你不信你不給我提供測試環境模版guideline?!我認為這取決於被測對象,不同產品,不同測試方法,不同的測試階段,環境都有不同,這個提問本身就不嚴謹,得不到一個準確的答案。
還有,其他回答我看都是在扯淡,什麼都沒弄明白就開始搭搭搭
1每個公司的具體情況不一樣的啦,可以先說你是參考部署文檔來做的;2你就直接說你是如何部署linux測試環境的唄,開發發包,你用的啥工具XSHELL等工具連接的應用伺服器,用的FTP等工具來更換測試包,在XSHELL上面經常使用的linux命令說一些就行了啊,比如KILL -9 殺死TOMCAT應用的進程,用FTP先備份上一版本的測試包,再更換當前的測試包,啟動服務就行了啊,./startup.sh tail -f catalina.out 開啟服務並查看啟動日誌,看提測包是否報錯就行了啊
想像現在扔給你一台空白的linux機器,叫你自己部署自己負責的測試域。down代碼,依賴git,安裝git。build代碼,gradle項目,依賴java,安裝jdk。服務跑起來,需要配置相應的環境變數。服務要用到mc,安裝mc,用到redis安裝redis,寫庫,安裝資料庫。。。用到tomcat就裝tomcat,
跟著服務跑起來要經過哪裡走,不懂問問運維,碰到坑總結積累下
配置好安裝好,跑一下驗證下,然後考慮腳本化。這個看你使用的是什麼工具吧,是哪種測試工具呢?比如自動化測試工具TestWriter自動化測試工具-軟體測試人必備工具,環境部署:WEB平台測試:
需要安裝SQLsever 2008R2
Andriod平台測試:
1、下載工具JDK以及SDK
JDK
SDK
Android SDK提供了開發Android應用程序所需的API庫和構建、測試和調試Android應用程序所需的開發工具。
2、下載並安裝Appium
Appium 是一個開源、跨平台的自動化測試工具,用於測試原生和輕量移動應用,支持 iOS, Android 和 FirefoxOS 平台。
3、下載並安裝SQL sever2008R2
此版本支持win7系統,若電腦為win8、win10系統,請對應下載版本進行安裝。
二、配置相應的環境變數:
1、 配置SDK環境變數:
增加系統變數:ANDROID_HOME=C:Program
Files (x86)Environmentsdk(安裝路徑)
Path新增:
%ANDROID_HOME%;%ANDROID_HOME%platform-tools;%ANDROID_HOME% ools;
2、 配置JDK環境變數:
增加系統變數:CLASSPATH=.;%JAVA_HOME%libdt.jar;%JAVA_HOME%lib ools.jar;
增加系統變數:JAVA_HOME=
C:Program Filesjavajdk*.*.*_**(安裝路徑)
Path新增%JAVA_HOME%in;
3、 配置Appium環境變數:
增加系統變數:APPIUM_HOME=
C:Program Files (x86)EnvironmentAppium(安裝路徑)
Path新增%APPIUM_HOME%;
war + mysql + redis + tomcat
首先,如果面試官沒有給定具體的框架,這麼說固然穩妥,但可以理解為套話,沒有實際內容,建議自己整理一套自己用過框架下環境部署的案例,這樣會讓面試官直觀了解你的技術能力。第二,環境部署,無外乎伺服器軟硬體裝配調試、資料庫部署、應用伺服器部署和客戶端的軟體安裝調試。可以自己參照常見的主流的部署方法自己總結。最後,在部署過程中不僅要參照部署文檔,還要參考個軟體的使用說明文檔。另我覺得面試官更多是考察你獨立解決問題的能力。
推薦閱讀:
※想進入IT行業,0基礎,該怎麼開始學習?
※本人信管專業,16年畢業,現在在自學軟體測試,也投了一些簡歷,但沒有面試機會,怎麼獲得面試機會?
※QA 這個職位在中國有前途么?
TAG:軟體測試 |