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