【正文】
3):133 – 154, September 1998. [17] Paul C. Jenson and Carl Erickson. Objectoriented integration testing. Communications of the ACM, 37(9):30– 38, 1994. [18] Bertrand Meyer. ObjectOriented Software Construction. Prentice Hall, Englewood Cliffs, New Jersey, 2nd edition, 1997. [19] A. J. Offutt, M. J. Harrold, and P. Kolte. A software metric system for module Journal of Systems and Software, 20(3):295– 308, March 1993. [20] A. J. Offutt and J. Pan. Detecting equivalent mutants and the feasible path problem. The Journal of Software Testing, Verification, and Reliability, 7(3):165–192, September 1997. [21] A. Orso and S. Silva. Integration testing of procedural objectoriented languages with polymorphism. In16th International Conference on Testing Computer Software (ICTCS’ 99), Washington, DC, 1999. [22] Jan Overbeck. Integration Testing for ObjectOriented Software. . Dissertation, Vienna University of Technology, 1994. 。我們的方法考慮這一點(diǎn),同時(shí)也相當(dāng)重視對(duì)測(cè)試所造成的 MUT 內(nèi)進(jìn)行方法調(diào)用之間發(fā)生的相互作用。( 2)跨法檢測(cè) 。合同規(guī)定在一個(gè)類(lèi)中的每個(gè)公共方法的前提條件和后置條件。雖然技術(shù)已被開(kāi)發(fā),它可以識(shí)別在大多數(shù)情況下用于突變檢測(cè),傳統(tǒng)的數(shù)據(jù)流測(cè)試,和路徑的測(cè)試技術(shù) [20]是不可行的路徑,該問(wèn)題一般是不可 判定。但考慮其中 o 的類(lèi)型為 C 的情況,方式 C:: m 定義了一個(gè) A :: v,但不是 A :: u。最后,C 類(lèi)包括方法命令狀態(tài)變量 v。 定義 3 全耦 合定義用途: 在每一個(gè)序列的方法耦合 Sj,k,并為該每一耦合變量 V和每個(gè)節(jié)點(diǎn)在該含 V 最后定義的先前的方法,至少有一個(gè)測(cè)試用例等,當(dāng) F 是執(zhí)行使用 T,有一個(gè)耦合路徑 P 在微量的 F 開(kāi)始,并且到達(dá)在 Sj,k 的隨之而來(lái)的方法,該方法具有第一利用 V 的一個(gè)節(jié)點(diǎn)。 四耦合原則 該標(biāo)準(zhǔn)是全耦合序列,全聚類(lèi),全耦合定義用途,以及全聚 耦合定義用途。如果上下文變量是類(lèi)型T 的,任何類(lèi)是 T 的類(lèi)型家族的成員的任何實(shí)例可以被綁定到上下文變量。 幀內(nèi)方法耦合序列通過(guò)對(duì)某個(gè)特定方法的上下文中提出的方法調(diào)用定義,被稱(chēng)為耦合方法。這包括涉及參數(shù)的耦合,共享數(shù)據(jù)耦合和外部耦合路徑。當(dāng)兩個(gè)程序訪(fǎng)問(wèn)相同的外部存儲(chǔ)時(shí)外部設(shè)備接頭發(fā)生。 聚合和繼承,可以用來(lái)組成類(lèi)的類(lèi)型,形成新的類(lèi)型。測(cè)試標(biāo)準(zhǔn)是強(qiáng)加在一組測(cè)試用例要求的規(guī)則或規(guī)則的集合。該解決方案的總體策略是定義新的覆蓋準(zhǔn)則,這將允許測(cè)試在集成度程序方面加以形式化。雖然抽象數(shù)據(jù)類(lèi)型可以幫助實(shí)現(xiàn)更高質(zhì)量的設(shè)計(jì),但是它們的使用也可能會(huì)影響軟件測(cè)試。新的測(cè)試標(biāo)準(zhǔn)介紹,采取繼承和多態(tài)性的影響 考慮在內(nèi)。當(dāng)一個(gè)呼叫是由一個(gè)多態(tài)的方法形成,它執(zhí)行的版本取決于物體的類(lèi)型 [18]。這相對(duì)于系統(tǒng)的測(cè)試,其中的目的是測(cè)試整個(gè)系統(tǒng)集成為一個(gè)整體。因此,給出了繼承和多態(tài)的簡(jiǎn)要概述,并描述了以耦合為基礎(chǔ)的測(cè)試的概念。他們提出一種方法,是基于面向過(guò)程的軟件中的程序耦合關(guān)系的集成測(cè)試。一個(gè)調(diào)用點(diǎn)是一個(gè)節(jié)點(diǎn) i∈ NP1,包含一個(gè)呼叫從 P1 到 P2。 耦合序列 雖然面向?qū)ο蟮脑O(shè)計(jì)和編程的激勵(lì)目標(biāo)之一是減少軟件組件之間的耦合量,新的語(yǔ)言功能也引入組件耦合的新途徑。這組變量被稱(chēng)為耦合集 Sj,k, Sj,k 和這組的每個(gè)成員都是一個(gè)耦合變量。對(duì)于本研究中,數(shù)據(jù)有必要從流定義信息來(lái)調(diào)用站點(diǎn),從調(diào)用點(diǎn)的用途,從入口節(jié)點(diǎn)到用途,以及從定義到結(jié)束節(jié)點(diǎn)。因此,被認(rèn)為是唯一的類(lèi)重寫(xiě)的前提 和隨之而來(lái)的方法。沒(méi)有動(dòng)態(tài)綁定,方法之間的數(shù)據(jù)流關(guān)系是靜態(tài)的,可以在被執(zhí)行之前知道。 了解動(dòng)態(tài)綁定和多態(tài)性可能對(duì)方法之間的數(shù)據(jù)流關(guān)系的影響,考慮表中,如圖 3( c) 所示,其中總結(jié)了在圖 3( a) 該方法的定義和用途所示。幀內(nèi)方法耦合序列是不可行的,如果沒(méi)有輸入,可以執(zhí)行該序列。方法在面向?qū)ο蟮能浖S玫姆绞揭馕吨S多傳統(tǒng)的軟件測(cè)試技術(shù)測(cè)試錯(cuò)誤的東西。檢測(cè)到故障時(shí),系統(tǒng)輸出不期望的輸出相匹配。這類(lèi)似于全耦合定義用途。目前,我們正在設(shè)計(jì)技術(shù),儀器的測(cè)試程序來(lái)判斷測(cè)試是否滿(mǎn)足在本文提出的測(cè)試標(biāo)準(zhǔn)。這些條件依賴(lài)于源代碼的詳細(xì)分析,并且可以被用來(lái)生成集成測(cè)試用于面向?qū)ο蟮能浖窃跈z測(cè)中的軟件組件之間的連接設(shè)計(jì)和編程錯(cuò)誤有效。他們定義的施加方法測(cè)試要求兩個(gè)標(biāo)準(zhǔn)。 Jensen 和 Erickson[17]描述了一種方法,集成測(cè)試,類(lèi)似于許多黑盒測(cè)試技術(shù)。但是,如果 o 是代替 A,是由它綁定到一個(gè)方法調(diào)用 g 的返回值,改變實(shí)例的類(lèi)型初始化的局部變量將是極其困難的,目前超出了我們目前的研究范圍之內(nèi)。雖然這極大地復(fù)雜的分析,可能類(lèi)型的對(duì)象的數(shù)量是有限的,并且通常是小的。然而,由于動(dòng)態(tài)綁定和多態(tài)性的方法,實(shí)際上是被稱(chēng)為依賴(lài)型 T,實(shí)例的束縛。雖然有一定的異常,常見(jiàn)的假設(shè)是,在更高層次的包容層次結(jié)構(gòu)的標(biāo)準(zhǔn)有更多的測(cè)試功耗,成本較高。這 是對(duì)于每一個(gè)類(lèi)通過(guò)確保至少有一個(gè)測(cè)試,可以為每個(gè)耦合序列來(lái)實(shí)現(xiàn)提供一個(gè)實(shí)例的上下文。 當(dāng)使用測(cè)試標(biāo)準(zhǔn),它假定在該耦合序列的方法之前,前提和后果的方法已被單獨(dú)測(cè)試。然而, 5 它不是正被測(cè)試的類(lèi),而是利用了對(duì)象和相應(yīng)的方法的方法。耦合路徑集是一組可以出現(xiàn)在子路徑通過(guò)一個(gè)耦合的定義和使用之間的程序單元的節(jié)點(diǎn)。 下面的定義是從原來(lái)的耦合定義 [ 16 ],在那里 Jin 和 Offutt 更正式的定義。 C的各后代是 C 家族的一個(gè)部件 D。首先,給出了一些背景的定義,并引入了一些新的術(shù)語(yǔ)。 測(cè)試面向?qū)ο筌浖? 程序單元是一個(gè)過(guò)程,函數(shù)或方法。 其中在本文所討論的語(yǔ)言類(lèi)型的主要區(qū)別是在用于抽象的機(jī)制。這種重視會(huì)導(dǎo)致軟件單元的軟件組件的連接方式的重心。 在面向?qū)ο蟮恼Z(yǔ)言 [7]中發(fā)現(xiàn)的關(guān)系固有的復(fù)雜性也影響測(cè)試。反過(guò)來(lái),測(cè)試