軟件是人類思維的產(chǎn)物,是群體性活動的結(jié)果,所以在
軟件開發(fā)的各個階段都不可避免的會產(chǎn)生錯誤。例如,在需求分析時沒有很好的理解用戶的意圖;在系統(tǒng)設(shè)計時對實體之間的關(guān)系沒有正確地描述;在編碼階段出現(xiàn)了不易發(fā)現(xiàn)的邏輯錯誤;軟件開發(fā)人員之間的配合出現(xiàn)失誤等。盡管在每個階段結(jié)束之前都對軟件進行嚴格的技術(shù)評審,但經(jīng)驗表明審查并不能發(fā)現(xiàn)所有的差錯。因此,軟件編碼完成后,在交付用戶使用前,必須對軟件進行嚴格的
測試。
軟件測試是軟件質(zhì)量保證的關(guān)鍵步驟。
所謂軟件測試,是為了發(fā)現(xiàn)錯誤而執(zhí)行程序的過程。或者說,軟件測試是根據(jù)軟件開發(fā)各階段的規(guī)格說明和程序的內(nèi)部結(jié)構(gòu)而精心設(shè)計一批
測試用例(即輸入數(shù)據(jù)及其預(yù)期結(jié)果),并利用這些測試用例去運行程序,以發(fā)現(xiàn)程序錯誤的過程。軟件測試在軟件生存周期中橫跨兩個階段:通常在編寫出每個模塊之后對它做必要的測試(
單元測試)。模塊的編寫者與測試者是同一個人。編碼與單元測試屬于軟件生存周期的同一個階段。在這個階段結(jié)束之后,軟件系統(tǒng)還要進行各種綜合測試,這是軟件生存周期的另一個獨立的階段,即測試階段,通常由專門的測試人員承擔這項
工作。
說了這么多,大家可能急切的想知道,軟件測試到底包含哪些內(nèi)容,下面我用一張思維導(dǎo)圖給大家簡單總結(jié)一下
軟件工程中軟件測試階段的一些理論和方法。
PS:由于圖比較大,請用鼠標點擊圖中內(nèi)容,拖到空白處即可在瀏覽器中查看
作為軟件工程的一個必要階段,軟件測試有自己的理論和嚴格的方法,在進行測試的時候一定要重視起來,避免軟件測試的隨意性。另外,軟件測試人員的經(jīng)驗也是十分重要的,一個經(jīng)驗豐富的測試人員能夠顯著提高軟件測試工作的效率。