標籤:

軟體測試的環境部署怎麼做?

求各位專業的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%AE

    HTTP深入淺出 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:軟體測試 |