(1) 測試最重要的一件事就是要考慮到所有的出錯(cuò)可能性。同時(shí),還要做一些不是按常規(guī)做的、非常奇怪的事。
說起來可能不太好聽,測試的過程就像黑客(Hacker)的攻擊過程那樣。可以這么說,像黑客這樣的人是最好的軟件安全測試員。他們專門找軟件的漏洞,從而破壞這個(gè)軟件,這樣就可以修復(fù)這些漏洞來保證軟件的性能。如果找不到這種漏洞,那就說明該軟件質(zhì)量己經(jīng)很好了。
(2) 除了漏洞之外,測試還應(yīng)該考慮性能(Performance)問題,也就是一定要保證軟件運(yùn)行得很好,非?,沒有內(nèi)存泄漏,不會(huì)出現(xiàn)那種越來越慢的情況。
我們可以在不關(guān)機(jī)的情況下,與其他軟件一起持續(xù)運(yùn)行一個(gè)多月,看看是否會(huì)出現(xiàn)越來越慢的情況(當(dāng)然必須保證其他軟件是沒有問題的)。我們在做 IE 的時(shí)候,就是讓它72小時(shí)連續(xù)不停地打開不同的網(wǎng)頁,處理幾萬個(gè)不同的網(wǎng)頁,而且速度不能減慢。有許多軟件,當(dāng)只有一兩個(gè)人用的時(shí)候,可能感覺不到什么問題,而當(dāng)幾百個(gè)用戶一起用的時(shí)候,有的網(wǎng)站就出現(xiàn)各種各樣的異常,這就是測試工作還比較欠缺的緣故。
(3) 另外,測試還要考慮軟件的兼容性(Compatibility)。
一般來說,一個(gè)軟件是由許多小軟件構(gòu)成的,如果其中一個(gè)小軟件與它的前一版本不兼容,那么這個(gè)軟件就會(huì)出現(xiàn)錯(cuò)誤。這種錯(cuò)誤需要通過測試來發(fā)現(xiàn)和解決。
許多人認(rèn)為寫代碼的人一定能找出錯(cuò)誤來。其實(shí)開發(fā)人員在寫代碼的時(shí)候,如果有錯(cuò)誤,他可以意識(shí)到了,可是寫出來的錯(cuò)誤,他不一定能想得到。我自己也編過程序,在編程序的時(shí)候很自信,覺得不會(huì)有錯(cuò),可事實(shí)上,即使是我編的小程序也有錯(cuò)誤,但要自己找出來,卻要費(fèi)很大勁。因?yàn)槲乙恢闭J(rèn)為自己不應(yīng)該出錯(cuò),但常常錯(cuò)誤就出現(xiàn)在我認(rèn)為最有把握的地方。我是學(xué)數(shù)學(xué)的,是一個(gè)很細(xì)心的人,可是--樣還是會(huì)出錯(cuò),但要找出自己的錯(cuò)誤卻要花費(fèi)很長的時(shí)間。后來我寫的代碼讓我的師弟幫我看,結(jié)果他很快就找到許多問題,可是我自己花一個(gè)月時(shí)間可能都找不到。所以,開發(fā)人員和測試人員完全不一樣,開發(fā)人員確實(shí)可以找到一些Bug,但是有更多的Bug是他意識(shí)不到的。
在一般的開發(fā)團(tuán)隊(duì)中,并不需要測試人員定位Bug 的具體位置,所以,對(duì)測試人員的要求并不高。只要你愿意學(xué),測試工作是非常容易做的。但是,我當(dāng)年所在的IE 團(tuán)隊(duì)(IE4.0)就不同,因?yàn)楫?dāng)時(shí)正在與另一個(gè)公司的產(chǎn)品競爭,所以微軟就要求盡量找到一流的開發(fā)人員和一流的測試人員,盡快開發(fā)出新產(chǎn)品,打敗對(duì)手。所以,當(dāng)時(shí)對(duì)我們測試人員的要求非常嚴(yán)格,不僅要找出Bug,而且要定位引起此Bug 的代碼行。然后將這些信息交給開發(fā)人員,后者就可以很快更正,省去了他們找錯(cuò)誤出處的時(shí)間。因此,當(dāng)時(shí)IE 的開發(fā)速度非?欤荒曛畠(nèi)就發(fā)布了一個(gè)新版本,而且?guī)缀跻塾腥魏未驜ug,大大超越了競爭對(duì)手。
相關(guān)推薦:2010年計(jì)算機(jī)軟件評(píng)測師備考必備知識(shí)匯總