H模型
H模型中, 軟件測試過程活動完全獨立,貫穿于整個產品的周期,與其他流程并發地進行,某個測試點準備就緒時,就可以從測試準備階段進行到測試執行階段。軟件測試可以盡早的進行,并且可以根據被測物的不同而分層次進行。
這個示意圖演示了在整個生產周期中某個層次上的一次測試“微循環”。圖中標注的其它流程可以是任意的開發流程,例如設計流程或者編碼流程。也就是說, 只要測試條件成熟了,測試準備活動完成了,測試執行活動就可以進行了。
H模型揭示了一個原理:軟件測試是一個獨立的流程,貫穿產品整個生命周期,與其他流程并發地進行。H模型指出軟件測試要盡早準備, 盡早執行。不同的測試活動可以是按照某個次序先后進行的,但也可能是反復的,只要某個測試達到準備就緒點,測試執行活動就可以開展。
X模型
X模型也是對V模型的改進,X模型提出針對單獨的程序片段進行相互分離的編碼和測試,此后通過頻繁的交接,通過集成最終合成為可執行的程序。X模型的左邊描述的是針對單獨程序片段所進行的相互分離的編碼和測試,此后將進行頻繁的交接,通過集成最終成為可執行的程序,然后再對這些可執行程序進行測試。己通過集成測試的成品可以進行封裝并提交給用戶,也可以作為更大規模和范圍內集成的一部分。多根并行的曲線表示變更可以在各個部分發生。由圖中可見,X模型還定位了探索性測試,這是不進行事先計劃的特殊類型的測試,這一方式往往能幫助有經驗的測試人員在測試計劃之外發現更多的軟件錯誤。但這樣可能對測試造成人力、物力和財力的浪費,對測試員的熟練程度要求比較高。
|
現狀前景 |
現狀
軟件開發中出現錯誤或缺陷的機會越來越多,市場對軟件質量重要性的認識逐漸增強。所以,軟件測試在軟件項目實施過程中的重要性日益突出。但是,現實情況是,與軟件編程比較,軟件測試的地位和作用,還沒有真正受到重視,對于很多人(甚至是軟件項目組的技術人員)還存在對軟件測試的認識誤區,這進一步影響了軟件測試活動開展和真正提高軟件測試質量。
(1)誤區之一:軟件開發完成后進行軟件測試
人們一般認為,軟件項目要經過以下幾個階段:需求分析,概要設計,詳細設計,軟件編碼,軟件測試,軟件發布。據此,認為軟件測試只是軟件編碼后的一個過程。這是不了解軟件測試周期的錯誤認識。軟件測試是一個系列過程活動,包括軟件測試需求分析,測試計劃設計,測試用例設計,執行測試。因此,軟件測試貫穿于軟件項目的整個生命過程。在軟件項目的每一個階段都要進行不同目的和內容的測試活動,以保證各個階段的正確性。軟件測試的對象不僅僅是軟件代碼,還包括軟件需求文檔和設計文檔。軟件開發與軟件測試應該是交互進行的,例如,單元編碼需要單元測試,模塊組合階段需要集成測試。如果等到軟件編碼結束后才進行測試,那么,測試的時間將會很短,測試的覆蓋面將很不全面,測試的效果也將大打折扣。更嚴重的是如果此時發現了軟件需求階段或概要設計階段的錯誤,如果要修復該類錯誤,將會耗費大量的時間和人力。
(2)誤區之二:軟件發布后如果發現質量問題,那是軟件測試人員的錯
這種認識很打擊軟件測試人員的積極性。軟件中的錯誤可能來自軟件項目中的各個過程,軟件測試只能確認軟件存在錯誤,不能保證軟件沒有錯誤,因為從根本上講,軟件測試不可能發現全部的錯誤。從軟件開發的角度看,軟件的高質量不是軟件測試人員測出來的,是靠軟件生命周期的各個過程中設計出來的。出現軟件錯誤,不能簡單地歸結為某一個人的責任,有些錯誤的產生可能不是技術原因,可能來自于混亂的項目管理。應該分析軟件項目的各個過程,從過程改進方面尋找產生錯誤的原因和改進的措施。
原文轉自:http://www.uml.org.cn/Test/test-bk.asp