【正文】
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ù),儀器的測(cè)試程序來(lái)判斷測(cè)試是否滿(mǎn)足在本文提出的測(cè)試標(biāo)準(zhǔn)。這些條件依賴(lài)于源代碼的詳細(xì)分析,并且可以被用來(lái)生成集成測(cè)試用于面向?qū)ο蟮能浖?,它是在檢測(cè)中的軟件組件之間的連接設(shè)計(jì)和編程錯(cuò)誤有效。四個(gè)不同的標(biāo)準(zhǔn)被提出,可 11 以幫助測(cè)試人員評(píng)估基于繼承和多態(tài)的軟件組件之間的連接。然而,這種方法的重點(diǎn)是起因于多態(tài)調(diào)用中 MUT 的效果。這類(lèi)似于全耦合定義用途。他們定義的施加方法測(cè)試要求兩個(gè)標(biāo)準(zhǔn)。本文不介紹如何在測(cè)試過(guò)程中使用此信息。他們的方法強(qiáng)調(diào)三個(gè)層次的測(cè)試:( 1)幀內(nèi)法測(cè)試 。檢測(cè)到故障時(shí),系統(tǒng)輸出不期望的輸出相匹配。 Jensen 和 Erickson[17]描述了一種方法,集成測(cè)試,類(lèi)似于許多黑盒測(cè)試技術(shù)。過(guò)濾器進(jìn)行檢查,以確定是否其中一種方法是正確的類(lèi)型和值,則該方法被調(diào)用以正確的順序,而且如果所調(diào)用的方法的 前提是真實(shí)的。 在他的博士論文, Overbeck 提出了一種基于客戶(hù)端和服務(wù)器類(lèi) [22]中的測(cè)試合同的方法。方法在面向?qū)ο蟮能浖S玫姆绞揭馕吨S多傳統(tǒng)的軟件測(cè)試技術(shù)測(cè)試錯(cuò)誤的東西。但是,如果 o 是代替 A,是由它綁定到一個(gè)方法調(diào)用 g 的返回值,改變實(shí)例的類(lèi)型初始化的局部變量將是極其困難的,目前超出了我們目前的研究范圍之內(nèi)。 A 型 Tis 認(rèn)為是可行的,如果耦合序列的上下文變量可以經(jīng)常被綁定到一個(gè)實(shí)例,其中 Tis 無(wú)論是聲明的類(lèi)型的上下文變量,或聲明的類(lèi)型的后裔。等效突變體,在路徑測(cè)試技術(shù)不到的語(yǔ)句,和不可行 DU雙數(shù)據(jù)流測(cè)試是可行的路徑問(wèn)題的所有實(shí)例。幀內(nèi)方法耦合序列是不可行的,如果沒(méi)有輸入,可以執(zhí)行該序列。雖然這極大地復(fù)雜的分析,可能類(lèi)型的對(duì)象的數(shù)量是有限的,并且通常是小的。 圖 3 例如類(lèi)層次結(jié)構(gòu)與重寫(xiě)方法 9 有一個(gè)潛在的問(wèn)題,數(shù)據(jù)流異常,因?yàn)轱@然 A :: u 不使用前面的定義。也是沒(méi)有問(wèn)題的,當(dāng) o 的類(lèi)型為 B,因?yàn)?A :: u 通過(guò)調(diào)用已在聲明中的語(yǔ)句 3 定義了。 了解動(dòng)態(tài)綁定和多態(tài)性可能對(duì)方法之間的數(shù)據(jù)流關(guān)系的影響,考慮表中,如圖 3( c) 所示,其中總結(jié)了在圖 3( a) 該方法的定義和用途所示。然而,由于動(dòng)態(tài)綁定和多態(tài)性的方法,實(shí)際上是被稱(chēng)為依賴(lài)型 T,實(shí)例的束縛。首先觀察有 f 需要被聲明為類(lèi)型 A 的形式參數(shù) o。同樣, B 類(lèi)包括方法 n 和 l 及狀態(tài)變量 w。沒(méi)有動(dòng)態(tài)綁定,方法之間的數(shù)據(jù)流關(guān)系是靜態(tài)的,可以在被執(zhí)行之前知道。雖然有一定的異常,常見(jiàn)的假設(shè)是,在更高層次的包容層次結(jié)構(gòu)的標(biāo)準(zhǔn)有更多的測(cè)試功耗,成本較高。 定義 4 全聚耦合定義用途: 在方法 F 中的任意耦合序列 Sj,k,并為每類(lèi)由 Sj,k 的上 下文中定義的類(lèi)型的家族中,并為 Sj,k 的每一個(gè)耦合變量 v 和每個(gè)節(jié)點(diǎn) n 中的最后一個(gè)定義具有第一個(gè)節(jié)點(diǎn) m 使用的變量 v 有至少一個(gè)測(cè)試用例 T,使得當(dāng)采用 T 執(zhí)行 f 有在 Sj,k 的耦合路徑是 f 的跡的子路徑一個(gè)路徑 p。那就是,每一個(gè)可行的耦合路徑的每個(gè)耦合的定義和 V 耦合對(duì)之間必須至少有一個(gè)測(cè)試用例執(zhí)行。因此,被認(rèn)為是唯一的類(lèi)重寫(xiě)的前提 和隨之而來(lái)的方法。這 是對(duì)于每一個(gè)類(lèi)通過(guò)確保至少有一個(gè)測(cè)試,可以為每個(gè)耦合序列來(lái)實(shí)現(xiàn)提供一個(gè)實(shí)例的上下文。這里,覆蓋面意味著每個(gè)偶聯(lián)序列被至少執(zhí)行一個(gè)測(cè)試用例??赡茉摲治龅男畔⒖梢员挥脕?lái)解決在軟件工程中的其他問(wèn)題。對(duì)于本研究中,數(shù)據(jù)有必要從流定義信息來(lái)調(diào)用站點(diǎn),從調(diào)用點(diǎn)的用途,從入口節(jié)點(diǎn)到用途,以及從定義到結(jié)束節(jié)點(diǎn)。 當(dāng)使用測(cè)試標(biāo)準(zhǔn),它假定在該耦合序列的方法之前,前提和后果的方法已被單獨(dú)測(cè)試。 6 3. 耦合條件 本文定義了四個(gè)面向?qū)ο蟮鸟?合原則進(jìn)行集成測(cè)試。 1 請(qǐng)注意,對(duì)于一個(gè)給定的耦合序列,即通過(guò)先行或隨之而來(lái)的節(jié)點(diǎn)上執(zhí)行一個(gè)調(diào)用的結(jié)果的方法取決于該序列的上下文變量綁定到該實(shí)例的類(lèi)型。這組變量被稱(chēng)為耦合集 Sj,k, Sj,k 和這組的每個(gè)成員都是一個(gè)耦合變量。然而, 5 它不是正被測(cè)試的類(lèi),而是利用了對(duì)象和相應(yīng)的方法的方法。此外,存在兩種方法調(diào)用是定義清晰的相對(duì)于該上下文變量和到由第一種方 法中定義和第二種使用的至少一個(gè)狀態(tài)變量之間的至少一條路徑。耦合序列代表在 M 的文本中的故障很可能伴隨 O發(fā)生。 耦合序列 雖然面向?qū)ο蟮脑O(shè)計(jì)和編程的激勵(lì)目標(biāo)之一是減少軟件組件之間的耦合量,新的語(yǔ)言功能也引入組件耦合的新途徑。耦合路徑集是一組可以出現(xiàn)在子路徑通過(guò)一個(gè)耦合的定義和使用之間的