測試工程師真的不需要懂網(wǎng)絡(luò)知識么?
隨著現(xiàn)在互聯(lián)網(wǎng)公司的普及,越來越多的測試工程師從事web應(yīng)用測試和移動APP測試類的產(chǎn)品,更加偏向應(yīng)用。
所以導(dǎo)致越來越多的測試工程師對網(wǎng)絡(luò)基礎(chǔ)知道的甚少。
我曾經(jīng)做過一個小調(diào)查,大概200多個測試從業(yè)者中只有不到20人知道如IP協(xié)議和路由協(xié)議這樣的基礎(chǔ)網(wǎng)絡(luò)知識,這樣的現(xiàn)象一點(diǎn)都不夸張。
那么不懂網(wǎng)絡(luò)知識,測試工程師真的能走得很遠(yuǎn)么?
我是在2010年左右進(jìn)入測試行業(yè)的,那個時候互聯(lián)網(wǎng)行業(yè)還沒有現(xiàn)在這么繁榮,需要測試崗位的公司很多都是一些傳統(tǒng)公司。
比如路由交換設(shè)備廠商:思科,華為,華三等;
防火墻VPN的安全廠商:如Juniper,深信服,360等;
還有一系列外企:如IBM,Oracle,F(xiàn)5等。
這些公司的測試工程師,對于網(wǎng)絡(luò)基礎(chǔ)知識的要求相對比較高,不僅在筆試面試中會作為招聘的門檻,而且在具體測試工作開展過程中,也需要實(shí)施和使用到。
我在北京就職的其中一家公司就是SSL VPN的一家外企,所有測試工作中很重要的一個部分就是需要自己準(zhǔn)備測試環(huán)境,也就是要根據(jù)需求自己設(shè)計(jì)出來對應(yīng)的測試網(wǎng)絡(luò)拓?fù)鋱D。
然后協(xié)調(diào)到資源之后,在實(shí)驗(yàn)室把這個網(wǎng)絡(luò)搭建并且調(diào)通。
這個過程如果沒有豐富的網(wǎng)絡(luò)知識儲備,你就可能會被block在網(wǎng)絡(luò)環(huán)境準(zhǔn)備階段,無法真正的開始執(zhí)行測試用例,因?yàn)闆]有環(huán)境的承載,測試軟件根本無法運(yùn)行。
當(dāng)然,可能在你作為一個新人的時候,能夠去請求別的同事的支援,協(xié)助你配置網(wǎng)絡(luò)和準(zhǔn)備測試環(huán)境。
但是如果你一直需要別人的幫助才能完成本來屬于你的測試工作,那么相信公司也會開始考慮是不是需要你這樣一個比較雞肋存在。
說到這里,可能有些同學(xué)會說,我現(xiàn)在并不在這些傳統(tǒng)行業(yè)上班,而且現(xiàn)在傳統(tǒng)行業(yè)也不太景氣了。
我就在互聯(lián)網(wǎng)公司工作,我掌握測試?yán)碚摚煜じ鞣N測試方法,熟練使用各種測試工具就可以了,網(wǎng)絡(luò)知識對我還有那么重要么?
答案是肯定的。
如果想要在測試行業(yè)走的很遠(yuǎn),就算是互聯(lián)網(wǎng)公司,網(wǎng)絡(luò)基礎(chǔ)知識仍然是一個測試工程師的一個必備技能,區(qū)別可能只是你掌握的深和淺的問題。
如果你現(xiàn)在從事的是web應(yīng)用測試,你在瀏覽器上輸入一個URL進(jìn)行訪問,服務(wù)器會給你返回一個頁面,請問你了解這個過程是怎么實(shí)現(xiàn)么?
如果你現(xiàn)在測試的是手機(jī)APP應(yīng)用,手機(jī)連接wifi或者4G網(wǎng)絡(luò)是怎么上網(wǎng)的,這個你又清楚么?
電腦插上網(wǎng)線或者連接wifi,分配IP地址或者手動配置IP地址上網(wǎng)的規(guī)則和過程,你又明白么?
或許你依然覺得這些過程不清楚也沒有關(guān)系啊,并不會影響測試工作的進(jìn)行,那么我再問你,如果web頁面訪問失敗了,返回了一個錯誤碼,你知道怎么定位是服務(wù)器的問題,還是網(wǎng)絡(luò)的問題么?
APP應(yīng)用測試需要需要覆蓋各種網(wǎng)絡(luò)環(huán)境,比如弱網(wǎng)測試,你清楚怎么模擬么?
測試網(wǎng)絡(luò)出現(xiàn)問題,你知道怎么去做基本的調(diào)試命令和方法么?
奪命三連問,是否直擊你的心靈最深處呢?
真實(shí)經(jīng)驗(yàn)告訴你,網(wǎng)絡(luò)知識是你要成長為一名優(yōu)秀測試工程師的重要基石。
既然知道了測試工程師掌握網(wǎng)絡(luò)知識的必要性,那網(wǎng)絡(luò)體系這么龐大,我們怎么從中選取跟測試相關(guān)的知識,高效地學(xué)以致用來輔助測試工作呢?
首先,從認(rèn)識網(wǎng)絡(luò)基開始,知道網(wǎng)絡(luò)中每一層的具體工作職責(zé)和工作流程。
我們以O(shè)SI網(wǎng)絡(luò)七層模型為例(TCP/IP四層協(xié)議棧與其類似),從下向上分別是:
“物理層-數(shù)據(jù)鏈路層-網(wǎng)絡(luò)層-傳輸層-會話層-表示層-應(yīng)用層”
每一層都各司其職,下層向上層提供服務(wù),上層使用下層提供的服務(wù),如此和諧的運(yùn)轉(zhuǎn)著。
下面的圖很直觀的表示出了數(shù)據(jù)包在網(wǎng)絡(luò)中傳輸?shù)倪^程以及每一層在這個過程中的具體工作:
在瀏覽器中輸入URL“https://baidu.con”訪問,百度服務(wù)器給我們返回一個百度的頁面。

