技術(shù)員聯(lián)盟提供win764位系統(tǒng)下載,win10,win7,xp,裝機(jī)純凈版,64位旗艦版,綠色軟件,免費(fèi)軟件下載基地!

當(dāng)前位置:主頁 > 教程 > 硬件教程 >

黑盒測(cè)試比白盒測(cè)試技術(shù)要求更高嗎?

來源:技術(shù)員聯(lián)盟┆發(fā)布時(shí)間:2018-05-07 12:13┆點(diǎn)擊:

  幾個(gè)月前我還在談?wù)摵诤袦y(cè)試不一定比白盒測(cè)試技術(shù)含量低,現(xiàn)在我卻可以比較肯定地說,黑盒測(cè)試比白盒測(cè)試更難,技術(shù)要求更高。道理其實(shí)非常簡(jiǎn)單,黑盒,白盒測(cè)試的本質(zhì)區(qū)別在于源代碼的訪問權(quán)利,白盒測(cè)試具有這種權(quán)利,因此也就具有更多的資源和信息進(jìn)行測(cè)試,當(dāng)然事情就會(huì)變得容易很多,而黑盒測(cè)試由于不能看到源代碼,就使得對(duì)于白盒測(cè)試人員發(fā)現(xiàn)的bug,你要花更多的時(shí)間,并且具有更高的技術(shù)才有可能發(fā)現(xiàn)。

  我做黑盒測(cè)試已經(jīng)4年多了,是一個(gè)地地道道的黑盒測(cè)試人員,可是我具有源代碼訪問的權(quán)利,也就是說,雖然我是做黑盒測(cè)試的,但是我所擁有的信息并不比白盒測(cè)試人員少。隨著我黑盒測(cè)試經(jīng)驗(yàn)和技術(shù)的提高,我突然發(fā)現(xiàn)我已經(jīng)完全依賴與源代碼提供的信息了,如果沒有源代碼,我的黑盒測(cè)試的工作將會(huì)變得復(fù)雜很多,困難很多,甚者無法實(shí)現(xiàn)。這也讓我有了一個(gè)強(qiáng)烈的感覺,就是黑盒測(cè)試比白盒測(cè)試更難。

  在Symantec出版的一本書《TheArtofSoftwareSecurityTest》里邊就有這個(gè)說法。這本書我覺得一般般,但是里邊體現(xiàn)著這個(gè)道理,就是,“對(duì)于白盒測(cè)試,一個(gè)公司可以組成一個(gè)測(cè)試隊(duì)伍來進(jìn)行,而對(duì)于黑盒測(cè)試,可能就很少有公司有這個(gè)能力了,只能去外邊聘請(qǐng)專業(yè)的公司來作,這個(gè)成本是很高的,但是是值得的”。

  經(jīng)常聽到有人抱怨“我在公司是做黑盒測(cè)試的,沒什么技術(shù)含量,我的目標(biāo)就是轉(zhuǎn)到白盒測(cè)試”,我一直覺得這個(gè)說法是可以質(zhì)疑的,也希望看了我的這篇文章以后,不要再出現(xiàn)這種聲音,更不要再拿它當(dāng)成自己不去提高測(cè)試技術(shù)的一個(gè)冠冕堂皇的借口了。

  為什么我們大多數(shù)人,包括以前我自己都會(huì)認(rèn)為黑盒測(cè)試比白盒測(cè)試的技術(shù)含量低呢?那是因?yàn)?,我們絕大多數(shù)人都是在做低端黑盒測(cè)試的。很早以前我就曾想過,黑客都是通過黑盒測(cè)試的方法來尋找安全漏洞的,我們?cè)趺茨苷f黑盒測(cè)試技術(shù)含量低呢?隨著自己的水平向黑客的方向接近,自己也越來越有更深,更豐富的理解和體會(huì)了。

  如果我們把剛進(jìn)入黑盒測(cè)試領(lǐng)域的新人的技術(shù)打分為0,而黑客的技術(shù)打分為5的話,那么根據(jù)技術(shù)水平我有這樣一個(gè)列表:

  0.測(cè)試新手

  1.黑盒手工測(cè)試

  2.黑盒自動(dòng)化測(cè)試

  3.具有白盒測(cè)試能力

  4.安全測(cè)試

  5.黑客

  大家注意,很多人把自己的測(cè)試技術(shù)的提高依賴于公司,依賴于team,依賴于project,這是不對(duì)的。我本人在公司的工作內(nèi)容不過就是黑盒自動(dòng)化測(cè)試,可是這并不影響我可以向更高的方向發(fā)展,現(xiàn)在internet這么發(fā)達(dá),什么資料不能找到呢?各種各樣的計(jì)算機(jī)書籍,網(wǎng)上各種各樣的計(jì)算機(jī)技術(shù)交流探討的論壇,博客等等。很多人覺得跳槽,換個(gè)工作自己就能更好的發(fā)展測(cè)試技術(shù),這也是有誤區(qū)的。說句實(shí)話,個(gè)人發(fā)展本質(zhì)上還是個(gè)人的問題,并不是公司的問題,或者你的lead,你的manager的問題,一個(gè)公司既然要你了,就說明你自己的能力和水平跟公司對(duì)你的要求還是比較接近的,公司對(duì)你已經(jīng)有一個(gè)期望值了,也就是說你能勝任這份工作了,而再往上的發(fā)展并不屬于公司對(duì)你的期望了,絕大多數(shù)的情況還是要靠個(gè)人的。因此,我個(gè)人認(rèn)為,無論在任何的工作環(huán)境,工作內(nèi)容的情況,你都是有技術(shù)提高余地的,但是這事情要由你自己來drive,而不要太多地依賴外部環(huán)境。我從小到大的學(xué)習(xí),主要是靠自學(xué),我很少能集中精力地去聽完老師的一堂課。包括現(xiàn)在,我很多training都是沒聽完就走人了,或者有些簽個(gè)到就溜。我的這個(gè)性格造就了我很獨(dú)立的學(xué)習(xí)能力,自己為自己規(guī)劃學(xué)習(xí),不知道對(duì)大家是否有借鑒作用。

  話說回來,因?yàn)榇蠹覍?duì)0,1,2級(jí)別應(yīng)該都是比較熟悉的,我想談?wù)?,4,5級(jí)別。

  3.作為一個(gè)黑盒測(cè)試人員,沒有人會(huì)要求你不具備白盒測(cè)試能力,如果你有源代碼訪問的權(quán)利,那很好,你完全可以利用這個(gè)優(yōu)勢(shì),把通過查看源代碼得到的信息應(yīng)用到你的黑盒測(cè)試中去。如果你沒有源代碼訪問的能力,這也并不能阻礙你在這個(gè)領(lǐng)域進(jìn)行探索和實(shí)踐。如果你的項(xiàng)目是Java,.NET這種,你可以反編譯,如果你的項(xiàng)目是C,C++這種,你可以反匯編??偠灾^具有白盒測(cè)試能力的意思是,發(fā)現(xiàn)一個(gè)bug能夠定位到代碼里,是什么代碼,為什么產(chǎn)生這個(gè)bug?可以進(jìn)行代碼級(jí)的測(cè)試用例的設(shè)計(jì)。一般來說,這個(gè)級(jí)別的要求是具備良好的代碼讀寫的能力。

  4.安全測(cè)試與白盒測(cè)試的根本區(qū)別在于安全意識(shí),黑客的思維。有一本書《WritingSecureCode》里面提到“你可以培訓(xùn)一個(gè)人具有測(cè)試安全feature的能力,你很難培訓(xùn)一個(gè)人具有黑客的思維方式,如果你發(fā)現(xiàn)了這樣一個(gè)人,你就Hire他”。在這個(gè)級(jí)別的人要具有良好的安全意識(shí),知道各種各樣的攻擊方式,當(dāng)發(fā)現(xiàn)一個(gè)bug的時(shí)候要就有安全方面的判斷,比如“是否一個(gè)安全漏洞”,“是否能夠被黑客利用”,“嚴(yán)重程度如何”,等等。同樣,自己的測(cè)試內(nèi)容里要包含大量的安全測(cè)試用例。