聯合測試

發表于:2007-06-01來源:作者:點擊數: 標簽:測試聯合
考核要求: 識記 :漸增式與非漸增式聯調的概念。 領會:漸增式與非漸增式聯調的特點與區別;兩種漸增方式。 漸增式和非漸增式聯調 將若干個模塊連接成一個可運行的系統通常有兩種方式:一種是“非漸增式”,即先獨立地測試每一模塊,然后將所有這些模塊連接

考核要求:

識記 :漸增式與非漸增式聯調的概念。

領會:漸增式與非漸增式聯調的特點與區別;兩種漸增方式。

漸增式和非漸增式聯調

將若干個模塊連接成一個可運行的系統通常有兩種方式:一種是“非漸增式”,即先獨立地測試每一模塊,然后將所有這些模塊連接到一起運行;另一種是“漸增式”,即在已測試過的N個模塊的基礎上再增加一個模塊,再對N十1個模塊進行測試。

下面以圖6.11為例討論這兩種方式的差別。


非漸增式是先分別測試6個模塊A、B、C、D、E、F,然后將 6個模塊連接到一起再進行測試。

若用這種方式,在測試某個模塊X時,需要為它設計一個驅動模塊和若干個樁模塊(圖 6.12)。驅動模塊的作用是模擬X的調用模塊,樁模塊的作用是模擬X的下層模塊。例如測試圖 6.11的模塊B時,要為它設計一個驅動模塊,其作用是將測試數據傳送給模塊B,并顯示B產生的結果,另外,由于模塊B要調用模塊E,所以還需設計一個名字為E的模塊,它將接受B的控制并模擬E的功能。

另一種方式是漸增式,它不是分別測試每個模塊,而是逐步將要測試的模塊同已測試的模塊連接起來。若用漸增方式,模塊測試和聯合測試這兩步是結合起來進行的。

漸增式又有“由頂向下”、“由底向上”等多種。對圖6.11的程序若采用“由底向上”的方式,則是先順序地或并行地 測試模塊 E、C、F,此時需為每個模塊準備一個驅動模塊,但不必準備樁模塊,然后為B準備一個驅動模塊將B與E連接起來測試,又為D準備一個驅動模塊將D和F連接起來測試,這過程將繼續至測試最后一個模塊A。

漸增式與非漸增式的比較

1) 非漸增式需要較多的人工,以圖 6.11為例,采用非漸增式共需準備5個驅動模塊和5個樁模塊(假定A不需要驅動模塊, C,E,F不需要樁模塊)。而用漸增式,如果是“由頂向下”則可利用前面已測試過的模塊,而不必另外準備驅動模塊,如果是“由底向上”,也可利用已測式過的模塊,不必再準備樁模塊。對圖 6.11來說,如用“由頂向下”方式則只需要5個樁模塊而不要驅動模塊,如用“由底向上”方式則只要5個驅動模塊而不需要樁模塊。

2) 漸增式可以較早地發現模塊界面之間的錯誤,非漸增式則要到最后將所有模塊連接起來時才能發現這類錯誤。

3) 漸增式有利于排錯。如果模塊界面間有錯,如果用非漸增式,這類錯誤要到最后聯合測試時才能發現,此時很難判斷錯誤發生在程序的哪一部分,但如果用漸增式,這類錯誤就較容易定位,它通常與最新加上去的那個模塊有關。

4) 漸增式比較徹底。對圖6.14的例子采用漸增式測試,在測試模塊B時,模塊A(由頂向下方式)或模塊E(由底向上方式)也要再次執行,雖然A或E前面已測試過,但與模塊B連接起來也許又會產生一個新的條件,而這個條件在分別測試 A或 E時可能是被遺漏的。換句話說,漸增式以前面測試過的模塊作為驅動模塊或樁模塊,所以這些模塊將得到進一步的檢查。

5) 漸增式需要較多的機器時間。以 圖 6.11 為例.如用由底向上漸增式,在測試模塊A時,模塊B、C、D、E、F也要執行,若用非漸增式,在測試模塊A時,只需執行模擬B、C、D的樁模塊。類似地,如用由頂向下漸增式,在測試模塊F時,模塊A、B、C、D、E可能都要執行,而用非漸增式,則只需執行模塊F本身以及它的驅動模塊。所以整個測試過程中,漸增式所需的機器時間比非漸增式多。

6) 使用非漸增方式,在開始時允許幾個測試人員并行工作,這對大型系統來說,是很有意義的。

第 1)~4)點是漸增式的長處,第 5) ~6)點是它的短處。

由頂向下和由底向上漸增式

有兩種主要的漸增方式:“由頂向下”和“由底向上”。

由頂向下

由頂向下漸增式首先測試頂模塊(主模塊),下一步再測試哪個模塊則有多種選擇,唯一的限制是:該模塊的調用模塊中至少有一個已測試過了。

決定測試順序的基本原則是:

1)盡早測試關鍵的模塊。所謂關鍵的模塊是指較復雜、較可能出錯或含有新的算法的模塊。

2)盡早測試包含輸入輸出操作的模塊。因為這些模塊被測試后,向程序送入測試數據以及檢查輸出結果就方便了。

由底向上

由底向上與由頂向下的測試順序正好相反,它首先測試最底層的模塊,下一步再測試哪個模塊則有多種選擇,唯一的限制是:該模塊的所有下層模塊都已測試過了。

同由頂向下一樣,由底向上的測試順序也與程序中的關健部分有關。

用由底向上方式測試時,需要為每個模塊準備一個驅動模塊,它的作用是調用被測試的模塊,包括設置輸入參數、顯示輸出結果(或將實際輸出與預期的輸出作比較)。一般說來、驅動模塊的作用是比較標準的,編寫驅動模塊比編寫樁模塊容易,可以用工具來實現。

由于驅動模塊直接與被測試模塊聯系,所以不必擔心有其他模塊介入的問題。

由底向上方式不能像由頂向下方式那樣,是在測試中途獲得一個程序框架,因為由底向上方式的程序框架要到測試最后一個模塊(頂模塊)時才能形成,它實際上就是整個程序了。

本節的結論是:由頂向下和由底向上漸增式各有優缺點,測試人員可根據程序的具體特點和測試工具的情況決定選用哪一種方式。

原文轉自:http://www.anti-gravitydesign.com

国产97人人超碰caoprom_尤物国产在线一区手机播放_精品国产一区二区三_色天使久久综合给合久久97