【正文】
3 JTB 可以從網(wǎng)上下載, 參考文獻(xiàn) [1] Roger T. Alexander and A. Jefferson Offutt. Analysis techniques for testing polymorphic relationships. In Thirtieth International Conference on Technology of ObjectOriented Languages and Systems (TOOLS30), pages 104– 114, Santa Barbara, CA, 1999. [2] F. E. Allen and J. Cocke. A program data flow analysis procedure. Communications of the ACM, 19(3):137– 146, March 1976. [3] Stephane Barbey and Alfred Strohmeier. The problematics of testing objectoriented software. InSQM’ 94 Second Conference on Software Quality Management, volume 2, pages 411– 426, Edinburgh, Scotland, UK, 1994. [4] Boris Beizer. Software Testing Techniques. Van Nostrand Reinhold, New York, New York, 2nd edition, 1990. [5] Edward Berard. Issues in the testing of objectoriented software. In Electro’ 94 International, pages 211– 219. IEEE Computer Society Press, 1994. [6] Edward V. on ObjectOriented Software Engineering, volume 1. Prentice Hall, 1993. [7] Robert V. Binder. Testing objectoriented software: A survey. Journal of Software Testing, Verification amp。目前,我們正在設(shè)計(jì)技術(shù),儀器的測試程序來判斷測試是否滿足在本文提出的測試標(biāo)準(zhǔn)。這些條件依賴于源代碼的詳細(xì)分析,并且可以被用來生成集成測試用于面向?qū)ο蟮能浖窃跈z測中的軟件組件之間的連接設(shè)計(jì)和編程錯(cuò)誤有效。四個(gè)不同的標(biāo)準(zhǔn)被提出,可 11 以幫助測試人員評(píng)估基于繼承和多態(tài)的軟件組件之間的連接。然而,這種方法的重點(diǎn)是起因于多態(tài)調(diào)用中 MUT 的效果。這類似于全耦合定義用途。他們定義的施加方法測試要求兩個(gè)標(biāo)準(zhǔn)。本文不介紹如何在測試過程中使用此信息。他們的方法強(qiáng)調(diào)三個(gè)層次的測試:( 1)幀內(nèi)法測試 。檢測到故障時(shí),系統(tǒng)輸出不期望的輸出相匹配。 Jensen 和 Erickson[17]描述了一種方法,集成測試,類似于許多黑盒測試技術(shù)。過濾器進(jìn)行檢查,以確定是否其中一種方法是正確的類型和值,則該方法被調(diào)用以正確的順序,而且如果所調(diào)用的方法的 前提是真實(shí)的。 在他的博士論文, Overbeck 提出了一種基于客戶端和服務(wù)器類 [22]中的測試合同的方法。方法在面向?qū)ο蟮能浖S玫姆绞揭馕吨S多傳統(tǒng)的軟件測試技術(shù)測試錯(cuò)誤的東西。但是,如果 o 是代替 A,是由它綁定到一個(gè)方法調(diào)用 g 的返回值,改變實(shí)例的類型初始化的局部變量將是極其困難的,目前超出了我們目前的研究范圍之內(nèi)。 A 型 Tis 認(rèn)為是可行的,如果耦合序列的上下文變量可以經(jīng)常被綁定到一個(gè)實(shí)例,其中 Tis 無論是聲明的類型的上下文變量,或聲明的類型的后裔。等效突變體,在路徑測試技術(shù)不到的語句,和不可行 DU雙數(shù)據(jù)流測試是可行的路徑問題的所有實(shí)例。幀內(nèi)方法耦合序列是不可行的,如果沒有輸入,可以執(zhí)行該序列。雖然這極大地復(fù)雜的分析,可能類型的對(duì)象的數(shù)量是有限的,并且通常是小的。 圖 3 例如類層次結(jié)構(gòu)與重寫方法 9 有一個(gè)潛在的問題,數(shù)據(jù)流異常,因?yàn)轱@然 A :: u 不使用前面的定義。也是沒有問題的,當(dāng) o 的類型為 B,因?yàn)?A :: u 通過調(diào)用已在聲明中的語句 3 定義了。 了解動(dòng)態(tài)綁定和多態(tài)性可能對(duì)方法之間的數(shù)據(jù)流關(guān)系的影響,考慮表中,如圖 3( c) 所示,其中總結(jié)了在圖 3( a) 該方法的定義和用途所示。然而,由于動(dòng)態(tài)綁定和多態(tài)性的方法,實(shí)際上是被稱為依賴型 T,實(shí)例的束縛。首先觀察有 f 需要被聲明為類型 A 的形式參數(shù) o。同樣, B 類包括方法 n 和 l 及狀態(tài)變量 w。沒有動(dòng)態(tài)綁定,方法之間的數(shù)據(jù)流關(guān)系是靜態(tài)的,可以在被執(zhí)行之前知道。雖然有一定的異常,常見的假設(shè)是,在更高層次的包容層次結(jié)構(gòu)的標(biāo)準(zhǔn)有更多的測試功耗,成本較高。 定義 4 全聚耦合定義用途: 在方法 F 中的任意耦合序列 Sj,k,并為每類由 Sj,k 的上 下文中定義的類型的家族中,并為 Sj,k 的每一個(gè)耦合變量 v 和每個(gè)節(jié)點(diǎn) n 中的最后一個(gè)定義具有第一個(gè)節(jié)點(diǎn) m 使用的變量 v 有至少一個(gè)測試用例 T,使得當(dāng)采用 T 執(zhí)行 f 有在 Sj,k 的耦合路徑是 f 的跡的子路徑一個(gè)路徑 p。那就是,每一個(gè)可行的耦合路徑的每個(gè)耦合的定義和 V 耦合對(duì)之間必須至少有一個(gè)測試用例執(zhí)行。因此,被認(rèn)為是唯一的類重寫的前提 和隨之而來的方法。這 是對(duì)于每一個(gè)類通過確保至少有一個(gè)測試,可以為每個(gè)耦合序列來實(shí)現(xiàn)提供一個(gè)實(shí)例的上下文。這里,覆蓋面意味著每個(gè)偶聯(lián)序列被至少執(zhí)行一個(gè)測試用例。可能該分析的信息可以被用來解決在軟件工程中的其他問題。對(duì)于本研究中,數(shù)據(jù)有必要從流定義信息來調(diào)用站點(diǎn),從調(diào)用點(diǎn)的用途,從入口節(jié)點(diǎn)到用途,以及從定義到結(jié)束節(jié)點(diǎn)。 當(dāng)使用測試標(biāo)準(zhǔn),它假定在該耦合序列的方法之前,前提和后果的方法已被單獨(dú)測試。 6 3. 耦合條件 本文定義了四個(gè)面向?qū)ο蟮鸟?合原則進(jìn)行集成測試。 1 請(qǐng)注意,對(duì)于一個(gè)給定的耦合序列,即通過先行或隨之而來的節(jié)點(diǎn)上執(zhí)行一個(gè)調(diào)用的結(jié)果的方法取決于該序列的上下文變量綁定到該實(shí)例的類型。這組變量被稱為耦合集 Sj,k, Sj,k 和這組的每個(gè)成員都是一個(gè)耦合變量。然而, 5 它不是正被測試的類,而是利用了對(duì)象和相應(yīng)的方法的方法。此外,存在兩種方法調(diào)用是定義清晰的相對(duì)于該上下文變量和到由第一種方 法中定義和第二種使用的至少一個(gè)狀態(tài)變量之間的至少一條路徑。耦合序列代表在 M 的文本中的故障很可能伴隨 O發(fā)生。 耦合序列 雖然面向?qū)ο蟮脑O(shè)計(jì)和編程的激勵(lì)目標(biāo)之一是減少軟件組件之間的耦合量,新的語言功能也引入組件耦合的新途徑。耦合路徑集是一組可以出現(xiàn)在子路徑通過一個(gè)耦合的定義和使用之間的