石金周 汪海濤 姜 瑛 陳 星
(昆明理工大學(xué)信息工程與自動(dòng)化學(xué)院 昆明 650500)
?
面向復(fù)用的軟件測(cè)試方法研究*
石金周汪海濤姜瑛陳星
(昆明理工大學(xué)信息工程與自動(dòng)化學(xué)院昆明650500)
摘要根據(jù)研究表明,測(cè)試工作消耗了超過半數(shù)的軟件開發(fā)工作量,而這正是阻礙軟件質(zhì)量保證的重要因素之一。軟件復(fù)用技術(shù)在提高軟件質(zhì)量和生產(chǎn)率的同時(shí)縮短了軟件產(chǎn)品的上市時(shí)間。論文討論面向復(fù)用的測(cè)試方法,用來減少測(cè)試工作。從而進(jìn)一步在整個(gè)面向復(fù)用的開發(fā)過程中呈現(xiàn)最先進(jìn)的面向復(fù)用的軟件測(cè)試方法。當(dāng)前基于軟件復(fù)用測(cè)試的軟件開發(fā)趨勢(shì)是朝著內(nèi)置測(cè)試和基于模型的軟件測(cè)試方向發(fā)展。
關(guān)鍵詞面向復(fù)用的測(cè)試方法; 基于模型的測(cè)試; 內(nèi)置測(cè)試; 框架和構(gòu)件
Reuse-oriented Software Testing Method
SHI JinzhouWANG HaitaoJIANG YingCHEN Xing
(Faculty of Information Engineering and Automation, Kunming University of Science and Technology, Kunming650500)
AbstractAccording to the study that testing effort consumes more than half of all development effort and is one of important factors, which obstruct quality assurance. Software reuse enhances quality and productivity and at the same time reduces the time-to-market of the software products. In this paper, reuse-oriented test approaches are discussed, which are used to reduce the testing effort. Further, the state-of-the-art in reuse-oriented test approaches employed in reuse-oriented development processes is presented. The paper believes that the current trend is towards built-in test and model based testing in the applications developed through reusable software.
Key Wordsreuse-oriented test approaches, model based testing, built-in-tests, frameworks and components
Class NumberTP311.5
1引言
隨著計(jì)算機(jī)應(yīng)用的日益普及和深化,軟件產(chǎn)品的數(shù)量以驚人的速度急劇膨脹,軟件在現(xiàn)代社會(huì)中的作用是必不可少的,軟件不可以出錯(cuò)。而在軟件生存周期中軟件測(cè)試占有重要的地位,并且直接影響著軟件的質(zhì)量[1]。然而,確保高質(zhì)量的軟件通常非常昂貴,因?yàn)闇y(cè)試是實(shí)現(xiàn)質(zhì)量的主要手段,而實(shí)現(xiàn)質(zhì)量保證工作會(huì)消耗50%~60%的軟件開發(fā)工作量,并且會(huì)阻礙整個(gè)項(xiàng)目的進(jìn)程。正因如此,不充分的質(zhì)量保證,尤其是測(cè)試的不足,造成了軟件質(zhì)量的參差不齊。
如何通過適當(dāng)?shù)募夹g(shù)來減少軟件測(cè)試的工作同時(shí)又不降低軟件的質(zhì)量?在1968年的北大西洋公約組織(NATO)軟件工程會(huì)議上,人們?yōu)榱私鉀Q“軟件危機(jī)”,第一次引入了復(fù)用概念。可以說,軟件復(fù)用是避免重復(fù)勞動(dòng)、提高軟件質(zhì)量和生產(chǎn)效率的有效解決方案[2]。通過軟件復(fù)用技術(shù),消除了包括分析、設(shè)計(jì)、編碼、測(cè)試等階段在內(nèi)的大量重復(fù)勞動(dòng),提高了軟件開發(fā)的生產(chǎn)率,與此同時(shí),復(fù)用已開發(fā)的高質(zhì)量成果,還可以避免重新開發(fā)時(shí)可能引入的錯(cuò)誤,從而提高了軟件的質(zhì)量。因此,面向復(fù)用的軟件測(cè)試方法可以有效減少測(cè)試工作,提高軟件質(zhì)量。
2軟件測(cè)試與軟件復(fù)用
2.1軟件測(cè)試的基本概念
Glenford J.Myers認(rèn)為軟件測(cè)試是為了發(fā)現(xiàn)錯(cuò)誤而執(zhí)行程序的過程。IEEE 610.12標(biāo)準(zhǔn)定義為: 1) 運(yùn)行系統(tǒng)或構(gòu)件在特定的條件下,觀察和記錄結(jié)果,對(duì)系統(tǒng)的某些方面做出評(píng)判。 2) 通過分析某些軟件項(xiàng)來發(fā)現(xiàn)現(xiàn)存的結(jié)果和所要求的條件之間的區(qū)別(即錯(cuò)誤)并以此評(píng)價(jià)該軟件項(xiàng)的特性[3]。基于IEEE 610.12的標(biāo)準(zhǔn)定義,可以給出軟件測(cè)試的定義:軟件測(cè)試是在軟件投入運(yùn)行前,對(duì)軟件需求分析、設(shè)計(jì)規(guī)格說明和編碼的最終評(píng)審,是軟件質(zhì)量保證的關(guān)鍵步驟[3]。不難發(fā)現(xiàn),作為軟件質(zhì)量保證的關(guān)鍵步驟,軟件測(cè)試的目的就是在發(fā)現(xiàn)軟件的缺陷與錯(cuò)誤的同時(shí),也要對(duì)軟件的質(zhì)量進(jìn)行度量和評(píng)估。
2.2軟件復(fù)用的基本概念
軟件復(fù)用是指“以復(fù)用為目的而設(shè)計(jì)軟件”的過程。軟件復(fù)用是在軟件開發(fā)過程中避免重復(fù)勞動(dòng)的有效解決方案,旨在使應(yīng)用程序的開發(fā)不再“從零開始”,能夠在現(xiàn)有的工作基礎(chǔ)上,充分利用過去系統(tǒng)開發(fā)中積累的軟件資產(chǎn),諸如源代碼、設(shè)計(jì)方案、需求規(guī)約以及測(cè)試用例等,實(shí)現(xiàn)對(duì)軟件開發(fā)過程中可復(fù)用成分最大程度的復(fù)用[2]。從定義不難發(fā)現(xiàn),軟件復(fù)用是一個(gè)從現(xiàn)有軟件構(gòu)件基礎(chǔ)上,而非重新創(chuàng)建軟件系統(tǒng)的一個(gè)過程。在這個(gè)過程中,所有使用到復(fù)用的軟件技術(shù)都有一定的共性,即都涉及到抽象、篩選、特化和集成軟件構(gòu)件。
通過復(fù)用技術(shù)對(duì)傳統(tǒng)測(cè)試過程模型進(jìn)行重構(gòu),即在測(cè)試過程模型中整合測(cè)試計(jì)劃、設(shè)計(jì)、開發(fā)、執(zhí)行和分析/評(píng)估活動(dòng)中的特定抽象模型,由抽象模型篩選、特化出測(cè)試構(gòu)件并集成。由于創(chuàng)建測(cè)試構(gòu)件和測(cè)試文檔消耗了大量的軟件測(cè)試工作在軟件生命周期中,所以復(fù)用測(cè)試構(gòu)件之前,必須確保復(fù)用測(cè)試構(gòu)件消耗的測(cè)試時(shí)間和精力低于從頭開發(fā)測(cè)試構(gòu)件。
3面向復(fù)用的測(cè)試方法
本節(jié)確定并討論各領(lǐng)域應(yīng)用面向復(fù)用測(cè)試方法以及通過應(yīng)用各種面向復(fù)用測(cè)試方法減少了測(cè)試工作。
3.1應(yīng)用領(lǐng)域的面向復(fù)用測(cè)試方法
復(fù)用測(cè)試最早被認(rèn)可是在回歸測(cè)試中,雖然這種測(cè)試策略代價(jià)很高,但作為至關(guān)重要的軟件維護(hù)活動(dòng)之一(維護(hù)活動(dòng)消耗大約三分之二的軟件生產(chǎn)的總成本),它能夠驗(yàn)證所修改代碼的正確性,同時(shí)對(duì)軟件的不變部件沒有產(chǎn)生不利影響。復(fù)用,具體被用于從現(xiàn)有的測(cè)試套件中選擇回歸測(cè)試用例來測(cè)試修改后的軟件。開發(fā)測(cè)試和回歸測(cè)試之間的主要區(qū)別是開發(fā)測(cè)試在生成每個(gè)測(cè)試用例的抽象級(jí)別測(cè)試各自的產(chǎn)品,而回歸測(cè)試則是在可能存在復(fù)用的回歸測(cè)試中建立測(cè)試套件。
對(duì)于重復(fù)測(cè)試所有的方法體,一種回歸測(cè)試策略是,基于完全執(zhí)行的回歸測(cè)試,但是這種策略可能會(huì)消耗大量的時(shí)間和資源;另一種回歸測(cè)試策略是,基于選擇技術(shù)的回歸測(cè)試,通過選擇初始測(cè)試套件中的一些子集,以減少重新測(cè)試所需的時(shí)間?;貧w測(cè)試選擇技術(shù)解決了兩個(gè)問題: 1) 從現(xiàn)有測(cè)試套件中選擇; 2) 確定在何處需要額外的測(cè)試。同時(shí),回歸測(cè)試選擇需在重新執(zhí)行測(cè)試用例所需成本和由于修改軟件的副作用而引入缺失故障的風(fēng)險(xiǎn)之間做權(quán)衡,為了減少軟件開發(fā)的時(shí)間和工作量,迭代開發(fā)戰(zhàn)略和復(fù)用技術(shù)經(jīng)常被采用。這兩種方法都需要頻繁驗(yàn)證引起以前所寫功能變化的相關(guān)代碼,這就需要高效的回歸測(cè)試策略。研究人員已經(jīng)把很多精力投入到尋找符合成本效益的方法進(jìn)行回歸測(cè)試,例如基于修改代碼的測(cè)試以及基于風(fēng)險(xiǎn)用例的回歸測(cè)試。
回歸測(cè)試主要研究四個(gè)問題: 1) 找出程序中發(fā)生變化及受變化影響的部分, 2) 重新測(cè)試變化及受變化影響的部分, 3) 確定要選擇的測(cè)試用例的標(biāo)準(zhǔn), 4) 復(fù)用現(xiàn)有的測(cè)試用例并進(jìn)行修改,產(chǎn)生新的測(cè)試用例集[4]。
假設(shè)P表示某個(gè)程序,P′表示經(jīng)P修改后的程序,T為P的測(cè)試用例集。回歸測(cè)試過程可以描述如下[4]:
1) 選擇T′?T,其中T′為程序P′運(yùn)行時(shí)用來測(cè)試的測(cè)試用例集;
2) 利用T′測(cè)試程序P′,以確認(rèn)程序P′在T′上的正確性;
3) 如果必要,建立P′的新增測(cè)試用例集T″;
4) 利用T″測(cè)試程序P′,以確定P′在T″上的正確性;
5) 根據(jù)測(cè)試用例集T′和T″產(chǎn)生新的測(cè)試用例集T?。
3.2面向復(fù)用的測(cè)試方法
通過文獻(xiàn)調(diào)查確定了集中面向復(fù)用的測(cè)試方法,通過諸如內(nèi)置測(cè)試、測(cè)試模式、測(cè)試框架、測(cè)試環(huán)境、基于模型的測(cè)試、基于域的測(cè)試等技術(shù),軟件復(fù)用已經(jīng)被應(yīng)用于軟件測(cè)試中。
表1 減少測(cè)試工作的面向復(fù)用測(cè)試方法
3.2.1基于域的測(cè)試
基于域的測(cè)試是一種基于領(lǐng)域分析和建模概念的命令系統(tǒng)測(cè)試生成方法。通過領(lǐng)域分析,為應(yīng)用程序提供一系列結(jié)構(gòu)化的域模型,并通過由此產(chǎn)生的域模型生成可復(fù)用的測(cè)試用例而不僅僅是簡(jiǎn)單的代碼復(fù)用。因此,基于域的測(cè)試提供的是一種用于產(chǎn)生和復(fù)用測(cè)試用例的結(jié)構(gòu)。在基于域的測(cè)試中,域分析和領(lǐng)域建模便于測(cè)試用例在三個(gè)層次的抽象復(fù)用,這種方法的優(yōu)點(diǎn)如下:
1) 分離簡(jiǎn)化了測(cè)試套件生成的每一步。
2) 基于域的測(cè)試可以用來作為測(cè)試生成工具,一個(gè)“可重復(fù)使用的”測(cè)試案例發(fā)生器,或者用來識(shí)別回歸測(cè)試套件。
3) 基于域的測(cè)試復(fù)用體現(xiàn)在對(duì)域的復(fù)用和測(cè)試用例的復(fù)用。
圖1 基于域的測(cè)試過程
同時(shí),基于域的測(cè)試在針對(duì)修改軟件的測(cè)試時(shí)擁有巨大優(yōu)勢(shì)。修改是在軟件開發(fā)生命周期的維護(hù)階段進(jìn)行,這些修改可以是增加新的功能和特性、糾正錯(cuò)誤、改善軟件性能或資源使用的形式。針對(duì)修改軟件的測(cè)試過程涉及回歸測(cè)試和設(shè)置回歸測(cè)試運(yùn)行中的回歸測(cè)試套件,基于域的測(cè)試形成了一個(gè)家族式的測(cè)試生成方法,家族中的每個(gè)元素特征一一對(duì)應(yīng)領(lǐng)域分析和建模的每個(gè)問題域,因而使用基于域的測(cè)試對(duì)修改后的軟件進(jìn)行重新測(cè)試,可以確保修改和未變動(dòng)部分功能正常。
3.2.2基于模型的測(cè)試
基于模型的測(cè)試是一種從抽象的形式化模型中自動(dòng)化推導(dǎo)出具體的測(cè)試用例并執(zhí)行的測(cè)試方法?;谀P偷臏y(cè)試允許從系統(tǒng)的行為描述生成大量的測(cè)試用例,基于相同的測(cè)試用例描述和運(yùn)行,許多不同類型的腳本可以被執(zhí)行,同時(shí),測(cè)試模型也大面積覆蓋了被測(cè)應(yīng)用程序,從而使得測(cè)試過程更加高效。模型代表了系統(tǒng)的行為,盡管隨著時(shí)間的推移,軟件的版本規(guī)格可能會(huì)發(fā)生改變,但系統(tǒng)的大部分行為信息依然可以在測(cè)試中被復(fù)用。
隨著統(tǒng)一建模語言(Unified Modeling Language,UML)的普及與發(fā)展,基于模型的測(cè)試也越來越發(fā)揮著重要作用。通常一個(gè)良好模型的建立,可以自動(dòng)生成高質(zhì)量的測(cè)試用例,同時(shí)極大方便測(cè)試用例的共享和復(fù)用。與其他測(cè)試技術(shù)相比,基于模型的測(cè)試具有以下特點(diǎn)[5]:
1) 根據(jù)被測(cè)試應(yīng)用程序的分析設(shè)計(jì)模型,生成測(cè)試模型,進(jìn)而產(chǎn)生測(cè)試用例并執(zhí)行,對(duì)測(cè)試結(jié)果進(jìn)行分析評(píng)價(jià)。
2) 測(cè)試用例可以利用模型自動(dòng)生成,大大提高了測(cè)試的自動(dòng)化,同時(shí)測(cè)試依據(jù)覆蓋準(zhǔn)則,提高了測(cè)試的效率。
3) 一定程度上解決了測(cè)試失效辨識(shí)問題,善于發(fā)現(xiàn)其他測(cè)試技術(shù)難以發(fā)現(xiàn)的故障和問題,保證了軟件質(zhì)量。
4) 有利于測(cè)試用例的共享和復(fù)用。
圖2 基于模型的測(cè)試過程
3.2.3內(nèi)置測(cè)試
內(nèi)置測(cè)試是一種在構(gòu)件中插入測(cè)試點(diǎn),并在測(cè)試點(diǎn)處預(yù)設(shè)代碼,收集執(zhí)行信息,從而將測(cè)試機(jī)制在測(cè)試之前內(nèi)置到構(gòu)件中去,簡(jiǎn)化了測(cè)試,減少了測(cè)試代價(jià)[6]。內(nèi)置測(cè)試為構(gòu)件增加一種“測(cè)試/維護(hù)”模式,在該模式下可以激活測(cè)試點(diǎn)處的預(yù)設(shè)代碼,極大地方便了構(gòu)件測(cè)試。
內(nèi)置測(cè)試將測(cè)試作為軟件的內(nèi)在固有屬性,把內(nèi)置測(cè)試代碼作為成員函數(shù)寫入源代碼,它與對(duì)象中的構(gòu)造函數(shù)和析構(gòu)函數(shù)具有相同的語法功能,大大增強(qiáng)了軟件系統(tǒng)中自包含的概念。得益于構(gòu)件復(fù)用技術(shù)的發(fā)展,內(nèi)置測(cè)試構(gòu)件也可以被繼承和復(fù)用,極大地增強(qiáng)了軟件的可維護(hù)性、再工程軟件資產(chǎn)的可維護(hù)性,并確保了軟件運(yùn)行的一致性。內(nèi)置測(cè)試過程具有如下特點(diǎn):
1) 開發(fā)構(gòu)件時(shí),在構(gòu)件內(nèi)部一些程序關(guān)鍵語句前后建立測(cè)試點(diǎn),同時(shí)給每個(gè)測(cè)試點(diǎn)編號(hào),用來唯一標(biāo)識(shí)該測(cè)試點(diǎn)。
2) 測(cè)試點(diǎn)即在構(gòu)件中插入的測(cè)試位置,用于引入測(cè)試數(shù)據(jù)或輸出測(cè)試結(jié)果。
3) 通過選擇測(cè)試點(diǎn)的方法對(duì)構(gòu)件內(nèi)部全部或部分重要功能和細(xì)節(jié)算法加以測(cè)試。
將測(cè)試用例永久的嵌入對(duì)象或構(gòu)件內(nèi)部,通過擴(kuò)展機(jī)制繼承構(gòu)件的功能,再以附加的測(cè)試接口調(diào)用這些測(cè)試用例。構(gòu)件使用者在構(gòu)件正常運(yùn)行模式下,通過常規(guī)的接口來訪問構(gòu)件的功能,在測(cè)試/維護(hù)模式下訪問附加的測(cè)試接口并執(zhí)行內(nèi)置的測(cè)試用例。
下面是一個(gè)簡(jiǎn)單具有內(nèi)置測(cè)試接口的對(duì)象的示例:
Class class-name{
//接口(附加)
Data declaration;
Constructor declaration;構(gòu)造函數(shù)聲明
Destructor declaration;析構(gòu)函數(shù)聲明
Function declaration;自定義函數(shù)聲明
Tests declaration;//內(nèi)置測(cè)試聲明
//具體實(shí)現(xiàn)
Constructor;
Destructor;
Functions;
Test Cases;//內(nèi)置測(cè)試用例
}BIT Object;
圖3 內(nèi)置測(cè)試過程
3.3復(fù)用測(cè)試在面向?qū)ο罂蚣芎徒M件中的應(yīng)用
面向?qū)ο蟮臏y(cè)試框架的概念類似于面向?qū)ο蟮膽?yīng)用程序框架。在面向?qū)ο蟮膽?yīng)用程序框架中,框架具有豐富的復(fù)用機(jī)制,它可以從不同的角度復(fù)用代碼、設(shè)計(jì)和分析[7]。一般框架復(fù)用代碼可以從兩個(gè)方面來講,一是利用框架從一個(gè)現(xiàn)有的組件庫生成應(yīng)用程序,二是新組件可以從抽象超類中繼承大多數(shù)的實(shí)現(xiàn)。當(dāng)然,框架能復(fù)用代碼的最主要原因是其復(fù)用了設(shè)計(jì)??蚣芴峁┝丝蓮?fù)用的抽象算法和高級(jí)的設(shè)計(jì)方法,從而把一個(gè)大系統(tǒng)劃分成小的組件,并描述組件間的相互作用。通過標(biāo)準(zhǔn)接口能輕易利用少量現(xiàn)存的組件,來構(gòu)建一個(gè)多層次的系統(tǒng)[7]。基于此,在一個(gè)面向?qū)ο蟮臏y(cè)試框架中,可重復(fù)使用的代碼段是測(cè)試腳本或測(cè)試策略,目標(biāo)是重用測(cè)試腳本進(jìn)行回歸測(cè)試并產(chǎn)生復(fù)雜的測(cè)試方案。采用基于框架的軟件測(cè)試方法,可以用框架作為復(fù)用組件的基本單位來實(shí)現(xiàn)軟件產(chǎn)品線,有效地降低軟件測(cè)試的成本,提高生產(chǎn)效率和軟件可靠性。
文獻(xiàn)[8]提供了一種基于類的可復(fù)用測(cè)試用例框架,這種框架可以在應(yīng)用的工程設(shè)計(jì)階使用。而內(nèi)置測(cè)試在對(duì)象和面向?qū)ο罂蚣艿乃缴现攸c(diǎn)介紹了面向?qū)ο蟮目蚣茉O(shè)計(jì),因此,可以擴(kuò)展面向?qū)ο罂蚣軓拇a的可復(fù)用概念構(gòu)建測(cè)試。在一個(gè)面向?qū)ο蟮沫h(huán)境中添加面向?qū)ο蟮膬?nèi)置測(cè)試代碼,有利于創(chuàng)建可復(fù)用、易于維護(hù)、健壯的測(cè)試代碼。嵌入內(nèi)置測(cè)試代碼的軟件有兩種操作模式:正常模式(程序執(zhí)行)和測(cè)試模式(測(cè)試和維護(hù))。在正常模式下,內(nèi)置測(cè)試代碼是非激活狀態(tài),但可以在測(cè)試/維護(hù)模式下激活。在測(cè)試/維護(hù)模式下,利用測(cè)試封裝技術(shù),將測(cè)試代碼作為內(nèi)置測(cè)試構(gòu)件嵌入到框架的測(cè)試點(diǎn)。這種方法有助于檢測(cè)由于修改和擴(kuò)展框架造成的缺陷。嵌入內(nèi)置測(cè)試代碼的主要優(yōu)點(diǎn)如下:
1) 在沒有獲得任何代碼或功能行為的變化情況下,增加了框架的可控制性和可觀察性,
2) 測(cè)試組件如果需要可以在運(yùn)行時(shí)動(dòng)態(tài)地從框架中添加/分離。
圖4 基于類的可復(fù)用測(cè)試用例框架結(jié)構(gòu)圖
4結(jié)語
盡管在許多研究文獻(xiàn)中存在質(zhì)量保證技術(shù)、單元測(cè)試技術(shù)、自動(dòng)化和故障預(yù)測(cè)模型,對(duì)減少測(cè)試工作有過系統(tǒng)性的研究。但出人意料的是,沒有文獻(xiàn)調(diào)查研究過面向復(fù)用的方法減少了測(cè)試工作。其中,首次確認(rèn)復(fù)用測(cè)試的應(yīng)用領(lǐng)域是回歸測(cè)試(在開發(fā)生命周期的維護(hù)階段進(jìn)行)、測(cè)試子類、測(cè)試使用的類庫、測(cè)試面向?qū)ο蟮膽?yīng)用程序框架和組件。
本文第一個(gè)目標(biāo)是找到現(xiàn)有的面向復(fù)用的測(cè)試方法,以幫助減少測(cè)試工作。經(jīng)過文獻(xiàn)調(diào)查確定了基于域的測(cè)試、基于模型的測(cè)試、測(cè)試模式、內(nèi)置測(cè)試、測(cè)試框架和測(cè)試環(huán)境等面向復(fù)用的測(cè)試方法。本文第二個(gè)目標(biāo)是要找到合適的技術(shù)來減少測(cè)試工作,而不會(huì)降低軟件的質(zhì)量。最近的趨勢(shì)是朝內(nèi)置測(cè)試和基于模型的測(cè)試的方向發(fā)展。內(nèi)置的測(cè)試和基于模型的測(cè)試中使用不同的方式來測(cè)試框架、組件并使用框架和組件開發(fā)應(yīng)用程序,例如軟件產(chǎn)品線。
參 考 文 獻(xiàn)
[1] 馬海云,張少剛.軟件質(zhì)量保證與軟件測(cè)試技術(shù)[M].北京:國防工業(yè)出版社,2011.
MA Haiyun, ZHANG Shaogang. Software Quality Assurance and Software Testing Technology[M]. Beijing: National Defense Industry Press,2011.
[2] 楊芙清,梅宏.面向復(fù)用的軟件資產(chǎn)與過程管理[M].北京:清華大學(xué)出版社,2008.
YANG Fuqing, HONG Mei. Asset and Process Management for Software Reuse[M]. Beijing: Tsinghua University Press,2008.
[3] 郁蓮.軟件測(cè)試方法與實(shí)踐[M].北京:清華大學(xué)出版社,2008.
YU Lin. Software Testing Methods and Practice[M]. Beijing: Tsinghua University Press,2008.
[4] 周曉波.構(gòu)件回歸測(cè)試方法研究與實(shí)現(xiàn)[D].昆明:昆明理工大學(xué),2012:8-9.
ZHOU Xiaobo. Research and Implementation for Method of Component Regression Testing[D]. Kunming: Kunming University of Science and Technology,2012:8-9.
[5] 吳艷,張惠.基于模型的軟件測(cè)試方法研究[J].計(jì)算機(jī)系統(tǒng)應(yīng)用,2008(8):87-90.
WU Yan, ZHANG Hui. Software Testing Method based on Model Studies[J]. Computer System & Application,2008(8):87-90.
[6] 高媛,陳立潮,張永梅.軟件構(gòu)件內(nèi)置測(cè)試技術(shù)研究[J].自動(dòng)化技術(shù)與應(yīng)用,2007(7):28-30.
GAO Yuan, CHEN Lichao, ZHANG Yongmei. The Research on Software Component Built-in Testing[J]. Techniques of Automation and Applications,2007(7):28-30.
[7] 包龍翔,曹抗震.設(shè)計(jì)面向?qū)ο蟮能浖蚣躘J].計(jì)算機(jī)應(yīng)用研究,2003(3):27-30.
BAO Longxiang, CAO Kangzhen. Design of Object-oriented Software Framework[J]. Applications Research of Computers,2003(3):27-30.
[8] Wang, Y., King, G., Fayad, M., et al. 2000. On Built-in Test Reuse in Object-Oriented Framework Design[J]. ACM Journal on Computing Surveys,1998,23(23):60-64.
版 權(quán) 聲 明
本刊已許可萬方數(shù)據(jù)庫、中國學(xué)術(shù)期刊(光盤版)電子雜志社在中國知網(wǎng)及其系列數(shù)據(jù)庫等產(chǎn)品中以數(shù)字化方式復(fù)制、匯編、發(fā)行、信息網(wǎng)絡(luò)傳播本刊全文。著作權(quán)使用費(fèi)與本刊稿酬一并支付。作者向本刊提交文章發(fā)表的行為即視為同意我編輯部上述聲明。
《計(jì)算機(jī)與數(shù)字工程》編輯部
中圖分類號(hào)TP311.5
DOI:10.3969/j.issn.1672-9722.2016.03.017
作者簡(jiǎn)介:石金周,男,碩士研究生,研究方向:軟件工程。汪海濤,女,碩士,副教授,碩士生導(dǎo)師,研究方向:軟件工程。姜瑛,女,博士,教授,碩士生導(dǎo)師,研究方向:軟件工程。陳星,男,碩士,講師,研究方向:軟件工程。
基金項(xiàng)目:國家自然科學(xué)基金(編號(hào):61462049)資助。
收稿日期:2015年9月4日,修回日期:2015年10月27日