亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        面向測試的構(gòu)件系統(tǒng)模型及測試用例生成方法

        2014-08-04 02:37:48曹真曹旻
        計算機工程與應(yīng)用 2014年22期
        關(guān)鍵詞:測試用例調(diào)用消息

        曹真,曹旻

        上海大學(xué)計算機工程與科學(xué)學(xué)院,上海 200072

        面向測試的構(gòu)件系統(tǒng)模型及測試用例生成方法

        曹真,曹旻

        上海大學(xué)計算機工程與科學(xué)學(xué)院,上海 200072

        1 引言

        隨著軟件系統(tǒng)規(guī)模的不斷增長,構(gòu)件系統(tǒng)的理論日益成熟,基于構(gòu)件的軟件開發(fā)逐漸成為軟件開發(fā)的重要方法,也成為解決軟件危機的重要途徑之一。在構(gòu)件技術(shù)中,構(gòu)件描述模型和構(gòu)件系統(tǒng)集成測試技術(shù)是保證基于構(gòu)件的軟件系統(tǒng)質(zhì)量的關(guān)鍵技術(shù)之一。構(gòu)件描述模型是對構(gòu)件功能、性質(zhì)的模型抽象,關(guān)于構(gòu)件描述的研究已經(jīng)有很多,但依然沒有統(tǒng)一的構(gòu)件描述模型標(biāo)準(zhǔn),而在已經(jīng)出現(xiàn)的構(gòu)件描述模型中,大多數(shù)模型更多關(guān)心的是構(gòu)件的使用信息,如:構(gòu)件版本、使用環(huán)境、接口信息等,很少包含有為構(gòu)件系統(tǒng)測試服務(wù)的相關(guān)描述,導(dǎo)致構(gòu)件系統(tǒng)開發(fā)完畢后在完成集成測試階段的功能測試和邊界測試等工作時,往往需要對系統(tǒng)逆向建立測試模型,再在測試模型的基礎(chǔ)上通過模型測試技術(shù)進(jìn)一步生成測試用例,導(dǎo)致了對構(gòu)件系統(tǒng)的多次建模,增加了軟件開發(fā)的成本。通常情況下,集成測試的功能測試和邊界測試的測試模型建立需要構(gòu)件間的交互信息作為基礎(chǔ),如果可以在構(gòu)件描述模型中就加入這些信息,在構(gòu)件系統(tǒng)搭建時對這些信息進(jìn)行完善,則在系統(tǒng)搭建完畢后就可自動產(chǎn)生相關(guān)測試模型,進(jìn)一步產(chǎn)生測試用例。省去了構(gòu)件系統(tǒng)搭建完成后為了測試再手工為系統(tǒng)建立測試模型這一步驟,極大程度地提高了構(gòu)件系統(tǒng)的開發(fā)效率,縮短了開發(fā)構(gòu)件系統(tǒng)軟件的周期。同時構(gòu)件描述模型中的交互信息,可以在構(gòu)建系統(tǒng)搭建過程中驗證構(gòu)件行為的正確性,進(jìn)一步保證軟件質(zhì)量。

        基于上述思想,本文提出一種改進(jìn)的構(gòu)件描述模型,稱為面向測試的構(gòu)件模型(Test-oriented Component System Model,TCSM)。與傳統(tǒng)模型不同,TCSM模型著重關(guān)心構(gòu)件的交互關(guān)系和行為約束等動態(tài)描述,這些動態(tài)描述為構(gòu)件系統(tǒng)集成測試提供了大量可用信息。在此模型的描述體系基礎(chǔ)上,提出一種在構(gòu)件系統(tǒng)搭建時把該描述模型轉(zhuǎn)換成測試模型的方法,該測試模型以UML協(xié)作圖模型為基礎(chǔ),在語義上進(jìn)行了一定拓展,實現(xiàn)了構(gòu)件系統(tǒng)從描述模型到測試模型的自動轉(zhuǎn)換。提出了一種自動生成測試用例的算法。實驗表明,所產(chǎn)生的測試用例符合系統(tǒng)的實際使用場景,可以較完整地覆蓋到構(gòu)件系統(tǒng)的各個使用路徑和交互行為。

        2 相關(guān)工作

        關(guān)于構(gòu)件描述模型,在學(xué)術(shù)界和產(chǎn)業(yè)界已經(jīng)有很多研究和發(fā)展,如早期提出的3C模型、REBOOT模型等。但3C、REBOOT等模型的抽象層次較高,是一種模板性質(zhì)的描述,在具體構(gòu)件使用時對構(gòu)件的描述就顯得不完備[1]。企業(yè)界和一些組織對構(gòu)件模型進(jìn)行了進(jìn)一步研究并提出了各自的描述方法。OMG組織提出了CORBA模型[2],Sun公司提出了基于java的構(gòu)件模型,即JAVABeans和EJB[3],Microsoft也有自己的COM模型[4]。上述模型較為清楚地描述了構(gòu)件的特性和功能,但對構(gòu)件系統(tǒng)的依賴關(guān)系、運行層次以及交互約束等動態(tài)描述尚有欠缺。為進(jìn)一步描述構(gòu)件的動態(tài)行為等信息,Wright、SOFA等構(gòu)件模型一定程度上提供了構(gòu)件行為層次上的描述,Wright運用CSP并對其進(jìn)行一定的擴充,來描述構(gòu)件接口的交互行為[5];SOFA使用了類正則(Regular-Like)表達(dá)式來描述構(gòu)件在各個端口上的行為[6];文獻(xiàn)[7]提出了一種描述構(gòu)件間依賴關(guān)系的模型。但這些動態(tài)描述方法并沒有專門從測試角度來考慮構(gòu)件模型中應(yīng)該包含的信息,也沒有具體提出一種直接產(chǎn)生測試用例的方法,所以面向測試的構(gòu)件描述模型需要進(jìn)一步的研究和完善。本文提出的構(gòu)件描述模型在包含構(gòu)件必要的基本信息的同時,在模型中添加了大量動態(tài)信息描述,以便于良好地記錄和體現(xiàn)構(gòu)件的動態(tài)性與交互性。同時以測試為驅(qū)動,進(jìn)一步考慮測試時所關(guān)心的信息要素和特點,優(yōu)化模型中的動態(tài)信息內(nèi)容,使其能直接為構(gòu)件系統(tǒng)測試所使用。

        在構(gòu)件系統(tǒng)的模型測試研究方面,文獻(xiàn)[8]提出了一種模型驅(qū)動的測試用例生成方法,并介紹了其基于JUnit的模型生成和模型測試框架,實現(xiàn)了從系統(tǒng)模型到測試模型的轉(zhuǎn)換,但該框架主要適用于單元測試,缺失對大型構(gòu)件系統(tǒng)集成測試的支持和優(yōu)化;文獻(xiàn)[9]中介紹了一種以面向?qū)ο蠹夹g(shù)為基礎(chǔ)的模型測試技術(shù),實現(xiàn)對系統(tǒng)中的類、接口、結(jié)構(gòu)的方法有針對性地測試,但沒有對方法和接口按照類型和關(guān)系進(jìn)一步劃分,并為其增加上下文關(guān)系對應(yīng)的語義描述,所以在具體應(yīng)用時,不能良好地測試大型系統(tǒng)中的邏輯和時序關(guān)系;文獻(xiàn)[10]提出了一種基于UML時序圖場景的模型測試方法,通過對系統(tǒng)UML模型的形式化解析,將UML模型轉(zhuǎn)換為FSM模型,再通過FSM進(jìn)一步產(chǎn)生測試用例,但UML模型本身的建立需要人工參與,而通過FSM模型產(chǎn)生測試用例的方法在復(fù)雜構(gòu)件系統(tǒng)上應(yīng)用時,容易產(chǎn)生狀態(tài)爆炸問題。本文使用了一種基于UML協(xié)作圖的測試模型,并在語義上對其進(jìn)行了拓展。UML協(xié)作圖強調(diào)的是調(diào)用和被調(diào)用的對象之間的組織結(jié)構(gòu)、消息傳輸和上下文關(guān)系,這與基于構(gòu)件的軟件系統(tǒng)內(nèi)部組成和工作原理極為相似。同時UML具有豐富的語義,并且支持形式化描述,這都有利于對構(gòu)件系統(tǒng)的行為和邏輯進(jìn)行進(jìn)一步描述和驗證。

        3 面向測試的構(gòu)件系統(tǒng)模型

        本文提出的TCSM主要是用來描述構(gòu)件提供的接口功能以及接口交互時的依賴與約束,而這些動態(tài)特性往往正是測試過程所關(guān)心的。Wu[11]和Mariani[12]對構(gòu)件系統(tǒng)出現(xiàn)的錯誤進(jìn)行了系統(tǒng)的分析和分類,認(rèn)為這些錯誤的產(chǎn)生大多數(shù)來自于構(gòu)件交互。Wu認(rèn)為構(gòu)件測試過程應(yīng)該考慮以下幾個內(nèi)容:接口,消息,上下文關(guān)系,內(nèi)容依賴關(guān)系。但其描述有大量的重復(fù)和冗余信息,也沒有提出一套從描述產(chǎn)生測試用例的具體方案。

        3.1 TCSM體系的定義

        TCSM從測試角度出發(fā),除了包含有構(gòu)件的基本信息以外,還包含了構(gòu)件的動態(tài)信息描述,并將構(gòu)件動態(tài)描述內(nèi)容分為以下幾個方面:構(gòu)件屬性與接口、調(diào)用順序、上下文依賴、輸入返回。

        構(gòu)件屬性與接口:構(gòu)件本身具有屬性;接口即為構(gòu)件對外提供的接口函數(shù)。

        調(diào)用類型:構(gòu)件間相互調(diào)用的邏輯順序類型,包括直接調(diào)用,嵌套調(diào)用,并行調(diào)用,異步調(diào)用。

        上下文依賴:構(gòu)件在被調(diào)用時受到的上下文關(guān)系約束,稱為前置條件(執(zhí)行調(diào)用操作前必須滿足的約束條件),前置條件包含狀態(tài)約束和值約束兩類約束條件。

        輸入返回:構(gòu)件間相互操作時的輸入值和返回值。

        定義1(TCSM)面向測試的構(gòu)件系統(tǒng)模型可以表示為一個兩元組,TCSM=(SD,DD),其中SD表示模型中的靜態(tài)描述內(nèi)容,DD表示模型中的動態(tài)描述內(nèi)容。

        定義2(SD)TCSM中的靜態(tài)描述SD為一個四元組,SD=(BI,CE,AF,OP)。其中BI為構(gòu)件基本信息,CE為構(gòu)件使用環(huán)境,AF為構(gòu)件應(yīng)用領(lǐng)域,OP為構(gòu)件運行性能。以上每一項也都由一個n元組構(gòu)成,BI=(BI_name,BI_author,BI_time,BI_version),分別表示構(gòu)件名稱、構(gòu)件作者、更新時間、版本號等信息,CE=(CE_config,CE_system,CE_platform),分別描述構(gòu)件使用時的系統(tǒng)配置、操作系統(tǒng)、開發(fā)平臺,AF=(AF_domain,AF_range,AF_type),代表構(gòu)件的使用領(lǐng)域、應(yīng)用范圍、功能類型,OP=(OP_Frequency,OP_security,OP_stability,OP_duration},以上集合構(gòu)成了TCSM的靜態(tài)描述內(nèi)容。

        該靜態(tài)描述體系較全面地描述了TCSM中構(gòu)件的基本信息,與現(xiàn)有模型相比提供了更多的構(gòu)件基本信息,也為構(gòu)件系統(tǒng)的自動化測試提供了靜態(tài)信息來源。

        定義3(DD)TCSM的動態(tài)描述部分DD由一個四元組組成,DD=(CS,IS,CD,IR),分別代表構(gòu)件接口信息、調(diào)用類型、上下文依賴、輸入返回。其中CS為一個二元組,CS=(CS_name,CS_invokeName),CS_name表示構(gòu)件方法名稱,CS_invokeName表示該方法所調(diào)用的構(gòu)件名稱;IS的值集合為IS={IS_direct,IS_nest,IS_paiallel,IS_async},IS_direct代表直接調(diào)用,IS_nest代表嵌套調(diào)用,IS_paiallel代表并行調(diào)用,IS_async代表異步調(diào)用;CD為一個二元組,CD=(CD_state,CD_value),分別表示前置條件狀態(tài)約束、前置條件值約束;IR=(IR_input,IR_return)也是一個二元組,其中IR_input表示輸入,IR_input取值集合為{input0,input1,…,inputn},其中inputn為IR_input中所含參數(shù),IR_input可以包含0個至n個參數(shù),IR_return表示輸出,IR_return可以為某個唯一值或者為空,表示包含1個或者0個返回參數(shù)。TCSM的DD結(jié)構(gòu)樹如圖1所示。

        圖1 TCSM結(jié)構(gòu)樹

        TCSM的動態(tài)描述與部分已有模型中的動態(tài)描述相比,著重關(guān)心構(gòu)件間的交互方式和順序信息,還增加了相關(guān)約束信息。而這些信息在搭建構(gòu)件系統(tǒng)時也需要描述清楚,將其以構(gòu)件描述的方式保存在TCSM中,既利于組合構(gòu)件系統(tǒng),又可用來生成測試場景,進(jìn)一步生成測試路徑。接下來進(jìn)一步討論其具體的實現(xiàn)方法。

        3.2 TCSM的建立

        本文以一個簡單的基于構(gòu)件的Web應(yīng)用程序:學(xué)生選課系統(tǒng)(Student Course Selection System,SCSS)來說明如何建立TCSM描述系統(tǒng),以及自動生成系統(tǒng)的測試用例。SCSS主要實現(xiàn)了學(xué)生網(wǎng)上在線選課的功能,學(xué)生在使用SCSS選課前需要先登錄系統(tǒng),登錄成功后在選課過程中可以查詢相關(guān)課程情況,完成選課后系統(tǒng)會發(fā)送郵件通知學(xué)生選課成功和課程信息。

        SCSS包含的主要構(gòu)件有:學(xué)生身份驗證構(gòu)件(Student Authentication)、課程信息查詢構(gòu)件(Course Information Search)和選課系統(tǒng)構(gòu)件(Course Selection)。Student Authentication構(gòu)件中包含有redirectToSelectionSys()接口,該接口功能為登錄信息驗證成功后自動進(jìn)入選課系統(tǒng);revalidate()接口,該接口功能為登錄信息驗證失敗后返回登錄界面要求用戶重新輸入登錄信息。Course Information Search構(gòu)件中包含有enterSelectionSys()接口,實現(xiàn)從課程查詢頁面進(jìn)入選課系統(tǒng)。Course Selection構(gòu)件中包含enterSearchSys()接口,實現(xiàn)從選課系統(tǒng)進(jìn)入課程查詢頁面;updateDataBase()接口,實現(xiàn)將選課結(jié)果更新至數(shù)據(jù)庫;sendMail()接口,將選課成功信息和課程基本信息發(fā)送至學(xué)生郵箱;redirectToLoginSys()接口,通過該接口可以退出登錄并重新返回登錄界面。SCSS構(gòu)件系統(tǒng)構(gòu)件間的關(guān)系模型如圖2所示。

        圖2 SCSS構(gòu)件間的關(guān)系模型

        以SCSS中Course Selection構(gòu)件的enterSearchSys和updateDataBase接口為例,分別為其建立TCSM。學(xué)生可以多次從選課系統(tǒng)進(jìn)入課程信息查詢系統(tǒng)然后再返回,所以認(rèn)為enterSearchSys調(diào)用類型為嵌套,調(diào)用前的守衛(wèi)信息為學(xué)生登錄成功。學(xué)生在選課成功后,系統(tǒng)會同時更新數(shù)據(jù)庫信息并給學(xué)生發(fā)送通知郵件,所以認(rèn)為updateDataBase的調(diào)用類型為并行,守衛(wèi)條件是選課成功。具體的XML描述如下:

        依次為其他構(gòu)件建立TCSM,受篇幅所限,SCSS的其他XML描述不再羅列,按照上述方法,完成對SCSS的TCSM建模??梢姶罱ê玫腡CSM模型中完整地保留了構(gòu)件間的交互與層次信息,以及相關(guān)約束和輸入輸出信息,為構(gòu)件系統(tǒng)的集成測試和接下來進(jìn)一步實現(xiàn)測試模型的自動生產(chǎn)提供了必要信息和基礎(chǔ)。

        4 測試模型的自動生成

        本節(jié)討論從TCSM自動產(chǎn)生測試模型的方法。

        定義4(CM)TCSM生成的測試模型CM是一個三元組,CM=(CP,MSG,MV),CP表示模型中所包含的所有構(gòu)件的集合。MSG是構(gòu)件間的消息集合MSG= {msgi|MSG},其中每個msgi∈MSG都是一個五元組,msg=(msg_name,msg_sequence,msg_guard,msg_input,msg_return),分別表示消息名稱、消息序號、守衛(wèi)條件、輸入、輸出。MV:CP×MSG→CP是遷移關(guān)系。

        4.1 從TCSM自動生成測試模型

        從TCSM到測試模型CM的具體轉(zhuǎn)換算法如下:

        (1)將TCSM中涉及到的所有構(gòu)件加入測試模型的構(gòu)件集合CP。

        (2)將TCSM描述中的構(gòu)件接口名轉(zhuǎn)換為測試模型的消息名稱,CS_name→msg_name。

        (3)根據(jù)TCSM描述中的消息類型IS,以及所調(diào)用的目標(biāo)構(gòu)件名稱CS_invokeName,生成測試模型中的消息序號msg_sequence。最高層次的信息直接用數(shù)字表示。如果消息類型為直接調(diào)用IS=IS_direct,則在前一消息的序號基礎(chǔ)上加1,如前一消息的序號為1.1,則本次調(diào)用消息序號為1.2;如果消息類型為嵌套IS= IS_nest,則消息的層次降低,消息的序號層次加1,如上層的消息為1.1,發(fā)生嵌套調(diào)用后消息的序號變?yōu)?.1.1;如果發(fā)生并行調(diào)用IS=IS_paiallel,則在并行消息的序號上加小寫字母,如消息1.1的兩條并行消息為1.1a,1.1b;如果消息類型為異步調(diào)用IS=IS_async,則增加消息嵌套層次,與嵌套調(diào)用類似,同時消息調(diào)用的實線變?yōu)樘摼€。

        (4)TCSM中的前置條件狀態(tài)約束CD_state轉(zhuǎn)換為測試模型調(diào)用消息的守衛(wèi)條件msg_guard,在守衛(wèi)條件滿足時發(fā)生調(diào)用動作;前置條件值約束CD_value轉(zhuǎn)換為測試模型中的分支條件,根據(jù)前置條件值的數(shù)量,決定測試模型中的分支路徑數(shù)。如消息的前置條件值分為真和假兩種取值,則代表產(chǎn)生兩條分支路徑,分支以大寫字母區(qū)分,如兩條選擇路徑可分別表示為1.1A和1.1B。

        (5)TCSM中的輸入輸出,轉(zhuǎn)換為協(xié)作圖中的消息的輸入輸出,將IR_input所包含的輸入?yún)?shù)轉(zhuǎn)換至msg_input的參數(shù)中,將IR_return的返回值轉(zhuǎn)換成msg_return的返回值。

        根據(jù)以上準(zhǔn)則,可把通過TCSM描述的構(gòu)件系統(tǒng)自動轉(zhuǎn)換為測試模型,之前學(xué)生選課系統(tǒng)(SCSS)根據(jù)該算法產(chǎn)生的測試模型圖如圖3所示。

        生成的該測試模型完整地保留了構(gòu)件系統(tǒng)的關(guān)鍵交互信息,利用這些信息可以準(zhǔn)確地反應(yīng)該構(gòu)件系統(tǒng)的行為和約束。同時體現(xiàn)了構(gòu)件間的時序關(guān)系,隱含了構(gòu)件系統(tǒng)的使用場景,根據(jù)一定的路徑覆蓋準(zhǔn)則,則可以進(jìn)一步產(chǎn)生測試用例。

        圖3 TCSM自動產(chǎn)生的測試模式圖

        4.2 測試用例的自動生成

        根據(jù)TCSM自動產(chǎn)生的測試模型,可以進(jìn)一步自動生成測試用例。

        4.2.1 測試覆蓋準(zhǔn)則

        文獻(xiàn)[13]提出了一種測試準(zhǔn)則,但基于構(gòu)件系統(tǒng)的自身特點,傳統(tǒng)的測試覆蓋準(zhǔn)則不太適用于構(gòu)件系統(tǒng)軟件測試。文獻(xiàn)[14]提出了一種適用于構(gòu)件系統(tǒng)的模型測試覆蓋準(zhǔn)則,但對構(gòu)件系統(tǒng)中并行關(guān)系和守衛(wèi)條件沒有提出具體的處理方法。文獻(xiàn)[15]提出了一種產(chǎn)生約簡測試集的方法,本文通過守衛(wèi)條件對產(chǎn)生的測試用例進(jìn)行了進(jìn)一步優(yōu)化和約簡。

        基于構(gòu)件系統(tǒng)和TCSM的特點,提出下述測試覆蓋準(zhǔn)則:(1)每個組件之間的每條交互消息至少被覆蓋一次;(2)每個有效場景的所有路徑必須覆蓋一次;(3)測試模型中的并行消息如果其中一條被覆蓋,另外一條也必須被覆蓋;(4)測試模型中的每條嵌套消息產(chǎn)生的循環(huán)路徑必須分別被測試0次、1次、2次。

        4.2.2 測試用例生成算法

        在已經(jīng)建立測試模型的前提下,測試用例生成的思路是,使用深度優(yōu)先算法根據(jù)消息偏序關(guān)系以及消息類型遍歷測試模型圖,直到到達(dá)無后繼的消息,從而生成一條測試路徑,以此類推,生成所有測試場景。

        具體方法如下:(1)將每條消息按照偏序關(guān)系以及消息類型找到它的直接后繼,建立一張有向圖;(2)找到有向圖中的環(huán),將環(huán)處理成一個節(jié)點;(3)按照測試準(zhǔn)則用深度優(yōu)先算法遍歷圖,產(chǎn)生測試路徑;(4)檢查路徑中不符合消息前置、后置條件約束的路徑,標(biāo)注這些路徑以與其他正常測試路徑區(qū)分。同時根據(jù)消息類型檢查無效測試路徑(如并行消息包含不完整的路徑,理論上是系統(tǒng)無法達(dá)到的),并去除這些路徑;(5)將所有路徑組合產(chǎn)生測試場景。測試用例生成算法的偽代碼如下:

        文獻(xiàn)[16]提出了一種較為有代表性的從UML協(xié)作圖生成測試用例的方法,其首先對系統(tǒng)進(jìn)行UML人工建模,然后依據(jù)對模型的形式化定義和一定的覆蓋準(zhǔn)則生成測試用例。為了對比通過本文模型轉(zhuǎn)換算法自動生成的測試用例的覆蓋度和正確性,用文獻(xiàn)[16]中的方法生成本文SCSS中系統(tǒng)的測試用例,作為預(yù)期輸出。按照消息類型對比二者生成的測試用例,結(jié)果如圖4所示。

        圖4 文獻(xiàn)[16]與本文測試用例生成結(jié)果對比

        可見本文自動生成的測驗用例覆蓋了大部分的預(yù)期測試用例輸出結(jié)果。通過進(jìn)一步分析和對比,本文提出方法所產(chǎn)生的測試用例符合系統(tǒng)的實際使用場景,可以較完整地覆蓋到構(gòu)件系統(tǒng)的各個使用行為和消息路徑,守衛(wèi)條件的增加也有效地避免了測試用例產(chǎn)生時的路徑爆炸問題,提高了所產(chǎn)生的測試用例質(zhì)量。

        5 結(jié)束語

        本文提出一種新的面向測試的構(gòu)件系統(tǒng)描述模型TCSM,較完整地描述了構(gòu)件系統(tǒng)中構(gòu)件間的交互類型、約束條件、輸入輸出等消息,有效地包含了構(gòu)件系統(tǒng)集成中功能測試、邊界測試等階段所需要的關(guān)鍵信息。通過本文提出的模型轉(zhuǎn)換算法自動產(chǎn)生測試模型,減少了通常構(gòu)件系統(tǒng)在開發(fā)完成后為了測試需要逆向人工參與搭建測試模型的步驟,最后根據(jù)測試模型自動產(chǎn)生測試用例。該方法從構(gòu)件行為描述入手,所描述的構(gòu)件信息緊密結(jié)合構(gòu)件系統(tǒng)的測試需求,進(jìn)一步實現(xiàn)了構(gòu)件系統(tǒng)的自動化建模和測試,提高構(gòu)件系統(tǒng)開發(fā)的效率和質(zhì)量。

        未來的工作方向主要為,根據(jù)構(gòu)件間的動態(tài)描述信息,預(yù)計可以在構(gòu)件組裝時檢測到構(gòu)件系統(tǒng)的邏輯錯誤和驗證系統(tǒng)的安全性,具體的方法和可行性需要進(jìn)一步研究和測試。

        [1]Latour L,Wheeler T,F(xiàn)rakes B.Descriptive and predictive aspects of the 3Cs model:SETA1 working group summary[J].ACM SIGAda Ada Letters,1991,11(3):9-17.

        [2]張國明.基于E JB和CORBA的分布式異構(gòu)系統(tǒng)的集成[D].中國優(yōu)秀碩士學(xué)位論文全文數(shù)據(jù)庫,2009(9).

        [3]Monica Pawlan.The J2EE Tutorial[M].[S.l.]:Sun Microsystem Corporation,2000.

        [4]Rogesmo D.COM技術(shù)內(nèi)幕[M].北京:清華大學(xué)出版社,1993.

        [5]Allen R.A formal approach to software architecture[D]. School of Computer Science,Carnegie Mellon University,1997.

        [6]Plasil F,Visnavsky S.Behavior protocols for software components[J].IEEE Trans on Software Engineering,2002,28(11):1056-1076.

        [7]羅舒,邢天揚,曹旻.Web應(yīng)用開發(fā)中構(gòu)件描述的研究與應(yīng)用[J].計算機工程與設(shè)計,2010,31(18):3989-3992.

        [8]劉揚,李亞芬,王普.模型驅(qū)動的測試用例自動生成框架[J].計算機工程,2011,37(1):39-44.

        [9]謝冰,張晨東.一種基于面向?qū)ο鬁y試模型的測試代碼生成方法與工具[J].計算機研究與發(fā)展,2008,45(Sl):336-340.

        [10]黃龍,繆淮扣,王皙,等.基于場景的形式化測試模型生成方法[J].上海大學(xué)學(xué)報,2011,17(5):595-599.

        [11]Wu Y,Pan Dai,Chen Mei Hwa.Techniques for testing component-based software[C]//Proceedings of the Seventh InternationalConferenceonEngineeringofComplex Computer Systems,2001.

        [12]Mariani L.A fault taxonomy for component-based software[J].Electr Notes Theor Comput Sci,2003,82(6).

        [13]劉攀,繆淮扣,曾紅衛(wèi),等.確定性有限狀態(tài)機的最小測試成本遷移覆蓋準(zhǔn)則[J].軟件學(xué)報,2011,22(7).

        [14]曾紅衛(wèi),繆淮扣.用模型檢驗產(chǎn)生安全性質(zhì)的測試[J].應(yīng)用科學(xué)學(xué)報,2011(29):529-536.

        [15]田野,曾紅衛(wèi).用模型檢驗產(chǎn)生約簡測試集[J].計算機工程與應(yīng)用,2012,48(17):93-98.

        [16]曾紅衛(wèi),周建云.基于UML協(xié)作圖的測試用例生成方法與實現(xiàn)[J].計算機工程與設(shè)計,2007,28(16):3805-3811.

        CAO Zhen,CAO Min

        College of Computer Engineering and Science,Shanghai University,Shanghai 200072,China

        With the extensive application of the component-oriented software development methods,the description and test of the component systems is becoming the key of software quality assurance.For the particularity of the component system complexity and development methods,component systems’integration test using traditional methods often face with many difficulties.This paper presents an improved test-oriented component describe model called TCSM.It focuses on the interactions and behavioral constraints between components in the component systems and provides a wealth of information for the phase of functional test and boundary test in system integration test.An approach to transfer the TCSM to test model,which based on UML collaboration diagram and supports the conversion of one component system from its description model to test model automatically,is also proposed in the paper.Furthermore,an algorithm for generating test cases automatically is realized.TCSM can better describe the interactive behaviors and realize the automatic test of component-based systems.The proposed model can not only reduce plenty of time in the process of system modeling and test, but also improve the efficiency and reliability of the component-based systems.

        component system integration testing;component system test model;model conversion;test case generation

        隨著面向構(gòu)件的軟件開發(fā)方法的廣泛應(yīng)用,構(gòu)件系統(tǒng)的描述和測試成為保證軟件質(zhì)量的關(guān)鍵所在。由于構(gòu)件系統(tǒng)的復(fù)雜性和開發(fā)方法的特殊性,用傳統(tǒng)方法對構(gòu)件系統(tǒng)進(jìn)行集成測試往往面對很多困難。提出了一種改進(jìn)的面向測試的構(gòu)件描述模型,稱為TCSM,它著重對構(gòu)件系統(tǒng)中的構(gòu)件間的交互和約束進(jìn)行了動態(tài)描述,為構(gòu)件系統(tǒng)集成測試階段的功能測試和邊界測試等提供了大量可用信息。在此基礎(chǔ)上,進(jìn)一步提出一種把TCSM轉(zhuǎn)換成測試模型的方法,以UML協(xié)作圖模型為原型,實現(xiàn)了構(gòu)件系統(tǒng)從描述模型到測試模型的自動轉(zhuǎn)換。最后,實現(xiàn)了一種在所產(chǎn)生的測試模型上自動生成測試用例的算法。TCSM更好地描述了構(gòu)件的交互行為信息,進(jìn)一步實現(xiàn)了系統(tǒng)的自動化測試,減少了通常需要在構(gòu)件系統(tǒng)搭建完成后,針對測試對系統(tǒng)手工建立測試模型的工作,提高了構(gòu)件系統(tǒng)開發(fā)的效率和可靠性。

        構(gòu)件系統(tǒng)集成測試;構(gòu)件系統(tǒng)測試模型;模型轉(zhuǎn)換;測試用例生成

        A

        TP31

        10.3778/j.issn.1002-8331.1212-0362

        CAO Zhen,CAO Min.Test-oriented component model and test case generation method.Computer Engineering and Applications,2014,50(22):59-64.

        上海市教委創(chuàng)新項目資助(No.12ZZ094)。

        曹真(1987—),男,碩士研究生,主要研究領(lǐng)域為軟件測試、軟件架構(gòu);曹旻(1966—),女,博士,副教授,主要研究領(lǐng)域為軟件工程、Web應(yīng)用。E-mail:cz00000@126.com

        2012-12-30

        2013-04-27

        1002-8331(2014)22-0059-06

        CNKI網(wǎng)絡(luò)優(yōu)先出版:2013-05-24,http://www.cnki.net/kcms/detail/11.2127.TP.20130524.1509.008.html

        猜你喜歡
        測試用例調(diào)用消息
        基于SmartUnit的安全通信系統(tǒng)單元測試用例自動生成
        一張圖看5G消息
        核電項目物項調(diào)用管理的應(yīng)用研究
        LabWindows/CVI下基于ActiveX技術(shù)的Excel調(diào)用
        基于混合遺傳算法的回歸測試用例集最小化研究
        基于系統(tǒng)調(diào)用的惡意軟件檢測技術(shù)研究
        基于依賴結(jié)構(gòu)的測試用例優(yōu)先級技術(shù)
        消息
        消息
        消息
        成人片黄网站色大片免费观看app| 男女av免费视频网站| 国产精品一区二区久久国产| 日韩人妻无码一区二区三区久久| 国产真实伦在线观看| 久久综合亚洲色社区| 五月婷婷激情六月开心| 国产一区二区在线免费视频观看 | 女色av少妇一区二区三区| 乱中年女人伦av三区| 无码人妻丰满熟妇区五十路百度| 无码一区久久久久久久绯色AV| 蜜桃视频在线免费观看完整版| 激情五月开心五月啪啪| а天堂中文在线官网在线| 97久久精品无码一区二区天美| 2022Av天堂在线无码| 久久久婷婷综合亚洲av| 中文字幕在线乱码亚洲| 亚洲女人毛茸茸的视频| 娇小女人被黑人插免费视频| 久久久久国产综合av天堂| 精品无码专区久久久水蜜桃| www久久久888| 日产国产亚洲精品系列| 丰满少妇被啪啪到高潮迷轩| 精品人妻av区乱码| 无码国产色欲xxxxx视频| 亚洲欧洲综合有码无码| 久久99国产精品久久99密桃| 日本道免费一区二区三区日韩精品| 国产成人精品午夜二三区波多野| 亚洲欧美精品伊人久久| 日本一区二区在线资源| 三级日本理论在线观看| 国产特黄级aaaaa片免| 大伊香蕉在线精品视频75| 中国精品久久久久国产| 精品亚洲av乱码一区二区三区| 无码人妻一区二区三区在线 | 国产精品一区二区AV不卡|