其次,需要知道每一層常用的網(wǎng)絡(luò)協(xié)議。
所有你所在測試的軟件,都是基于某一個協(xié)議來實(shí)現(xiàn),所以了解協(xié)議,能夠幫助你更加深刻的理解測試的產(chǎn)品,從而能夠更加充分的測試。
比如網(wǎng)絡(luò)層的ARP協(xié)議,IP協(xié)議,路由協(xié)議;
傳輸層的兩個重要協(xié)議:TCP協(xié)議和UDP協(xié)議;
應(yīng)用層的常用協(xié)議:http協(xié)議,https協(xié)議,F(xiàn)TP協(xié)議等。
下面是這些常用協(xié)議的簡介:
- ARP協(xié)議:
地址解析協(xié)議,在已知對方的IP地址的時候,去尋找對方的MAC地址;
- IP協(xié)議:
分配給用戶上網(wǎng)使用的網(wǎng)際協(xié)議。我們需要知道IP協(xié)議的構(gòu)成:網(wǎng)絡(luò)地址和主機(jī)地址,以區(qū)分網(wǎng)絡(luò)中的設(shè)備或者主機(jī)是否在同一個子網(wǎng),是否可以直接通信;
- 路由協(xié)議:
如果主機(jī)們不在同一個子網(wǎng),就需要用到路由協(xié)議。查找設(shè)備上的路由表,選擇數(shù)據(jù)轉(zhuǎn)發(fā)的最優(yōu)路徑;
- TCP協(xié)議:
在傳輸層提供可靠的傳輸,并且通過定義端口來區(qū)分主機(jī)上的應(yīng)用服務(wù);
- UDP協(xié)議:
在傳輸層提供快速的傳輸,同樣可以通過端口來區(qū)分主機(jī)上的應(yīng)用服務(wù);
- http協(xié)議:
超文本傳輸協(xié)議,定義了客戶端發(fā)送給服務(wù)器的消息格式以及服務(wù)器響應(yīng)消息的格式。
- https協(xié)議:
超文本傳輸安全協(xié)議,在HTTP下加入SSL層,提供加密的功能。
- FTP協(xié)議:
文件傳輸協(xié)議,F(xiàn)TP服務(wù)器存儲文件,用戶使用FTP客戶端訪問FTP服務(wù)器上的資源。
當(dāng)然一個協(xié)議肯定不是這樣一句話可以簡單描述清楚的,其中細(xì)節(jié)和實(shí)現(xiàn)大家可以根據(jù)自己的工作需求去做具體詳細(xì)的了解。
如果有需求,我可以后續(xù)再出一個詳細(xì)的系列文章給大家做更加細(xì)致的講解。
從事測試行業(yè)的人都知道,測試工程師其實(shí)并不是外行人看起來那么簡單的職業(yè),需要有廣泛的知識涉獵面,要求的是知識的廣度。
剛?cè)霚y試行業(yè)的同學(xué),我們需要明確自己必須要掌握的知識類型,然后按照優(yōu)先級一步一個腳印的去完善自己;
如果已經(jīng)在測試行業(yè)工作多年的同學(xué),同樣需要知道想要跳出自己當(dāng)前的舒適區(qū),提高一個層次,到底還需要一些什么知識的擴(kuò)充。
所以,對于測試工程師,測試?yán)碚摵蜏y試工具我們不能否認(rèn)其重要性,它是測試工作的重要基礎(chǔ);
但是網(wǎng)絡(luò)知識是也同樣是不可或缺的輔助,它可以幫助開闊測試之路,彌補(bǔ)測試知識體系中的不足,讓你在測試行業(yè)中走得更高,走得更遠(yuǎn)。


























