(1.華東理工大學(xué) 計算機科學(xué)與工程系, 上海 200237; 2.上海市計算機軟件評測重點實驗室, 上海 201112)
摘 要:
研究了自動化測試腳本及基于構(gòu)件的軟件復(fù)用技術(shù),提出一個測試腳本構(gòu)件模型TSCM。該模型結(jié)合測試腳本特性,在借鑒現(xiàn)行軟件構(gòu)件模型基礎(chǔ)上加入構(gòu)件連接子增強測試腳本構(gòu)件的獨立性和可復(fù)用性。設(shè)計了TSCM模型的XML框架,實現(xiàn)了測試腳本構(gòu)件自動生成、驗證及不同測試語言之間的自動轉(zhuǎn)換。
關(guān)鍵詞:測試腳本; 構(gòu)件; 復(fù)用模型; 構(gòu)件連接子; 可擴展標(biāo)記語言
中圖分類號:TP311.56文獻標(biāo)志碼:A
文章編號:1001-3695(2009)04-1323-04
Investigation on reusable technology of test script based on component
WU Li-song1, YANG Gen-xing1,2, CAI Li-zhi2
(1.Dept. of Computer Science Engineering, East China University of Science Technology, Shanghai 200237, China; 2.Shanghai Key Laboratory of Computer Software Evaluating Testing, Shanghai 201112, China)
Abstract:
This paper presented a test script component model (TSCM) which was based on analyzing the speciality of software component and using the advanced technology of software component for reference. TSCM used component-connector to enhance the test script component to be more independent and reusable. The paper also designed an XML framework for TSCM and implemented a tool to develop test scripts automated based on TSCM including producing and validating XML source code and translating it to different testing languages.
Key words:test scripts; component; reusable model; component connector; XML
自動化軟件測試技術(shù)應(yīng)用日益廣泛,測試腳本作為自動化測試中最重要的知識資產(chǎn)之一,其復(fù)用技術(shù)具有很高的理論研究價值和廣闊的應(yīng)用前景。本文將軟件構(gòu)件技術(shù)應(yīng)用到軟件測試領(lǐng)域,提出一個測試腳本構(gòu)件模型(test scripts component model,TSCM),利用構(gòu)件的可復(fù)用特性達到測試腳本復(fù)用的目的。在設(shè)計TSCM模型XML框架的基礎(chǔ)上,開發(fā)輔助工具實現(xiàn)腳本構(gòu)件的自動生成和轉(zhuǎn)換。TSCM具有以下特點:
a)引入構(gòu)件連接子部件增強其獨立性和可復(fù)用性;
b)輔助工具支持,可實現(xiàn)腳本構(gòu)件開發(fā)自動化;
c)更換相應(yīng)的XSL模板便可實現(xiàn)將XML腳本構(gòu)件自動轉(zhuǎn)換成基于任何特定語言的腳本構(gòu)件。
1 測試腳本技術(shù)的研究現(xiàn)狀
目前對自動化測試腳本技術(shù)的研究主要從腳本的自動生成、腳本語言、層次結(jié)構(gòu)這幾個方面展開。
測試腳本自動生成方面研究最深入的是基于分層測試?yán)砟睿梅謱訙y試框架自動生成腳本的技術(shù)。分層測試框架一般分為三層,即測試對象層、測試用例層以及位于對象層與用例層之間的測試管理層。文獻[1]基于這種理念實現(xiàn)了測試腳本的自動生成,在一定程度上降低了編寫測試腳本的開銷,但是沒有對測試腳本復(fù)用進行研究和闡述。
對于腳本語言研究比較深入的是對腳本語言之間轉(zhuǎn)換的研究,實現(xiàn)測試腳本與測試工具的低耦合。文獻[2]根據(jù)程序代碼自動生成基于一定schema的XML格式的測試框架,然后根據(jù)schema方便地開發(fā)出各種轉(zhuǎn)換程序,生成測試驅(qū)動、測試用例等測試所需的各種文檔。但它們只是對腳本之間如何利用XML技術(shù)進行生成轉(zhuǎn)換,沒有對腳本本身的結(jié)構(gòu)和模型以及腳本本身的可復(fù)用性進行闡述。
關(guān)于腳本層次結(jié)構(gòu)方面的研究主要是基于數(shù)據(jù)驅(qū)動和關(guān)鍵字驅(qū)動腳本技術(shù)的研究。測試腳本主要分為線性腳本、共享腳本、數(shù)據(jù)驅(qū)動腳本和關(guān)鍵字驅(qū)動腳本四種。線性腳本是指錄制手工執(zhí)行測試流程得到的腳本,包含一個測試流程所有的執(zhí)行指令和測試數(shù)據(jù),基本不能復(fù)用;共享腳本是指按單個測試任務(wù)錄制的腳本,對某些需要重復(fù)執(zhí)行測試的任務(wù)可以簡單復(fù)用;數(shù)據(jù)驅(qū)動腳本是指將控制指令和測試數(shù)據(jù)進行分離的腳本,該類型腳本將控制指令獨立為一個控制腳本,將測試數(shù)據(jù)獨立保存在測試數(shù)據(jù)文件中,實現(xiàn)一個控制腳本對多個測試用例的執(zhí)行;關(guān)鍵字驅(qū)動腳本將數(shù)據(jù)驅(qū)動腳本中的數(shù)據(jù)文件分為兩部分:數(shù)據(jù)文件本身只對測試用例進行關(guān)鍵字描述以及支持腳本來解釋數(shù)據(jù)文件中的關(guān)鍵字。因此,測試邏輯、測試信息、測試實現(xiàn)是分離的,一定程度上實現(xiàn)了測試腳本的可復(fù)用性。但是,它們?nèi)鄙贅?gòu)件化的思想來組織管理腳本,其復(fù)用度相對較低。
2 測試腳本構(gòu)件模型
2.1 構(gòu)件技術(shù)及其可復(fù)用性
軟件構(gòu)件被定義為能夠提供獨立服務(wù)的計算單元,具有規(guī)范的接口和顯式的環(huán)境依賴,能夠被第三方組合[3]。典型的構(gòu)件模型主要包括接口和實體兩部分。其中接口是構(gòu)件與外界的交互點,也是構(gòu)件進行復(fù)用時的組合點。現(xiàn)行最具代表性的構(gòu)件主要有CORBA、EJB和COM/COM+。圖1描述了無狀態(tài)會話EJB構(gòu)件模型,其主要由四個接口(遠程EJB接口、遠程home接口、本地EJB接口、本地home接口)和一個類(業(yè)務(wù)實現(xiàn)EJB類)組成。
基于可復(fù)用構(gòu)件的軟件產(chǎn)品開發(fā)就是軟件構(gòu)件的組合過程。軟件構(gòu)件的可復(fù)用性最終體現(xiàn)為構(gòu)件之間的組合,可以利用無狀態(tài)會話EJB構(gòu)件模型示意圖進行說明。EJB接口在型構(gòu)層次上定義了EJB構(gòu)件所提供的業(yè)務(wù)服務(wù),所謂型構(gòu)層次是指該接口僅對業(yè)務(wù)邏輯方法的方法名、參數(shù)類型和返回結(jié)果類型進行描述,而沒有說明方法之間的依賴關(guān)系和順序關(guān)系;業(yè)務(wù)實現(xiàn)EJB類對具體服務(wù)的實現(xiàn)細節(jié)進行隱藏。Home接口在型構(gòu)層次上定義了生成EJB接口的服務(wù),實現(xiàn)細節(jié)隱藏于EJB容器中。EJB構(gòu)件利用接口進行相互之間的消息傳遞(方法調(diào)用)實現(xiàn)構(gòu)件組合或直接被客戶端調(diào)用,而無須關(guān)心服務(wù)實現(xiàn)細節(jié)。
基于構(gòu)件的復(fù)用技術(shù)已在軟件開發(fā)中得到了有效應(yīng)用,但目前還缺乏對基于構(gòu)件的測試腳本復(fù)用技術(shù)的研究和應(yīng)用。
2.2 測試腳本構(gòu)件化
正如上文所述,EJB構(gòu)件組合可以構(gòu)建整個應(yīng)用系統(tǒng),這使得開發(fā)軟件產(chǎn)品就像制造工業(yè)產(chǎn)品一樣,首先通過專業(yè)分工生產(chǎn)出不同的“零部件”,然后合理地組裝這些“零部件”形成所需的產(chǎn)品。
這種基于構(gòu)件的軟件開發(fā)理念也同樣適用于自動化測試腳本的開發(fā),因為測試腳本開發(fā)和軟件開發(fā)本質(zhì)上都是編寫程序?qū)崿F(xiàn)應(yīng)用,其過程沒有本質(zhì)區(qū)別。因此,測試腳本應(yīng)該并且可以構(gòu)件化。圖2是基于構(gòu)件的測試腳本組織示意圖,它描述了基于構(gòu)件的測試腳本結(jié)構(gòu)是以腳本構(gòu)件為最小單位組織的。
在基于這種模式的自動化測試開發(fā)中,不是一有需求就急于腳本開發(fā),而是先查找合適的腳本構(gòu)件,然后將構(gòu)件組裝成腳本文件,再將腳本文件組合成符合一定測試流程的腳本文件組來執(zhí)行測試。圖3描述了基于構(gòu)件的測試腳本文件的組織流程。
當(dāng)然,要實現(xiàn)相互之間的組合復(fù)用,腳本構(gòu)件需要滿足三個條件,即良好的構(gòu)件描述、相對獨立的結(jié)構(gòu)和功能以及具備構(gòu)件組合點。
2.3 測試腳本構(gòu)件模型(TSCM)
借鑒目前各種軟件構(gòu)件模型技術(shù)的基礎(chǔ)上,本文提出測試腳本構(gòu)件模型(TSCM)如圖4所示。
從圖4描述可知,TSCM主要由接口集、實現(xiàn)體和連接子三部分組成,構(gòu)件之間通過構(gòu)件連接子這個部件實現(xiàn)組合。以下八個定義是對TSCM組成部分、各部分的細節(jié)及功能的詳細描述。
定義1 首先定義三個集合,即CSS、SDS和SBS。其中:a)CSS(component service set)是所有構(gòu)件提供的一個服務(wù)集合,表示為{CS1,CS2,…},CSi∈CSS::=〈SD,SB〉。SD(service description)是對單個服務(wù)的描述,SB(service body)是服務(wù)主體。b)SDS是SD的集合,表示為{SD1,SD2,…}。c)SBS是SB的結(jié)合,表示為{SB1,SB2,…}。
定義2 測試腳本構(gòu)件TSC(test script component)可以抽象地表示成一個三元組TSC::=〈IS,IB,CC〉,即TSC::= IS×IB×CC。其中:IS(interface set)SDS,是構(gòu)件服務(wù)描述集的子集;IB(implement body)SBS,是構(gòu)件服務(wù)主體集合的子集;CC(component connector)是腳本構(gòu)件之間組合的連接子。
定義3 接口集IS是對構(gòu)件服務(wù)的描述,包括請求服務(wù)、提供服務(wù)、服務(wù)調(diào)用關(guān)系。可用三元組表示為IS::=〈RIS,SIS,CRS〉。其中:RIS(request interface set)描述構(gòu)件請求調(diào)用其他構(gòu)件的服務(wù);SIS(service interface set)描述構(gòu)件所提供的服務(wù);CRS(call relation set)描述服務(wù)調(diào)用關(guān)系。
定義4 請求接口集RIS用來描述構(gòu)件請求調(diào)用的服務(wù),即描述其他構(gòu)件對本構(gòu)件提供的服務(wù)。RIS::={Rs1,Rs2,…,Rsn}, Rsi∈SDS =〈name,params,pre-condition,post-condition〉。其中,name為服務(wù)名,params為服務(wù)調(diào)用參數(shù),pre-condition為服務(wù)調(diào)用的前置條件,post-condition為服務(wù)返回值。
定義5 服務(wù)接口集SIS用來描述構(gòu)件所提供的服務(wù)。SIS::={S1,S2,…,Sn},Si∈SDS =〈name, params,pre-condition, post-condition〉。四元組的意義和定義4中一致。
定義6 調(diào)用關(guān)系集CRS是對構(gòu)件服務(wù)關(guān)系的描述,包括約束和調(diào)用次序兩類關(guān)系。約束關(guān)系是指服務(wù)之間的引用和互斥,常見的如服務(wù)A的正常使用需要引用服務(wù)B,且不能出現(xiàn)服務(wù)C。
定義 7實現(xiàn)體IB(implement body)是腳本構(gòu)件的服務(wù)主體,是對腳本構(gòu)件服務(wù)接口集的具體服務(wù)的實現(xiàn),其實質(zhì)是一段基于具體腳本語言的代碼。
定義8 構(gòu)件連接子CC::={adaptor,controller},用來實現(xiàn)構(gòu)件交互,是腳本構(gòu)件組合的橋梁。其中:controller可以看做是不同構(gòu)件之間的CRS,adaptor用來匹配不兼容構(gòu)件之間的組合,而構(gòu)件的組合是通過各自的接口組裝實現(xiàn)的,因此,adaptor實際上是用來適配不同接口的組裝,是適配器模式的應(yīng)用。
2.4 TSCM的可復(fù)用性
TSCM具備上文所述的構(gòu)件組合復(fù)用的三個條件:
a)接口集對測試腳本構(gòu)件作了型構(gòu)層次以及行為層次上的良好描述。型構(gòu)層次描述包括服務(wù)接口集對構(gòu)件所能提供的服務(wù)描述和請求接口集對構(gòu)件需要調(diào)用其他構(gòu)件服務(wù)的描述;行為層次描述是指關(guān)系集對接口上請求服務(wù)與提供服務(wù)之間的關(guān)系進行的描述。這種良好的接口描述暴露了測試腳本構(gòu)件比一般軟件構(gòu)件更多有用的信息,有利于構(gòu)件之間的組合和交互驗證。
b)實現(xiàn)體實現(xiàn)接口集描述的服務(wù)并對其進行封裝,其功能和結(jié)構(gòu)上的獨立性使得測試腳本構(gòu)件的組合基于上層接口而不是具體實現(xiàn)。因此,對構(gòu)件進行組合復(fù)用時不用關(guān)心實現(xiàn)體的細節(jié)。
c)TSCM具有很好的組合點,即構(gòu)件連接子。連接子是軟件體系結(jié)構(gòu)中的重要概念,構(gòu)件連接子只是借用這個概念,其結(jié)構(gòu)沒有軟件體系結(jié)構(gòu)設(shè)計中的連接子模型復(fù)雜。簡單地說,腳本構(gòu)件的組合是通過構(gòu)件連接子實現(xiàn)的,構(gòu)件連接子在腳本構(gòu)件中的作用是連接兩個構(gòu)件。一方面連接子具有適配不完全匹配的腳本構(gòu)件的作用;另一方面連接子協(xié)調(diào)構(gòu)件之間的通信。在腳本構(gòu)件模型中設(shè)計構(gòu)件連接子,使得腳本構(gòu)件在與其他構(gòu)件組合時不用關(guān)心通信細節(jié),同時明確了測試腳本構(gòu)件功能,也提高了構(gòu)件和連接子的復(fù)用度。
3 TSCM模型的實現(xiàn)
考慮到測試腳本語言的多樣性以及各自對接口、對象等腳本構(gòu)件開發(fā)技術(shù)支持的差異性,本文設(shè)計了一套基于XML技術(shù)的通用方案來說明TSCM模型的實現(xiàn)。選擇XML技術(shù)是因為它具有以下兩個優(yōu)點:
a)XML具有人機可讀且與平臺無關(guān)的特性,可以方便地與測試工具結(jié)合,如Loadrunner測試工具自帶的腳本語言就支持XML操作。
b)XML具有schema和XSLT的強大支持。Schema用來定義并驗證XML文檔;而XSLT可以方便地將XML轉(zhuǎn)換為其他任何格式的文檔。利用XML技術(shù)實現(xiàn)的腳本構(gòu)件可以方便地將其轉(zhuǎn)換為基于特定測試腳本語言的自動化測試腳本。因此,基于XML技術(shù)實現(xiàn)的TSCM將有利于腳本構(gòu)件的擴展和復(fù)用。基于XML技術(shù)的TSCM實現(xiàn)方案可以用圖5來描述。
從圖5可知,TSCM模型實現(xiàn)主要分為XML描述、設(shè)計schema以及相關(guān)程序的開發(fā)、開發(fā)XSLT及轉(zhuǎn)換程序三部分。
3.1 XML描述框架設(shè)計
TSCM的XML描述框架主要分為以下三部分:
a)TSCM中接口集的描述,包括RIS和SIS的結(jié)構(gòu)描述、各服務(wù)的型構(gòu)層次描述以及服務(wù)調(diào)用關(guān)系的描述三部分。描述框架如下:
〈!--接口集結(jié)構(gòu)描述示例--〉
〈IS id=′TSCName_ISId′〉
〈!--請求接口集--〉
〈RIS id=′…′〉
〈RI id=′…′〉…〈RI〉
〈RI id=′…′〉…〈RI〉…
〈/RIS〉
〈!--服務(wù)接口集--〉
〈SIS id=′…′〉
〈SI id=′…′〉…〈SI〉
〈SI id=′…′〉…〈SI〉…
〈/SIS〉
〈!--關(guān)系集--〉
〈CRS id=′…′〉
〈CR id=′..′type=′..′〉…〈CR〉
〈CR id=′..′type=′..′〉…〈CR〉
…
〈/CRS〉
〈/IS〉
〈!--服務(wù)“型構(gòu)層次”描述框架示例--〉
〈service interface_id=\"..\"〉
〈name〉…〈/name〉
〈pre-conditions〉…〈/pre-conditions〉
〈params〉…〈/params〉
〈post-conditions〉…〈/post-conditions〉
〈/service〉
〈!--服務(wù)(調(diào)用次序)關(guān)系描述示例--〉
〈CR id=′..′type=′call-sequence′〉
〈caller name=′…′〉
〈callee seqNumber=1〉…〈/callee〉
〈callee seqNumber=2〉…〈/callee〉
……
〈/caller〉
〈CR〉
b)實現(xiàn)體的描述是對各服務(wù)的行為層次描述,即服務(wù)具體功能代碼段的描述。設(shè)計執(zhí)行語句節(jié)點〈do〉;條件語句節(jié)點〈if〉〈else〉〈condition〉;循環(huán)語句節(jié)點〈for〉〈init-term〉〈change-term〉〈end-term〉〈while〉〈repeat〉〈time〉等;服務(wù)調(diào)用語句節(jié)點〈call〉〈param〉〈return〉。
c)構(gòu)件連接子的描述,包括controller和adaptor描述。其中,controller是不同構(gòu)件之間的CRS,其描述結(jié)構(gòu)只是比CRS描述多了不同構(gòu)件的ID屬性,不再累述;adaptor一般通過引入adapter接口來適配不兼容構(gòu)件之間的接口組裝,從而實現(xiàn)不同構(gòu)件通過接口進行服務(wù)調(diào)用。描述結(jié)構(gòu)如下:
〈adaptor id=′…′〉
〈target〉
〈component〉…〈/component〉
〈interface〉…〈/interface〉
〈/target〉
〈source〉
〈component〉…〈/component〉
〈interface〉…〈/interface〉
〈!--引入新接口adapter,描述source的接口中沒有但是target的接口具有的服務(wù)--〉
〈adapter〉…〈/adapter〉
〈/source〉
〈/Adaptor〉
3.2 自動化輔助工具開發(fā)
在設(shè)計TSCM的XML描述框架的基礎(chǔ)上,很容易開發(fā)相應(yīng)的schema,既可作為自動生成XML描述腳本的模板,亦可作為驗證腳本正確性的依據(jù)。另一方面,基于XML測試腳本構(gòu)件作為通用構(gòu)件無法直接執(zhí)行在大部分測試工具中,需要開發(fā)XSLT程序?qū)⑵滢D(zhuǎn)換為符合需求的腳本構(gòu)件,便于直接組裝并運行在測試工具上完成測試任務(wù)。為此,開發(fā)輔助工具來實現(xiàn)測試腳本構(gòu)件自動生成、驗證和轉(zhuǎn)換。自動化輔助工具如圖6所示。
圖6中的模塊1為XML腳本自動生成部分,使用技術(shù)主要是對Apache XMLBeans API編程,從schema出發(fā)先自動生成schema中定義的復(fù)雜數(shù)據(jù)類型的JavaBeans并生成符合結(jié)構(gòu)的XML框架,然后由數(shù)據(jù)填充程序生成完整的XML測試腳本構(gòu)件;模塊2為驗證部分,主要使用Xerces2-J SAXParser API編程實現(xiàn),先由SAXParser類設(shè)置驗證屬性并讀入驗證schema,然后實現(xiàn)handler并作為validator注入到SAXParser,最后實現(xiàn)XML腳本驗證;模塊3為轉(zhuǎn)換部分,程序使用Apache Xalan處理器實現(xiàn)XML腳本的轉(zhuǎn)換。本工具小巧方便,可以將測試腳本構(gòu)件轉(zhuǎn)換為基于任意語言的測試腳本,只需針對特定腳本語言設(shè)計相應(yīng)的XSL模板即可。
4 應(yīng)用實例
本文借助實際項目的例子對基于TSCM的測試腳本構(gòu)件進行開發(fā)和復(fù)用分析。在某保險系統(tǒng)測試中,六個子系統(tǒng)都有登錄模塊并且登錄方式各不相同,如DDH子系統(tǒng)的登錄需要打開URL、輸入用戶名、密碼、選擇險種、點擊登錄按鈕五步。每一個流程的測試都首先需要登錄,如果采用傳統(tǒng)測試方式,必須為每一個子系統(tǒng)開發(fā)一個登錄測試腳本。基于TSCM模型的腳本開發(fā)則只需開發(fā)并復(fù)用一個最基本的登錄測試腳本構(gòu)件。以繳費測試為例設(shè)計測試腳本構(gòu)件如下:
a)構(gòu)件basic_login_test_comp只提供輸入用戶名、輸入密碼、點擊登錄按鈕這三個服務(wù),且無須調(diào)用其他構(gòu)件服務(wù),因此只需一個描述三個服務(wù)的SIS(basicLogin_Interface)、一個相應(yīng)的實現(xiàn)體以及一個描述三個服務(wù)執(zhí)行順序的CRS(callSeq_Relation)。
b)構(gòu)件連接子DDH_Login_Connector,對照3.1節(jié)中adaptor框架,source.component= basic_login_test_comp, source.interface=basicLogin_Interface,并引入新接口adapter描述打開URL、選擇險種這兩個服務(wù);target.component=DDH_charge,target.interface=DDH_Login_Interface。Controller描述兩個構(gòu)件中五個服務(wù)的調(diào)用順序。
c)DDH_charge是DDH子系統(tǒng)繳費測試構(gòu)件。其中一個接口DDH_Login_Interface描述DDH子系統(tǒng)登錄的五個服務(wù)。其中打開URL、選擇險種這兩個服務(wù)有相應(yīng)的實現(xiàn)體;另外三個服務(wù)通過連接子調(diào)用basicLogin_Interface中存在的服務(wù)。
基于3.1節(jié)設(shè)計的XML框架開發(fā)schema,并借助輔助工具自動生成XML描述腳本。根據(jù)需求開發(fā)XSL模板轉(zhuǎn)換為基于Loadrunner腳本,最終利用LR完成執(zhí)行壓力測試。
項目中其他子系統(tǒng)的測試凡是涉及到登錄的測試都復(fù)用basic_login_test_comp,只需相應(yīng)連接子完成適配。
5 結(jié)束語
本文提出了測試腳本構(gòu)件模型TSCM,該模型引入連接子部件增強了測試腳本構(gòu)件的獨立性、易適配性和可復(fù)用性。XML框架的設(shè)計和輔助工具的支持可以有效地提高腳本構(gòu)件的復(fù)用,如何組織并實現(xiàn)便于查找、便于復(fù)用且面向服務(wù)的測試腳本構(gòu)件庫,將是后續(xù)研究的方向。
參考文獻:
[1]蔣云,趙佳寶.自動化測試腳本自動生成技術(shù)研究[J].計算機技術(shù)與發(fā)展,2007,17(7):4-7.
[2]朱經(jīng)緯.XML技術(shù)在軟件測試自動化中的研究[J].計算機工程,2005,31(2):94-95,132.
[3]陳波,李周軍,陳火旺.構(gòu)件模型研究綜述[J].計算機工程與科學(xué),2008,30(1):105-109.
[4]ARBAB F. Abstract behavior types:a foundation model for components and their composition[J]. Science of Computer Programming,2005,55(1-3):3-52.
[5]PLASIL F,VISNOVSKY S. Behavior protocols for software components[J].IEEE Trans on Software Engineering,2002,28(11):1056-1076.
[6]MILI H. MILI F.,MILI A. Reusing software:issues and research directions[J]. IEEE Trans on Software Engineering,1995,21(6): 528-562.
[7]BUWALDA H. Jump starting your test automation[C]//West Star Conference on Software Testing. 2004.
[8]DUSTIN E. Automated software testing:introduction, management,and performance[M].[S.l.]:Addison Wesley,1999.
[9]邵正隆,白曉穎,趙沖沖. 面向復(fù)用的測試設(shè)計模型的研究和實現(xiàn)[J].小型微型計算機系統(tǒng),2006,27(11):2150-2155.