軟件測試資料庫
輸入機構/課程/服務名稱

軟件測試面試中90%會遇到的問題

2021-12-09 09:01:06
# 軟件測試 # IT培訓



“你會搭建測試環(huán)境嗎?”

面試的時候,遇到這樣的提問,很多人的都會感覺腦子一下一片空白,或者星星點點,不知道從何說起。

一方面不知道面試官問這個問題的意圖是什么?也不知道他想得到的答案是什么?

更加不知道該從哪些方面來回答。下面就這個問題來跟大家分享一些我的經驗和看法。

首先,毋庸置疑的是,面試官問這個問題,想要得到的是你肯定的答案,希望你是一個會搭建測試環(huán)境的優(yōu)秀測試工程師。

我們不管是做什么類型的測試,*基礎的功能測試,需要搭建測試環(huán)境;

進階部分的性能壓力測試,對搭建環(huán)境的要求更高。

所以搭建測試環(huán)境是優(yōu)秀測試工程師的必備技能之一,也是我們開展測試工作的前置條件。

當然有些公司可能會有運維或者研發(fā)部門幫忙準備好測試環(huán)境,但是我們如果一味依賴別的部門,就會大大的局限測試工作的開展,如果別的部門沒有時間或者進度滯后,會直接影響到測試工作的進度和效率;

而且測試環(huán)境如果不是我們負責維護的,后期擴展業(yè)務需要優(yōu)化測試環(huán)境的時候,或者遇到問題要調試的時候,都需要依賴其他部門,會導致測試工作不獨立,也會顯得測試工作人員不專業(yè)。

了解了我們具備搭建測試環(huán)境能力的重要性,那么真正要具備搭建測試環(huán)境的能力,需要掌握哪些技能和知識呢?


一、首先知道測試環(huán)境是什么?

測試環(huán)境(Testing Environment),是指為了完成軟件測試工作所必需的計算機硬件、軟件、網絡設備、歷史數(shù)據的總稱,簡而言之,測試環(huán)境=硬件+軟件+網絡+數(shù)據準備+測試工具。

顯而易見,我們要學會搭建測試環(huán)境,需要具備這5種的技能和知識。

所以,我們針對每一個知識領域大家需要掌握的知識點及其深度和廣度,給大家做個詳細的介紹,希望能給大家作一個指引,知道自己該努力的方向。

硬件,一般測試會涉及到的硬件就是計算機系統(tǒng)相關的內容,比如Windows系統(tǒng),Linux系統(tǒng)和MacOS系統(tǒng)。

測試環(huán)境可以部署在以上任何一種系統(tǒng)上,根據當前被測軟件的具體需求而定。

一般軟件的運行平臺,可能會更多的在Windows系統(tǒng)上;但是相關服務的搭建,比如軟件運行需要交互的服務,或者是軟件后臺的承載服務,都會在Linux系統(tǒng)上搭建。

所以Linux系統(tǒng)相關的命令和操作是我們必須要知道而且熟練的。

Linux系統(tǒng)有很多類型,如CentOS,Ubuntu,Redhat,Debian等,根據產品的具體需求選擇合適的系統(tǒng)就可以。

另外,我們*好還要知道怎么安裝Linux系統(tǒng),因為在很多公司會給我們提供設備資源,需要我們根據需求在服務器上部署Linux系統(tǒng)。這里還需要注意的一點,就是軟件運行對硬件的要求。

通常軟件說明書上會明確軟件對硬件的需求,比如CPU個數(shù),內存大小,硬盤大小,網卡個數(shù)等信息,如果沒有明確要求,我們可以跟開發(fā)或者產品溝通確認。

所以,關于硬件這塊,需要大家對各種操作系統(tǒng)有所了解,特別是能夠操作Linux系統(tǒng)常用命令,能夠安裝系統(tǒng),并且配置IP、路由等基礎網絡(這個在網絡部分會再重點講到),能夠在各種系統(tǒng)上安裝和搭建常用的服務。


二、軟件,包括當前被測的軟件以及相關依賴和交互的軟件。

當前被測軟件的部署,一般在部署好的Linux系統(tǒng)上安裝好服務之后,可以直接在前端通過web或者APP訪問,后端只要部署完成了,前端的運行還是比較簡單的;依賴和交互的軟件,一般是一些支持的軟件,比如JDK,tomcat,數(shù)據庫等。

怎么安裝部署,大家可以去自行百度,網上相關的教程很多,如果找不到,我可以發(fā)相關資料給大家,基本上30分鐘就可以搭建好JDK+tomcat+數(shù)據庫

網絡,這個可能是很多測試人員的一個知識盲區(qū)。

