更新時(shí)間:2022-08-31 來源:黑馬程序員 瀏覽量:
軟件測(cè)試經(jīng)過幾十年的發(fā)展,人們提出了很多測(cè)試的基本原則用于指導(dǎo)軟件測(cè)試工作。制定軟件測(cè)試的基本原則有助于提高測(cè)試工作的效率和質(zhì)量,能讓測(cè)試人員以最少的人力、物力、時(shí)間等盡早發(fā)現(xiàn)軟件中存在的問題,測(cè)試人員應(yīng)該在測(cè)試原則的指導(dǎo)下進(jìn)行測(cè)試工作。
1.測(cè)試應(yīng)基于客戶需求
所有的測(cè)試工作都應(yīng)該建立在滿足客戶需求的基礎(chǔ)上,從客戶角度來看,最嚴(yán)重的錯(cuò)誤就是軟件無法滿足要求。有時(shí)候,軟件產(chǎn)品的測(cè)試結(jié)果非常完美,但卻不是客戶最終想要的產(chǎn)品,那么軟件產(chǎn)品的開發(fā)就是失敗的,而測(cè)試工作也是沒有任何意義的。因此測(cè)試應(yīng)依照客戶的需求配置環(huán)境,并且按照客戶的使用習(xí)慣進(jìn)行測(cè)試并評(píng)價(jià)結(jié)果。
2.測(cè)試要盡早進(jìn)行
軟件的錯(cuò)誤存在于軟件生命周期的各個(gè)階段,因此應(yīng)該盡早開展測(cè)試工作,把軟件測(cè)試貫穿到軟件生命周期的各個(gè)階段中,這樣測(cè)試人員能夠盡早地發(fā)現(xiàn)和預(yù)防錯(cuò)誤,降低錯(cuò)誤修復(fù)的成本。盡早地開展測(cè)試工作有利于幫助測(cè)試人員了解軟件產(chǎn)品的需求和設(shè)計(jì),從而預(yù)測(cè)測(cè)試的難度和風(fēng)險(xiǎn),制訂出完善的計(jì)劃和方案,提高測(cè)試的效率。
3.窮盡測(cè)試是不可能的
由于時(shí)間和資源的限制,進(jìn)行完全(各種輸入和輸出的全部組合)的測(cè)試是不可能的,測(cè)試人員可以根據(jù)測(cè)試的風(fēng)險(xiǎn)和優(yōu)先級(jí)等確定測(cè)試的關(guān)注點(diǎn),從而控制測(cè)試的工作量,在測(cè)試成本、風(fēng)險(xiǎn)和收益之間求得平衡。
4.遵循GoodEnough原則
GoodEnough原則是指測(cè)試的投入與產(chǎn)出要適當(dāng)權(quán)衡,形成充分的質(zhì)量評(píng)估過程,這個(gè)過程建立在測(cè)試花費(fèi)的代價(jià)之上。測(cè)試不充分無法保證軟件產(chǎn)品的質(zhì)量,但測(cè)試投入過多會(huì)造成資源的浪費(fèi)。隨著測(cè)試資源投入的增加,測(cè)試的產(chǎn)出也是增加的,但當(dāng)投入達(dá)到一定的比例后,測(cè)試的效果就不會(huì)明顯增加了。因此在測(cè)試時(shí)要根據(jù)實(shí)際要求和產(chǎn)品質(zhì)量考慮測(cè)試的投入,最好使測(cè)試投入與產(chǎn)出達(dá)到一個(gè)GoodEnough狀態(tài)。
5.測(cè)試缺陷要符合“二八”定理
缺陷的“二八”定理也稱為Pareto原則、缺陷集群效應(yīng),一般情況下,軟件80%的缺陷會(huì)集中在20%的模塊中,缺陷并不是平均分布的。因此在測(cè)試時(shí),要抓住主要矛盾,如果發(fā)現(xiàn)某些模塊比其他模塊具有更多的缺陷,則要投入更多的人力、精力重點(diǎn)測(cè)試這些模塊以提高測(cè)試效率。
6.避免缺陷免疫
我們都知道蟲子的抗藥性原理,即一種藥物使用久了,蟲子就會(huì)產(chǎn)生抗藥性。而在軟件測(cè)試中,缺陷也是會(huì)產(chǎn)生免疫性的。同樣的測(cè)試用例被反復(fù)使用,發(fā)現(xiàn)缺陷的能力就會(huì)越來越差;測(cè)試人員對(duì)軟件越熟悉越會(huì)忽略一些看起來比較小的問題,發(fā)現(xiàn)缺陷的能力也越來越差,這種現(xiàn)象被稱為軟件測(cè)試的“殺蟲劑”現(xiàn)象。它主要是由于測(cè)試人員沒有及時(shí)更新測(cè)試用例或者是對(duì)測(cè)試用例和測(cè)試對(duì)象過于熟悉,形成了思維定式。
要克服這種情況,就要不斷對(duì)測(cè)試用例進(jìn)行修改和評(píng)審,不斷增加新的測(cè)試用例,同時(shí),測(cè)試人員也要發(fā)散思維,不能只是為了完成測(cè)試任務(wù)而做一些輸入和輸出的對(duì)比。
最后,沒有缺陷的軟件是不存在的,軟件測(cè)試是為了找出軟件測(cè)試中的缺陷,而不是為了證明軟件沒有缺陷。