一般說來,一個成熟軟件的壽命至少有10年以上。而它的壽命長短,則更多地取決于軟件開發(fā)質(zhì)量的好壞。軟件開發(fā)因此也稱作“一步三回頭”工程。也是說,每開發(fā)一步,都要有三道測試手續(xù)來檢驗。測試的重要性可見一斑。

  然而,對于軟件測試技術(shù),我們又了解多少呢?是大學(xué)課本中所學(xué)到的黑盒、白盒測試,還是市場中拿來用的測試工具,或許是送到第三方測試廠商那里完事大吉了?面對現(xiàn)實中軟件測試的應(yīng)用現(xiàn)狀,我們所熟知的又有哪些?軟件企業(yè)測試工程師的比例到底有多大?是6∶1、4∶1,還是2∶1......

  無論怎樣,我們一定要正視一點:軟件測試也是一個產(chǎn)業(yè)。規(guī)范而高效的軟件測試,是提高國內(nèi)軟件開發(fā)整體質(zhì)量水準(zhǔn)的基石,也是使中國終成為一個先進(jìn)的軟件大國的基石。

  走出嬰兒期

  軟件測試在全球的發(fā)展是不平衡的,在發(fā)達(dá)和地區(qū),軟件測試已經(jīng)成了一個產(chǎn)業(yè),而在中國,可能還算不上一個真正的產(chǎn)業(yè),目前正在快速發(fā)展階段。在如何提高測試效率,如何更好地解決測試的充分性和時間上還要有新的突破……

  郭旭:我們都知道,軟件測試是軟件開發(fā)過程中一道不可或缺的工序。從目前現(xiàn)狀來看,軟件開發(fā)商有測試意識嗎?

  張志明:北京一家大型通信公司的高層技術(shù)主管近曾講,現(xiàn)在他們公司的軟件測試工作主要還是由開發(fā)人員兼做?梢姡壳皣鴥(nèi)軟件企業(yè)高層對軟件測試重要性的認(rèn)知還遠(yuǎn)遠(yuǎn)不夠。兩年前,有專家稱我國軟件企業(yè)大多還處于手工作坊狀態(tài)。怎樣理解這句話,如何去衡量,我認(rèn)為軟件開發(fā)人員兼做測試是一個明顯的標(biāo)識。

  軟件測試?yán)碚搹男睦韺W(xué)角度認(rèn)為,開發(fā)人員在測試自己開發(fā)的程序時有不可避免的心理障礙,測試工作應(yīng)該是相對獨立的。大型軟件企業(yè)要想實現(xiàn)質(zhì)量控制,在軟件測試方面一定要設(shè)立獨立的測試部門,建立專業(yè)的測試隊伍,逐步建立一套適合企業(yè)自身的比較完整的測試管理體系。

  黃子河:應(yīng)該說有規(guī)模的軟件企業(yè)對測試還是比較重視的,但是,有足夠數(shù)量的專職測試隊伍的企業(yè)并不是很多,大多數(shù)是開發(fā)人員兼職。可喜的是,軟件用戶越來越注重軟件產(chǎn)品的質(zhì)量,軟件測試也越來越得到軟件企業(yè)的認(rèn)可。高質(zhì)量的軟件不僅能提升軟件公司的品牌,而且可以節(jié)省很多的后期維護(hù)費用?磥,軟件測試工作,越來越得到了軟件企業(yè)的重視。

  劉珍妮:從Borland的發(fā)展史也可以看到測試觀念對于Borland的影響,Borland早期是以開發(fā)工具廠商為企業(yè)核心,這代表了在那個時期完全是以開發(fā)階段為重心,Borland內(nèi)部對于軟件產(chǎn)品的測試也是處于萌芽階段,和當(dāng)時大部份的軟件廠商一樣,并沒有非常規(guī)范的測試機制。Borland內(nèi)部也在數(shù)年前導(dǎo)入了正規(guī)的測試流程,并且為每一個商業(yè)產(chǎn)品定義了低接受數(shù)值來保證產(chǎn)品的質(zhì)量。

  陳致平:在我的印象中,十年之前,軟件測試可能還沒有被接受,那個時候完全沒有概念。現(xiàn)在,很多公司已經(jīng)認(rèn)識到了測試的重要性。但是他們還沒有具備很清楚,所以我個人覺得大家有點在混沌的狀態(tài)中去做。我也想做,但是我不知道怎樣做得好?這個問題應(yīng)該盡快解決。

  郭旭:從全球來看,軟件測試還處于嬰兒期階段?

  黃子河:軟件測試在全球的發(fā)展是不平衡的,在軟件產(chǎn)業(yè)比較發(fā)達(dá)的和地區(qū),軟件測試也已經(jīng)成為很大的一個產(chǎn)業(yè),但是在中國,可能還算不上一個真正的產(chǎn)業(yè),目前正在快速發(fā)展階段。因此說軟件測試處在嬰兒期可能有點不恰當(dāng),只能說軟件測試在測試?yán)碚摵头椒ㄉ线不盡完善,應(yīng)該說軟件構(gòu)建技術(shù)的發(fā)展要快于軟件測試技術(shù)的發(fā)展,在如何提高測試效率,如何更好的解決測試的充分性和測試時間這對矛盾上還要有新的突破。

  劉珍妮:這是很有趣的問題,軟件測試的啟蒙時間并不算短,但是相對于其它軟件方法和產(chǎn)品的發(fā)展速度和重視度來看,軟件測試似乎是尚處于萌芽階段。

  陳致平:如果說從全球來講,測試還處于嬰兒期,這個我覺得太言過其實了。實際上回答這是一個工程基礎(chǔ)問題,而工程問題在很多時候是抽象的。

  郭旭:那么,導(dǎo)致這種現(xiàn)狀的根源在哪里?

  劉珍妮:我認(rèn)為這和我們接受的傳統(tǒng)教育和開發(fā)習(xí)慣有相當(dāng)大的關(guān)系。軟件行業(yè)相對于其它一些行業(yè)來說是相當(dāng)年輕,開發(fā)工作包含了需求管理、分析、設(shè)計、測試和部署等工作,由于軟件業(yè)的歷史年輕,而且一般人認(rèn)為,開發(fā)周期前面的工作沒有完善之前,比較難于考慮到稍后的階段。因此,我們可以看到軟件業(yè)大部分的精力都投入在需求管理、分析、設(shè)計三個階段的開發(fā),造成了這些方面軟件和方法論的快速發(fā)展,許多軟件人員驀然發(fā)現(xiàn)對于測試是多么的忽視。

  郭旭:國內(nèi)軟件的測試現(xiàn)狀與國外差距大嗎?

  黃子河:差距肯定是存在的,主要體現(xiàn)在測試意識以及測試?yán)碚摰难芯俊⒋笮蜏y試工具軟件的開發(fā)以及從業(yè)人員數(shù)量等方面。其實,這與中國整體軟件的發(fā)展水平是一致的,因為我國整體的軟件產(chǎn)業(yè)水平和軟件發(fā)達(dá)水平相比有較大的差距,而作為軟件產(chǎn)業(yè)重要一環(huán)的軟件測試,必然有不小的差距。但是,我們在軟件測試實現(xiàn)方面并不比國外差,國際上的測試工具,我們基本都有,這些工具所體現(xiàn)的思想我們也有深刻的理解,很多大型系統(tǒng)在國內(nèi)都進(jìn)行了很好的測試。