影響軟件測試質(zhì)量的元兇是什么?
從總體上來說,由于國內(nèi)軟件項目流程的不規(guī)范,從而導(dǎo)致普遍重視編碼和輕視測試的現(xiàn)象。深圳軟件測試培訓(xùn)(sz.qa.tedu.cn)專家來說說
很多人由于對軟件測試的重要性、測試方法和流程等還存在很多錯誤的認識。所有列舉了六種有代表性的認識誤區(qū),并作了剖析和相應(yīng)的解釋。希望對軟件行業(yè)的技術(shù)和管理人士,正確認識軟件測試起到一定的作用。
誤區(qū)之一:軟件開發(fā)完成后進行軟件測試
人們一般認為,軟件項目要經(jīng)過以下幾個階段:需求分析,概要設(shè)計,詳細設(shè)計,軟件編碼,軟件測試,軟件發(fā)布。據(jù)此,認為軟件測試只是軟件編碼后的一個過程。這是不了解軟件測試周期的錯誤認識。
軟件測試是一個系列過程活動,包括軟件測試需求分析,測試計劃設(shè)計,測試用例設(shè)計,執(zhí)行測試。因此,軟件測試貫穿于軟件項目的整個生命過程。在軟件項目的每一個階段都要進行不同目的和內(nèi)容的測試活動,以保證各個階段的正確性。軟件測試的對象不僅僅是軟件代碼,還包括軟件需求文檔和設(shè)計文檔。軟件開發(fā)與軟件測試應(yīng)該是交互進行的,例如,單元編碼需要單元測試,模塊組合階段需要集成測試。如果等到軟件編碼結(jié)束后才進行測試,那么,測試的時間將會很短,測試的覆蓋面將很不全面,測試的效果也將大打折扣。更嚴重的是如果此時發(fā)現(xiàn)了軟件需求階段或概要設(shè)計階段的錯誤,如果要修復(fù)該類錯誤,將會耗費大量的時間和人力。
誤區(qū)之二:軟件發(fā)布后如果發(fā)現(xiàn)質(zhì)量問題,那是軟件測試人員的錯
這種認識很打擊軟件測試人員的積極性。軟件中的錯誤可能來自軟件項目中的各個過程,軟件測試只能確認軟件存在錯誤,不能保證軟件沒有錯誤,因為從根本上講,軟件測試不可能發(fā)現(xiàn)全部的錯誤。從軟件開發(fā)的角度看,軟件的高質(zhì)量不是軟件測試人員測出來的,是靠軟件生命周期的各個過程中設(shè)計出來的。出現(xiàn)軟件錯誤,不能簡單地歸結(jié)為某一個人的責任,有些錯誤的產(chǎn)生可能不是技術(shù)原因,可能來自于混亂的項目管理。應(yīng)該分析軟件項目的各個過程,從過程改進方面尋找產(chǎn)生錯誤的原因和改進的措施。
誤區(qū)之三:軟件測試要求不高,隨便找個人多都行
很多人都認為軟件測試就是安裝和運行程序,點點鼠標,按按鍵盤的工作。這是由于不了解軟件測試的具體技術(shù)和方法造成的。隨之軟件工程學(xué)的發(fā)展和軟件項目管理經(jīng)驗的提高,軟件測試已經(jīng)形成了一個獨立的技術(shù)學(xué)科,演變成一個具有巨大市場需求的行業(yè)。軟件測試技術(shù)不斷更新和完善,新工具,新流程,新測試設(shè)計方法都在不斷更新,需要掌握和學(xué)習很多測試知識。所以,具有編程經(jīng)驗的程序員不一定是一名優(yōu)秀的測試工程師。軟件測試包括測試技術(shù)和管理兩個方面,完全掌握這兩個方面的內(nèi)容,需要很多測試實踐經(jīng)驗和不斷學(xué)習精神。
誤區(qū)之四:軟件測試是測試人員的事情,與程序員無關(guān)
開發(fā)和測試是相輔相成的過程,需要軟件測試人員、程序員和系統(tǒng)分析師等保持密切的聯(lián)系,需要更多的交流和協(xié)調(diào),以便提高測試效率。另外,對于單元測試主要應(yīng)該由程序員完成,必要時測試人員可以幫助設(shè)計測試樣例。對于測試中發(fā)現(xiàn)的軟件錯誤,很多需要程序員通過修改編碼才能修復(fù)。程序員可以通過有目的的分析軟件錯誤的類型、數(shù)量,找出產(chǎn)生錯誤的位置和原因,以便在今后的編程中避免同樣的錯誤,積累編程經(jīng)驗,提高編程能力。
誤區(qū)之五:項目進度吃緊時少做些測試,時間富裕時多做測試
這是不重視軟件測試的表現(xiàn),也是軟件項目過程管理混亂的表現(xiàn),必然會降低軟件測試的質(zhì)量。一個軟件項目的順利實現(xiàn)需要有合理的項目進度計劃,其中包括合理的測試計劃,對項目實施過程中的任何問題,都要有風險分析和相應(yīng)的對策,不要因為開發(fā)進度的延期而簡單的縮短測試時間、人力和資源。因為縮短測試時間帶來的測試不完整,對項目質(zhì)量的下降引起的潛在風險,往往造成更大的浪費?朔@種現(xiàn)象的最好辦法是加強軟件過程的計劃和控制,包括軟件測試計劃、測試設(shè)計、測試執(zhí)行、測試度量和測試控制。
誤區(qū)之六:軟件測試是沒有前途的工作,只有程序員才是軟件高手
由于我國軟件整體開發(fā)能力比較低,軟件過程很不規(guī)范,很多軟件項目的開發(fā)都還停留在“作坊式”和“壘雞窩”階段。項目的成功往往靠個別全能程序員決定,他們負責總體設(shè)計和程序詳細設(shè)計,認為軟件開發(fā)就是編寫代碼,給人的印象往往是程序員是真正的牛人,具有很高的地位和待遇。因此,在這種環(huán)境下,軟件測試很不受重視,軟件測試人員的地位和待遇自然就很低了,甚至軟件測試變得可有可無。隨著市場對軟件質(zhì)量的不斷提高,軟件測試將變得越來越重要,相應(yīng)的軟件測試人員的地位和待遇將會逐漸提高。在微軟等軟件過程比較規(guī)范的大公司,軟件測試人員的數(shù)量和待遇與程序員沒有多大差別,優(yōu)秀測試人員的待遇甚至比程序員還要高。軟件測試將會成為一個具有很大發(fā)展前景的行業(yè),軟件測試大有前途,市場需要更多具有豐富測試技術(shù)和管理經(jīng)驗的測試人員,他們同樣是軟件專家。
最后,歡迎你來學(xué)習我們的軟件測試零基礎(chǔ)入門教程,如果你對軟件測試學(xué)習有任何疑問,請加入我們的學(xué)習交流群。