網絡是一個比較龐大的知識體系,涉及的內容特別多而且復雜。

所以大家可以優(yōu)先學習一些跟搭建環(huán)境密切相關的網絡知識,然后自己再慢慢的去滲透和深造。


三、一般的公司網絡環(huán)境,*基本的要求是交換和路由相關的知識。

比如要自己搭建一個網絡拓撲,使用多臺網絡設備(如服務器,路由交換等中間設備,客戶端等),我們需要規(guī)劃和配置IP地址,部署路由和VLAN等相關配置,實現(xiàn)網絡隔離和通信,這樣才可以開展正常的業(yè)務測試;另外,對于一些常用的基礎網絡協(xié)議,如TCP,UDP,HTTP等,*好也能有個基本的認知,因為很多服務都是基于這些基礎協(xié)議實現(xiàn)的,知道這些能夠加深自己的理解,有利于測試的作的實現(xiàn)。

當然,如前面提到的,除了以上網絡設備,我們還需要操作Linux的基本網絡配置,如Linux IP和路由配置,Linux系統(tǒng)命令抓包,調試網絡通信問題等,這些都是需要Linux命令和網絡基礎知識結合在一起使用的。


四、數(shù)據準備,一般指測試數(shù)據的準備。

測試數(shù)據會在測試用例設計的階段設計好,然后軟件運行的時候,作為軟件輸入去驗證軟件功能。

如果是少量、正常的測試數(shù)據,可以直接通過手動方式模擬出來,如果是大量的用戶數(shù)據的模擬,可以借助測試工具來構建,這個接下來的測試工具部分會再詳細講到。


五、測試工具

測試工具是很多測試人員都比較感興趣而且趨之若鶩的一個知識領域。

大家執(zhí)行功能測試的時候,會利用各種工具代替手工,簡化和深化測試;執(zhí)行壓力和性能的時候,就更加需要借助測試工具模擬出來高并發(fā)、高吞吐、高持續(xù)的數(shù)據。

由此可見,工具確實很重要也很實用,縱觀大量招聘公司的職位要求,基本都有“熟悉xxx測試工具”的明確要求項。

我們可以針對自己將要做的測試類型,選擇合適的工具進行學習。

比如你要做的是接口測試,可以選擇Jmeter或者postman;你要做壓力和性能測試,可以學習Loadrunner,IxLoad或者Avalanche的使用;要模擬多種協(xié)議的流量,也可以使用Linux上常用的流量測試工具,如Hping,Curl,ab等;還有一些常用的debug和抓包工具,如fiddler,wireshark等,也可以學習并且使用起來。

總之,工具是輔助測試的好幫手,靈活使用可以讓你的測試效率事半功倍。

當然,這里想補充一句,工具的重要性確實無可厚非,但是大家還是不要盲目崇拜,一味追求工具的學習和使用,因為工具再好也僅僅就是一個工具而已,還是需要專業(yè)測試人員應用良好的測試思路和理念去恰到其分地使用到測試中,才能將其作用發(fā)揮到。

講到這里,可能會有很多人都覺得壓力山大,畢竟要掌握這么多專業(yè)的知識,對任何一個人來說都不是一件易事。如果能夠全部掌握固然是完美,但是對于經驗沒有那么豐富的人,甚至有很多從事測試多年的測試工程師,都無法自信的篤定自己可以在這所有的知識領域里游刃有余。


所以,在你成長成為一個全能型優(yōu)秀測試工程之前,被面試官問到這種問題要怎么辦呢?

這里,我可以分享給大家一些小技巧。

首先,去面試之前,先了解你要去面試的公司具體是個什么類型的公司。

其實這點,不止針對這個問題,應該是針對所有的面試,都應該先弄清楚你要去面試的公司主要業(yè)務和職位要求,有針對的去準備自己的知識點和回答問題的方向,這是面試的一個必備智慧。

好,回到我們今天要討論的環(huán)境搭建的問題,因為不同的公司所需要你具備的搭建測試環(huán)境的能力是不一樣的。

比如是一個傳統(tǒng)的網絡設備公司,如路由交換,防火墻等業(yè)務產品,他會要求你更偏向于的網絡基礎知識多一些,如網絡拓撲的搭建和配置,相關協(xié)議的使用等,所以你可以提前做好相關知識的準備;

如果是傳統(tǒng)的Windows軟件的公司,搭建測試環(huán)境大部分都是跟系統(tǒng)相關的,也就是上面我們講到的硬件部分要求的內容。那么你就可以提前把Linux系統(tǒng)的相關的知識抓緊時間惡補一下;

如果是時下*流行的互聯(lián)網公司,測試web應用,PC 端APP和移動端APP軟件的較多。

