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

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

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

  走出嬰兒期

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

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

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

  軟件測試理論從心理學角度認為,開發(fā)人員在測試自己開發(fā)的程序時有不可避免的心理障礙,測試工作應該是相對獨立的。大型軟件企業(yè)要想實現質量控制,在軟件測試方面一定要設立獨立的測試部門,建立專業(yè)的測試隊伍,逐步建立一套適合企業(yè)自身的比較完整的測試管理體系。

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

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

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

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

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

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

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

  郭旭:那么,導致這種現狀的根源在哪里?

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

  郭旭:國內軟件的測試現狀與國外差距大嗎?

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