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