軟體測試 V模型,還是X模型?

2021-03-31 08:57:00 字數 1790 閱讀 6257

x模型的目標是彌補v模型的一些缺陷。x模型真的能解決測試過程各方面的問題,例如交接、經常性的整合?

在軟體測試方面,v模型是最廣為人知的模型,儘管很多富有實際經驗的測試人員還是不太熟悉v模型,或者其它的模型。v模型已存在了很長時間,和瀑布開發模型有著一些共同的特性,由此也和瀑布模型一樣地受到了批評和質疑。在《軟體測試:不可忽略的階段》中已經詳細討論了v模型,這裡只作乙個概要的介紹。

v模型中的過程從左到右,描述了基本的開發過程和測試行為。v模型的價值在於它非常明確地標明了測試過程中存在的不同級別,並且清楚地描述了這些測試階段和開發過程期間各階段的對應關係。

圖1--v模型示意圖

在v模型中,單元測試是基於**的測試,最初由開發人員執行,以驗證其可執行程式**的各個部分是否已達到了預期的功能要求;

整合測試驗證了2個或多個單元之間的整合是否正確,並有針對性地對詳細設計中所定義的各單元之間的介面進行檢查;

在所有單元測試和整合測試完成後,系統測試開始以客戶環境模擬系統的執行,以驗證系統是否達到了在概要設計中所定義的功能和效能;

最後,當技術部門完成了所有測試工作後,由業務專家或使用者進行驗收測試,以確保產品能真正符合使用者業務上的需要。

儘管很多人對v模型表示了否定,但很少有人真正詳細地討論這些問題。brian marick(《the craft of software testing (prentice hall, 1995)》一書的作者)曾如此表示。在star2000 (software testing analysis and review) 東部會議上,marick曾經和dorothy graham(本系列文章的另一位作者)進行過一場論爭,並在其個人**.testing.***上對v模型提出過一些中肯的反對意見。

x模型

marick曾提出過一些觀點和意見,其中首先是marick不建議要建立乙個替代模型。這裡我很冒昧地引用了一些marick的想法,並重新經過組織,形成了「x模型」。其實並不是為了和v模型相對應而選擇這樣的名字,而是由於其它一些原因:x通常代表未知,而marick也認為他的觀點並不足以支撐乙個模型的完整描述,但其中已經有乙個模型所需要的一些主要內容,其中也包括了象探索性測試(exploratory testing)這樣的亮點。我還需要在使用文字方面也向marick道歉,因為認同marick觀點的無疑大多屬於x一代(x一代)。另外,我勾畫了一張x形狀的示意圖,我相信該圖能夠很好地以另一種表達形式來體現marick的觀點。

圖2--x模型示意圖

marick對v模型提出質疑,也因為v模型基於一套必須按照一定順序嚴格排列的開發步驟,而這很可能並沒有反映實際的實踐過程。

儘管很多專案缺乏足夠的需求,v模型還是從需求處理開始。v模型提示我們要對各開發階段中已經得到的內容進行測試,但它沒有規定我們要取得多少內容。如果沒有任何的需求資料,開發人員知道他們要做什麼嗎?我主張在x模型和其它模型中都需要足夠的需求並至少進行一次發布。雖然在沒有模型的情況下也必須正常工作,但乙個有效的模型,可以鼓勵很多好的實踐方法的採用。因此,v模型的乙個強項是它明確的需求角色的確認,而x模型沒有這麼做,這大概是x模型的乙個不足之處。

marick也質疑了單元測試和整合測試的區別,因為在某些場合人們可能會跳過單元測試而熱衷於直接進行整合測試。marick擔心人們盲目地跟隨「學院派的v模型」,按照模型所指導的步驟進行工作,而實際上某些做法並不切合實用。我已經盡自己的努力把marick的關於需要很多具有可伸縮性的行為的期望結合進了x模型,這樣,x模型並不要求在進行作為建立可執行程式(圖中右上方)的乙個組成部分的整合測試之前,對每乙個程式片段都進行單元測試(圖中左側的行為)。但x模型沒能提供是否要跳過單元測試的判斷準則。

在「階段」之外

軟體測試 V模型,還是X模型?

x模型的目標是彌補v模型的一些缺陷。x模型真的能解決測試過程各方面的問題,例如交接 經常性的整合?在軟體測試 方面,v模型是最廣為人知的模型,儘管很多富有實際經驗的測試人員還是不太熟悉v模型,或者其它的模型。v模型已存在了很長時間,和瀑布開發模型有著一些共同的特性,由此也和瀑布模型一樣地受到了批評和...

軟體測試V模型

他通過開發和測試同時進行的方式來縮短開發周期,提高開發效率。可以說,v模型是軟體開發測試中最重要的一種模型。v模型大體可以劃分為下面幾個不同的階段步驟,既需求分析 概要設計 詳細設計 編碼 單元測試 整合測試 系統測試 驗收測試。需求分析 既你首先要明確客戶需要的是什麼,需要軟體作成什麼樣子,需要有...

解析軟體測試V模型

v模型的特點是 開發與測試緊密相連。在v模型中,從專案的需求分析 概要設計 詳細設計到具體的編碼編寫。開發的每乙個環節都和軟體的測試緊密 相扣,下面我們來看看v模型是如何實現這一特點的。一 專案最先開始的是需求分析階段,需求分析階段的目標是 1 獲得使用者的需求。2 明確系統功能的劃分。3 分析需求...