搭建這樣的測試環(huán)境,則側重更多的是Linux系統(tǒng)知識,還有相關服務的搭建以及各種工具的使用。 當然,這種分析也只是一個大概的總結,不是正確也不能涵蓋所有的情況,所以大家做一個參考就好。不過,先分析公司類型和業(yè)務,針對崗位需求提前做準備的這種思路,肯定是百利而無一害的。

另外,面試之前,大家一定要根據自己已有的工作經驗和知識體系做好相關的梳理。

大部分面試官,都會要你根據工作經驗描述搭建測試環(huán)境的過程,那么你就需要在實際項目經驗的基礎上,結合自己的知識儲備,然后再有針對性的組織語言去迎合當前面試公司的要求,總結出來一份漂亮而且能滿足對方預期的答案。這么說可能會有些抽象,我們可以來看個具體實例。

面試官:你以前公司測試需要自己搭建測試環(huán)境么?你會自己獨立搭建測試環(huán)境么?

:我們原來公司都是測試人員自己搭建測試環(huán)境的,因為這樣子的測試工作能比較自主獨立的開展,而且后期的維護也會比較方便一些(首先,肯定的回答了問題,告知你是會搭建測試環(huán)境的,而且也表達了你認為測試人員會搭建測試環(huán)境的必要性)。

我們一般會在拿到測試需求的時候,根據需求先把準備環(huán)境好。因為我上一家公司是一家防火墻公司,有自己的設備,也有相應的web應用和APP,所以我會同時測試這些前端應用以及防火墻設備服務(先介紹一下公司的業(yè)務類型以及自己的測試的產品,以方便后面講環(huán)境搭建的重點,這里可以根據自己的實際情況而定)。

所以準備這樣的測試環(huán)境,我們會需要準備兩臺Linux服務器分別模擬客戶端和后端服務器,搭建好測試拓撲,配通網絡就可以(表明網絡基礎配置能力你是具備的);然后Linux系統(tǒng)我們一般也會自己安裝,而且還要準備好相應的服務(表達出Linux系統(tǒng)的操作和常用服務搭建也是OK的);然后我們會用客戶端模擬一些用戶流量,也會在Windows上安裝一些常用的測試工具來模擬用戶數(shù)據來測試產品(常用測試工具也是沒有問題的)。這樣最初的測試環(huán)境搭建基本就完成了。

面試官:所以Linux系統(tǒng)你是會用的對吧?你們一般會安裝一些什么服務?具體操作步驟能簡單描述一下么?(他會根據你的描述挑出來他感興趣的點來細化的問你,比如一些具體的知識細節(jié))

:(這個時候,就需要你回答具體的細節(jié)了,考驗你的技術硬核能力了。當然,如果遇到自己不是很清楚的,一定要避重就輕,聰明的引導面試官問你擅長的領域,比如“這個我不是太了解,但是我用過另外一個xxx,這個我比較熟悉”) ......

總而言之,面試官問你這樣的問題,一方面是想考察你的技術能力,另一方面也想考察你的表達能力。

所以,大家可以對照一下上面列出來的知識點,如果感覺自己的知識儲備不足,一定要好好補一下。


*文章內容和圖片均來源于網絡,如有侵權,請聯(lián)系刪除。

查看剩余內容
loading
Hi,我是教育寶平臺顧問 添加我的微信,在查找或下載資料時,有任何問題,我會隨時為您解決~
loading
掃描二維碼 添加顧問微信

點贊

收藏

資深學習規(guī)劃師,免費幫您答疑解惑,定制學習方案
限時免費咨詢
喜歡此內容的人還喜歡
  1. 軟件測試工程師行業(yè)前景怎么樣?學了有用嗎?
    就業(yè)
    # IT技術培訓 # 軟件測試培訓
  2. 軟件測試難不難學?學什么?零經驗可以做軟件測試嗎?
    攻略
    # IT技術培訓 # 軟件測試培訓
  3. 軟件測試工程師需要重視的三點
    攻略
    # IT培訓 # 軟件測試師
  4. 對軟件測試流程流程、質量管理過程、項目管理要非常熟悉
    攻略
    # 軟件測試 # IT培訓
  5. 學習自動化測試的基礎是掌握一門編程語言
    攻略
    # 軟件測試 # IT培訓
  6. 軟件測試是鑒定軟件的正確性、完整性、安全性和質量的過程
    科普
    # 軟件測試 # IT培訓
職位/薪酬更多
教育寶IT技術頻道
教育寶致力于打造中國最專業(yè)的IT技術學習平臺,為IT技術學員、教育機構、從業(yè)者和上下游搭建連接、互動、交流和賦能平臺。