我為什么雇傭家庭主婦做軟件測試

字號:

軟件測試是一門非常嶄新的學(xué)科,目前研究的內(nèi)容還不很深入,所涉及的只是測試數(shù)字、測試函數(shù)等一些非常簡單的問題,可以說還處于嬰兒階段。當(dāng)前,軟件測試作為一個成長中的專業(yè),在美國已經(jīng)有大學(xué)開設(shè)。由于軟件測試學(xué)科還不成熟,到底它需要一個什么樣的專業(yè)基礎(chǔ),尚無定論,而且目前還沒有一種很好的標(biāo)準(zhǔn)來衡量一個測試人員的優(yōu)劣。陳宏剛博士以微軟公司為例為我們講述了軟件測試的方法。
    軟件測試工程師:其職能是理解產(chǎn)品的功能要求,然后對其進(jìn)行測試,檢查軟件有沒有錯誤(Bug),決定軟件是否具有穩(wěn)定性(Robust),并寫出相應(yīng)的測試規(guī)范和測試案例。
    國內(nèi)的一位博士到微軟總部參觀之后,覺得非常奇怪:“測試人員是做什么的?為什么微軟在做產(chǎn)品時,測試人員占了一半以上?”其實(shí),軟件測試在產(chǎn)品開發(fā)中占據(jù)相當(dāng)重要的一部分,這是一種需要,是微軟從二十幾年的實(shí)踐中明白的道理,也是微軟從不斷的失敗中總結(jié)的經(jīng)驗(yàn)。
    大家可以感覺到,微軟以前的產(chǎn)品有時會發(fā)生崩潰、死機(jī)等現(xiàn)象,而今天的產(chǎn)品則比五年前的產(chǎn)品更大、更完善,并且要穩(wěn)定得多。為什么呢?這是因?yàn)闇y試工作越來越好,測試人員越來越多,而且越來越有經(jīng)驗(yàn)。關(guān)于這一點(diǎn),微軟公司曾經(jīng)算過一筆賬:最初,微軟公司與大家一樣,認(rèn)為測試不重要,重要的是開發(fā)人員。通常,一個團(tuán)隊(duì)中有幾百個開發(fā)人員,但只有幾個測試人員,并且開發(fā)人員的工資比測試人員高很多很多。經(jīng)過多年的實(shí)踐公司發(fā)現(xiàn),為那些出現(xiàn)問題的產(chǎn)品再去修一個補(bǔ)丁程序所花的錢,比多雇用幾個測試人員的費(fèi)用要多得多。
    但是,軟件測試到底是一門什么樣的科學(xué)?沒有人知道,大家只是在摸索。它需要什么樣的背景,也沒有人知道。所以,微軟的測試人員中,只有很少一部分是從計算機(jī)出身的,其余的有學(xué)俄語的、英語的、數(shù)學(xué)的、工程的、生物的……種類特別多,但有一點(diǎn):測試人員一定要有一種感覺。
    由于現(xiàn)在的軟件測試仍然處于發(fā)展階段,往往測試人員還是依據(jù)本能、靠感覺、靠天賦來做軟件測試。如果像用戶那樣只是通過使用來發(fā)現(xiàn)Bug不是真正的測試,這只是一種最基本的測試,你只能發(fā)現(xiàn)一般用戶的問題。
    最后,我以一段有趣而又真實(shí)的故事來結(jié)束這篇文章。
    我在微軟總部做測試組長和經(jīng)理時,經(jīng)常需要招聘測試人員。我招聘人時通常會遵循兩個原則:一是要看他的邏輯性,這是非常重要的一點(diǎn);二是要看他的思維是否怪異,是否能經(jīng)常產(chǎn)生一些怪點(diǎn)子。第一點(diǎn)是可以依靠后天培養(yǎng)的,但是第二點(diǎn)恐怕是后天培養(yǎng)不出來的,多少有些天生的因素在里面。
    這兩個原則是我在多年的實(shí)踐中得出來的。由于軟件測試學(xué)科還不成熟,目前還沒有一種很好的標(biāo)準(zhǔn)來衡量一個測試人員的優(yōu)劣。而且它到底需要一個什么樣的專業(yè)基礎(chǔ),尚無定論。從目前來看,并不是說學(xué)計算機(jī)專業(yè)的就最適合做軟件測試人員。