版權(quán)所有 :-)
對(duì)于大型項(xiàng)目,軟件測(cè)試的執(zhí)行,除了需要很好的測(cè)試范圍分析、測(cè)試計(jì)劃制定和測(cè)試資源的分配與組織之外,還是有一個(gè)容易被大家忽視的策略問(wèn)題。 對(duì)于大多數(shù)應(yīng)用項(xiàng)目(非國(guó)防、載入飛船上天、凈室工程等),我們都知道,測(cè)試不是為了證明所有的功能能正常工作,恰恰相反,測(cè)試就是為了找出那些不能正常工作、不一致性的問(wèn)題,也就是說(shuō),測(cè)試的一般工作就是發(fā)現(xiàn)缺陷 (detect bug),當(dāng)然這些缺陷包括需求分析、設(shè)計(jì)等的缺陷,不僅僅是程序中的運(yùn)行。測(cè)試的啟動(dòng)和項(xiàng)目啟動(dòng)是同時(shí)發(fā)生的,測(cè)試的重要工作是在測(cè)試用例的設(shè)計(jì),這是隨后測(cè)試執(zhí)行的基礎(chǔ)。同時(shí),我們應(yīng)該承認(rèn),測(cè)試的主要工作是在測(cè)試的執(zhí)行,當(dāng)自動(dòng)化測(cè)試工具在功能測(cè)試中發(fā)揮作用比較困難時(shí),測(cè)試執(zhí)行的工作量還是很大的。 如何更早地發(fā)現(xiàn)缺陷又不增加風(fēng)險(xiǎn)?測(cè)試的本質(zhì)是什么,發(fā)現(xiàn)缺陷還是風(fēng)險(xiǎn)評(píng)估?如何引導(dǎo)大家向著一個(gè)目標(biāo)——產(chǎn)品及時(shí)高質(zhì)量發(fā)布努力? 1. 首先就要向測(cè)試人員灌輸一個(gè)概念——“測(cè)試的一般工作就是發(fā)現(xiàn)缺陷 (detect bug)”,達(dá)成共識(shí),這是很重要。這樣,測(cè)試人員,就知道什么是自己真正的工作。這一點(diǎn),不僅在測(cè)試執(zhí)行時(shí)發(fā)揮作用,而且在設(shè)計(jì)測(cè)試用例時(shí)更能發(fā)揮作用。 2. 測(cè)試執(zhí)行階段可以劃分為兩個(gè)子階段,前一個(gè)階段的目的非常清楚,就是發(fā)現(xiàn)缺陷,督促大家就是找出缺陷。測(cè)試用例的執(zhí)行,應(yīng)該是幫助我們更快地發(fā)現(xiàn)缺陷,而不是成為“發(fā)現(xiàn)缺陷”的障礙——使發(fā)現(xiàn)缺陷的能力降低。從理論上說(shuō),如果缺陷都找出來(lái)了,質(zhì)量也就有保證了。所以在這一階段,要不顧風(fēng)險(xiǎn),就是發(fā)現(xiàn)缺陷,這樣不僅對(duì)開(kāi)發(fā)團(tuán)隊(duì)也非常有利,能盡早地修正大部分缺陷;對(duì)測(cè)試有利,測(cè)試效率高,后面的回歸測(cè)試也會(huì)穩(wěn)定,信心更充分。 3. 在代碼凍結(jié)或產(chǎn)品發(fā)布前的稍后的子階段,目的是減少風(fēng)險(xiǎn),增加測(cè)試的覆蓋度,這時(shí)測(cè)試的效率會(huì)低一些,以損失部分測(cè)試效率以極大降低風(fēng)險(xiǎn)、獲得更高質(zhì)量的收益。 4. 在前一階段,測(cè)試用例的執(zhí)行速度要低一些,測(cè)試人員多思考,多做些ad-hoc 測(cè)試,這樣又幫助提高測(cè)試用例的質(zhì)量,從而對(duì)隨后的回歸測(cè)試提供了更有力的保障。 5. 測(cè)試執(zhí)行要進(jìn)行有效監(jiān)控,包括測(cè)試執(zhí)行效率(缺陷數(shù)/KTC, KTC = 1000 test cases)、Bug歷史情況和發(fā)展趨勢(shì)等。根據(jù)獲得的數(shù)據(jù),必要時(shí)對(duì)測(cè)試范圍、測(cè)試重點(diǎn)等進(jìn)行調(diào)整,包括對(duì)測(cè)試人員的調(diào)整、互換模塊等手段,提高測(cè)試覆蓋度,降低風(fēng)險(xiǎn) 6. 測(cè)試總是是有風(fēng)險(xiǎn)的,正是始終存在的風(fēng)險(xiǎn),使之測(cè)試更具有藝術(shù)性。 |
|