,相關(guān)測試設(shè)計人員會對測試對象進(jìn)行了解、分析,為保證測試順利進(jìn)行,保證測試覆蓋盡量多的測試對象,會設(shè)計測試案例、測試方案,在測試期間進(jìn)行使用;測試發(fā)現(xiàn)錯誤時,軟件技術(shù)人員會根據(jù)測試的缺陷反饋結(jié)果及技術(shù)人員的軟件修改信息對測試程序進(jìn)行修改,完畢后再進(jìn)行回歸測試。
6、 測試人員素質(zhì)低,缺乏相關(guān)知識培訓(xùn)。
項目管理人員對測試存有偏見,對于測試的重要性認(rèn)識不足,導(dǎo)致其嚴(yán)重忽略測試
人員的選拔和知識培訓(xùn)。許多軟件項目讓軟件用戶或新招收的技術(shù)人員來完成測試工作,他們認(rèn)為測試人員的工作很簡單,就是技術(shù)人員讓測什么就測什么,它基本是一個動手不動腦的工作。
這樣做的后果進(jìn)一步導(dǎo)致了測試工作的無序和混亂,測試過程缺乏計劃性,測試人員缺乏技術(shù)能力,缺乏對架構(gòu)的了解,相關(guān)素質(zhì)的缺失使他們成為技術(shù)人員的附庸。測試對于他們來說,是一種枯燥的“手+眼”式的工作,他們唯一渴望的,是將無聊的測試盡快完成,從而遠(yuǎn)遠(yuǎn)的逃離。這樣的測試結(jié)果可想而知。
其實(shí),軟件工程對測試人員的素質(zhì)要求是很嚴(yán)格的,比如:要有相關(guān)計算機(jī)知識背景、具備軟件工程基本知識、熟悉項目編程語言、熟悉項目技術(shù)架構(gòu)及需求內(nèi)容、工作有責(zé)任感、獨(dú)立分析能力及團(tuán)隊精神等等。真正規(guī)范的軟件項目對于測試人員的要求是不會低于技術(shù)人員的,而且會為測試人員提供進(jìn)一步的知識培訓(xùn)機(jī)會,以應(yīng)對各種項目的復(fù)雜情況。
7、 測試進(jìn)度的錯誤估算。
在項目開發(fā)中,領(lǐng)導(dǎo)為督促測試的進(jìn)程,往往會讓項目組匯報工作進(jìn)度,了解已經(jīng)
完成的工作占比,從而對工作進(jìn)度做出判斷。我對這種工作方式完全擁護(hù),只是覺得這種方式還有不足。
測試進(jìn)程不是簡單的1+1過程,不能武斷地認(rèn)為“我用8天干完了80%的工作,那么,剩余工作便能在2天內(nèi)干完”。著名的Pareto80/20規(guī)律告訴我們:測試發(fā)現(xiàn)的所有錯誤中的80%很可能集中在20%的程序模塊中,另外20%很可能集中在80%的程序模塊中。
所以,沒有對測試對象認(rèn)真分析的基礎(chǔ),單憑工作完成數(shù)量而對工作進(jìn)度做出的的判斷往往是錯誤的。
我認(rèn)為,“工作實(shí)際進(jìn)度=工作完成量占比+測試對象的錯誤占比分析”才是一個較合理的測試進(jìn)度估算方式。
測試新思路:
項目的開發(fā)風(fēng)險來自于對需求的誤解,來自于設(shè)計與開發(fā)過程及產(chǎn)品的缺陷,只有盡早發(fā)現(xiàn)這些缺陷,才能降低并控制項目風(fēng)險?;谶@種思想,軟件業(yè)出現(xiàn)了一些新的測試思路,主要有二:
1、測試驅(qū)動開發(fā)(Test-Driven Development,簡稱TDD)。這種測試思想被最近流行的XP(Extreme Programming)極限編程方式所大力提倡。它的基本思想是,通過測試來為編程做指導(dǎo),在某個要開發(fā)的需求對象明確之后,在編碼之前,先進(jìn)行相關(guān)測試代碼(測試代碼的內(nèi)容和需求規(guī)格說明書描述是相同的,有人把它稱為“可執(zhí)行的需求規(guī)格說明書”)的編寫工作,完成之后針對測試代碼進(jìn)行編程,然后再用測試程序?qū)﹂_發(fā)代碼進(jìn)行測試,驗證其正確性,若程序通過了測試,就說明它是符合需求規(guī)格說明書要求的。周而復(fù)始,通過這樣的過程,開發(fā)進(jìn)程得以層層深入,直到開發(fā)完成。而這時單元測試也基本完成了。
這種測試方式的最大的好處是,盡早地發(fā)現(xiàn)設(shè)計、開發(fā)中存在的問題,避免傳統(tǒng)開發(fā)模式中的“測試過程中發(fā)現(xiàn)代碼不能滿足需求而導(dǎo)致的大量返工”。降低項目風(fēng)險;同時可以盡早地將“半成品”展示給客戶,使客戶對需求進(jìn)行驗證、補(bǔ)充及完善,另外測試代碼的表達(dá)方式相對準(zhǔn)確、無二義性,可以降低因需求理解錯誤而導(dǎo)致的項目風(fēng)險。
2、迭代測試。這種測試是IBM所推崇測試方式之一,它從迭代式開發(fā)模式演變而來。在迭代開發(fā)模式中,每個迭代