對軟件測試感悟 軟件測試
我非常熱愛軟件測試,包括軟件測試工具,方法,理論,技術。因為我在3年的測試工作中,深刻體會到軟件測試的重要性和趣味性。此時,我已經跳出了“小程序員”的圈子,以軟件系統工程的更大視角審視軟件測試這項工作。
很長時間以來我一直被下面的問題而困惑,有些問題至今仍然只是具有膚淺的認識,而且,我感覺我做的測試項目越多,閱讀的測試書籍越多,我越感到我對軟件測試理解的越膚淺。因為我越來越感受到軟件測試的廣度和深度的無限性,它像大海寬廣,像宇宙那樣深邃。
為什么要進行軟件測試?軟件測試的前途如何?軟件測試的工具和思想誰更重要?軟件測試的最高境界是什么?
軟件測試是保證軟件質量的重要活動,是軟件項目實施的不可缺少的環節。軟件測試的直接目的是發現軟件中存在的缺陷。此為測試的有效性。
在軟件項目沒有結束之前的全部軟件缺陷主要由軟件開發人員負責,因為軟件缺陷來自程序員的編程。軟件項目結束后的軟件缺陷主要由軟件測試人員負責,因為軟件測試人員沒有在軟件發布之前的測試中沒有發現隱藏的錯誤。
但這不是絕對的,因為軟件項目是一個系統工程,軟件質量牽扯到多個部門和人員,以及需求分析,設計,編碼等各個環節和過程。軟件測試只能證明軟件存在缺陷,不能保證軟件沒有錯誤。
軟件測試不是萬能的,因為不可能發現全部的軟件缺陷,而且軟件的功能和性能不是由測試決定的。此為測試的有限性。
軟件測試目前主要以手工測試為主,自動測試工具雖然很多,但實際應用的廣度和深度還有很大潛力,自動將有很大的發展空間!。
軟件驅動開發的觀點說明了測試與編程的關系,測試應該貫穿于軟件開發的整個生命周期,編程只是軟件開發的一個環節。但往往大家非常重視軟件編程,把測試作為編程后的一個輔助環節。這是典型的本末倒置。
軟件測試的缺陷管理流程非常重要,報告的軟件缺陷的質量,應該由他人驗證,做到責任明確,方法簡便可行。
軟件測試技術不斷進步,但總體來看,國內的測試重視程度還不夠,但已經發展很快。差不多兩年之前,國內計算機書店中關于軟件測試的書籍非常稀少,如今卻琳瑯滿目,異彩紛呈。
軟件測試是個可以很快入門的職業,門檻不高,但是,不要認為什么人都可以做好軟件測試。因為會做和做好是兩個概念。軟件測試人員最好具有軟件開發經驗,理解軟件工程的知識。這是提高軟件測試能力的基礎。對于剛剛畢業的學生,如果希望今后從事軟件開發,那么,先從事一段時間的測試可能更有利于今后的編程。而對于具有多年編程經驗的程序員,如果改行做測試,更容易提高技術。
軟件測試不是孤立的活動或過程,需要開發和市場人員的參與和交流,需要軟件質量保證人員SQA的積極配合和溝通。
軟件測試的技術不斷進步,與具體測試技術相比,掌握測試的核心思想比具體技術更重要!測試的最高境界在于運用最簡單有效的測試技術,最大限度的發現軟件缺陷!
文章來源于領測軟件測試網 http://www.anti-gravitydesign.com/