【正文】
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)。四個不同的標(biāo)準(zhǔn)被提出,可 11 以幫助測試人員評估基于繼承和多態(tài)的軟件組件之間的連接。這類似于全耦合定義用途。本文不介紹如何在測試過程中使用此信息。檢測到故障時,系統(tǒng)輸出不期望的輸出相匹配。過濾器進(jìn)行檢查,以確定是否其中一種方法是正確的類型和值,則該方法被調(diào)用以正確的順序,而且如果所調(diào)用的方法的 前提是真實(shí)的。方法在面向?qū)ο蟮能浖S玫姆绞揭馕吨S多傳統(tǒng)的軟件測試技術(shù)測試錯誤的東西。 A 型 Tis 認(rèn)為是可行的,如果耦合序列的上下文變量可以經(jīng)常被綁定到一個實(shí)例,其中 Tis 無論是聲明的類型的上下文變量,或聲明的類型的后裔。幀內(nèi)方法耦合序列是不可行的,如果沒有輸入,可以執(zhí)行該序列。 圖 3 例如類層次結(jié)構(gòu)與重寫方法 9 有一個潛在的問題,數(shù)據(jù)流異常,因?yàn)轱@然 A :: u 不使用前面的定義。 了解動態(tài)綁定和多態(tài)性可能對方法之間的數(shù)據(jù)流關(guān)系的影響,考慮表中,如圖 3( c) 所示,其中總結(jié)了在圖 3( a) 該方法的定義和用途所示。首先觀察有 f 需要被聲明為類型 A 的形式參數(shù) o。沒有動態(tài)綁定,方法之間的數(shù)據(jù)流關(guān)系是靜態(tài)的,可以在被執(zhí)行之前知道。 定義 4 全聚耦合定義用途: 在方法 F 中的任意耦合序列 Sj,k,并為每類由 Sj,k 的上 下文中定義的類型的家族中,并為 Sj,k 的每一個耦合變量 v 和每個節(jié)點(diǎn) n 中的最后一個定義具有第一個節(jié)點(diǎn) m 使用的變量 v 有至少一個測試用例 T,使得當(dāng)采用 T 執(zhí)行 f 有在 Sj,k 的耦合路徑是 f 的跡的子路徑一個路徑 p。因此,被認(rèn)為是唯一的類重寫的前提 和隨之而來的方法。這里,覆蓋面意味著每個偶聯(lián)序列被至少執(zhí)行一個測試用例。對于本研究中,數(shù)據(jù)有必要從流定義信息來調(diào)用站點(diǎn),從調(diào)用點(diǎn)的用途,從入口節(jié)點(diǎn)到用途,以及從定義到結(jié)束節(jié)點(diǎn)。 6 3. 耦合條件 本文定義了四個面向?qū)ο蟮鸟?合原則進(jìn)行集成測試。這組變量被稱為耦合集 Sj,k, Sj,k 和這組的每個成員都是一個耦合變量。此外,存在兩種方法調(diào)用是定義清晰的相對于該上下文變量和到由第一種方 法中定義和第二種使用的至少一個狀態(tài)變量之間的至少一條路徑。 耦合序列 雖然面向?qū)ο蟮脑O(shè)計(jì)和編程的激勵目標(biāo)之一是減少軟件組件之間的耦合量,新的語言功能也引入組件耦合的新途徑。 P1 和 P2 是一個系統(tǒng)的程序單元: ? 呼叫耦合: 該組由測試集執(zhí)行路徑必須包括在該軟件的所有調(diào)用點(diǎn)。一個調(diào)用點(diǎn)是一個節(jié)點(diǎn) i∈ NP1,包含一個呼叫從 P1 到 P2。訪問一個變量的值時,將出現(xiàn)使用。他們提出一種方法,是基于面向過程的軟件中的程序耦合關(guān)系的集成測試。 多態(tài)性允許變量按照繼承層次結(jié)構(gòu)具有不同的類型。因此,給出了繼承和多態(tài)的簡要概述,并描述了以耦合為基礎(chǔ)的測試的概念。一個測試用例值直接滿足一個或一個以上的測試要求。這相對于系統(tǒng)的測試,其中的目的是測試整個系統(tǒng)集成為一個整體。首先,正規(guī)的標(biāo)準(zhǔn)有助于這種情況下通過提供用于指定測試要求的基礎(chǔ)。當(dāng)一個呼叫是由一個多態(tài)的方法形成,它執(zhí)行的版本取決于物體的類型 [18]。因此,測試人員發(fā)現(xiàn),單元測試和更多的集成測試需要較少的強(qiáng)調(diào)。新的測試標(biāo)準(zhǔn)介紹,采取繼承和多態(tài)性的影響 考慮在內(nèi)。因此,我們發(fā)現(xiàn),我們需要較少強(qiáng)調(diào)單元測試和更多的集成測試。雖然抽象數(shù)據(jù)類型可以幫助實(shí)現(xiàn)更高質(zhì)量的設(shè)計(jì),但是它們的使用也可能會影響軟件測試。面向過程的語言使用過程和函數(shù)作為其主要的抽象機(jī)制,而面向?qū)ο蟮恼Z言使用數(shù)據(jù)抽象。該解決方案的總體策略是定義新的覆蓋準(zhǔn)則,這將允許測試在集成度程序方面加以形式化。一個模塊是相關(guān)單位的集合,例如,一個 C 文件,一 個 Ada 包,或 Java 。測試標(biāo)準(zhǔn)是強(qiáng)加在一組測試用例要求的規(guī)則或規(guī)則的集合。然后是測試標(biāo)準(zhǔn)的定義。 聚合和繼承,可以用來組成類的類型,形成新的類型。如果 D 在 C 的家庭,多態(tài)性是指 D 的任何實(shí)例可以自由用于任何 C 的實(shí)例中。當(dāng)兩個程序訪問相同的外部存儲時外部設(shè)備接頭發(fā)生。VP 是由程序組件引用的變量的集合 P, NP 是在 P 的控制流圖的節(jié)點(diǎn)集。這包括涉及參數(shù)的耦合,共享數(shù)據(jù)耦合和外部耦合路徑。這解釋了其中程序單元具有環(huán)路的情況。 幀內(nèi)方法耦合序列通過對某個特定方法的上下文中提出的方法調(diào)用定義,被稱為耦合方法。 幀內(nèi)方法耦合序列的一個例子示于圖 1。如果上下文變量是類型T 的,任何類是 T 的類型家族的成員的任何實(shí)例可以被綁定到上下文變量。這使得開發(fā)人員假定任何發(fā)現(xiàn)的故障是與接口相關(guān)的。 四耦合原則 該標(biāo)準(zhǔn)是全耦合序列,全聚類,全耦合定義用途,以及全聚 耦合定義用途。這個想法是,耦合序列應(yīng)與可能發(fā)生在給定的上下文中耦合每一個可能的類型替代測試。 定義 3 全耦 合定義用途: 在每一個序列的方法耦合 Sj,k,并為該每一耦合變量 V和每個節(jié)點(diǎn)在該含 V 最后定義的先前的方法,至少有一個測試用例等,當(dāng) F 是執(zhí)行使用 T,有一個耦合路徑 P 在微量的 F 開始,并且到達(dá)在 Sj,