欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

對包含多個測試用例的測試套件進行優(yōu)化的方法和系統(tǒng)與流程

文檔序號:11707509閱讀:242來源:國知局
本技術(shù)方案總體涉及軟件測試,尤其但并不只涉及對包含多個測試用例的測試套件進行的優(yōu)化方法和系統(tǒng)。
背景技術(shù)
::在軟件工程和軟件開發(fā)領(lǐng)域,需要對軟件應(yīng)用程序和/或軟件系統(tǒng)實施軟件測試,以糾正該軟件應(yīng)用程序和/或軟件系統(tǒng)中存在的錯誤。通常情況下,使用測試套件(testsuite)對所述軟件應(yīng)用程序和/或軟件系統(tǒng)進行測試。所述測試套件包含多個測試用例(testcase),該測試用例為一組測試條件,在該測試條件下測試員可判斷所述一個或多個軟件應(yīng)用程序和/或軟件系統(tǒng)是否按照其初始設(shè)計的方式運行和工作。每個所述測試用例均具有一組針對特定測試方案開發(fā)的用于驗證是否符合具體要求的測試數(shù)據(jù)、前提條件、預(yù)期結(jié)果和后置條件。在對軟件應(yīng)用程序和/或軟件系統(tǒng)或者其特征之一進行測試時,使用準確的測試套件十分重要。然而,在任何一個組織機構(gòu)中,針對軟件應(yīng)用程序和/或軟件系統(tǒng)的測試套件均在生成之后獲得一定時間的積累。這些測試用例或測試腳本被成千上萬次運行,而且隨著軟件應(yīng)用程序和/或軟件系統(tǒng)的每個版本的發(fā)布而持續(xù)增長。如此,在一段時間之后,測試套件的負責(zé)人員或團隊將無法獲知哪些測試用例是最新的,哪些測試用例是過時的,哪些測試用例需要更新,以及有多少測試用例是重復(fù)的等等。每當有軟件應(yīng)用程序和/或軟件系統(tǒng)的重要版本發(fā)布時,上述人員或團隊將難以獲得回歸測試套件并對其進行執(zhí)行。由于此原因,許多缺陷被遺漏并延續(xù)至生產(chǎn)階段。舉例而言,銀行應(yīng)用程序的回歸測試套件可能包含用于開戶、資金轉(zhuǎn)移、余額查詢、新卡申請等的系統(tǒng)。隨著時間的推移,銀行可能決定在創(chuàng)建帳戶時增加通用帳號(或社保號碼)等額外參數(shù)。對此進行測試的通常做法可能涉及編寫額外的id創(chuàng)建測試方法并對其進行測試,以及將現(xiàn)有的賬戶創(chuàng)建測試套件作廢。此外,由于業(yè)務(wù)流程因需涉及為數(shù)眾多的步驟而難以維護,所述測試套件只對具體功能而非業(yè)務(wù)流程進行描繪。在現(xiàn)有技術(shù)中,對軟件應(yīng)用程序和/或軟件系統(tǒng)或者其特征之一的測試不涉及該軟件應(yīng)用程序和/或軟件系統(tǒng)或者其特征之一的內(nèi)部結(jié)構(gòu)。其中,使用具有最少路徑或步驟的一個或多個測試用例實施測試。然而,這種測試方式并未解決從所述套件中識別一個或多個過時測試用例,識別一個或多個可重復(fù)使用測試方案,以及從所述一個或多個測試用例中剔除冗余測試方案的問題。在對包含多個測試用例的測試套件進行優(yōu)化時所面臨的主要問題在于識別和剔除冗余測試用例,識別所述測試用例的可重復(fù)使用測試功能,以及利用所述可重復(fù)使用測試功能生成整體業(yè)務(wù)模式,以獲得對所述測試套件的整體觀感。技術(shù)實現(xiàn)要素:本發(fā)明公開了一種對包含多個測試用例的測試套件進行優(yōu)化的方法和系統(tǒng)。所述方法包括,在一整體測試環(huán)境中,通過對已有測試套件進行冗余分析、將測試用例集群至各組中、創(chuàng)建可重復(fù)使用測試功能以及確定已優(yōu)化測試用例功能,實現(xiàn)對所述測試套件的描繪、維護以及更新。因此,本發(fā)明涉及一種對包含多個測試用例的測試套件進行優(yōu)化的方法。所述方法包括由一測試套件轉(zhuǎn)化系統(tǒng)從一個或多個數(shù)據(jù)源接收所述測試套件的多個測試用例。該方法識別出所述多個測試用例中的一個或多個冗余測試用例和一個或多個非冗余測試用例中的至少一個。所述測試套件轉(zhuǎn)化系統(tǒng)通過將所述一個或多個非冗余測試用例中每個非冗余測試用例的測試描述和測試步驟與每個其他非冗余測試用例的測試描述和測試步驟比較,計算出所述一個或多個非冗余測試用例中各非冗余測試用例之間的相似度百分比。根據(jù)所述相似度百分比,所述一個或多個非冗余測試用例中的每個非冗余測試用例被進一步地分組至一個或多個集群內(nèi)。所述方法進一步識別出所述一個或多個集群中每個集群內(nèi)的一個或多個測試功能,以確定所述一個或多個集群中每個集群內(nèi)的一個或多個可重復(fù)使用測試功能。此外,通過用所識別出的一個或多個可重復(fù)使用測試功能的標識替代所述一個或多個測試用例中的每個測試用例的一個或多個可重復(fù)使用測試功能,所述一個或多個集群中每個集群內(nèi)的一個或多個測試用例被重建,從而實現(xiàn)了所述測試套件的優(yōu)化。此外,本發(fā)明還涉及一種對包含多個測試用例的測試套件進行優(yōu)化的測試套件轉(zhuǎn)化系統(tǒng),其中,所述測試套件轉(zhuǎn)化系統(tǒng)包括處理器以及以可通信方式連接至所述處理器的存儲器,所述存儲器存有處理器可執(zhí)行指令,該指令在執(zhí)行時使得所述處理器從一個或多個數(shù)據(jù)源接收測試套件的多個測試用例。所述指令還使得所述處理器識別出所述已接收至所述多個測試用例中的一個或多個冗余測試用例和一個或多個非冗余測試用例中的至少一個。其后,所述系統(tǒng)通過將所述一個或多個非冗余測試用例中每個非冗余測試用例的測試描述和測試步驟與每個其他非冗余測試用例的測試描述和測試步驟比較,計算出所述一個或多個非冗余測試用例中各非冗余測試用例之間的相似度百分比。進一步地,根據(jù)算出的所述相似度百分比,所述一個或多個非冗余測試用例中的每個非冗余測試用例被分組至一個或多個集群內(nèi)。所述指令還使得所述處理器識別出所述一個或多個集群中每個集群內(nèi)的一個或多個測試功能,以確定所述一個或多個集群中每個集群內(nèi)的一個或多個可重復(fù)使用測試功能。在確定了所述一個或多個可重復(fù)使用測試功能之后,通過用所識別出的一個或多個可重復(fù)使用測試功能的標識替代所述一個或多個測試用例中的每個測試用例的一個或多個可重復(fù)使用測試功能,所述一個或多個集群中每個集群內(nèi)的一個或多個測試用例被重建,從而實現(xiàn)了所述測試套件的優(yōu)化。此外,本發(fā)明還涉及一種非暫時性計算機可讀介質(zhì),該介質(zhì)包括存于其內(nèi)的指令,該指令在由至少一個處理器處理時使得測試套件轉(zhuǎn)化系統(tǒng)執(zhí)行從一個或多個數(shù)據(jù)源接收所述測試套件的多個測試用例的動作。所述指令還使得所述測試套件轉(zhuǎn)化系統(tǒng)識別出所述多個測試用例中的一個或多個冗余測試用例和一個或多個非冗余測試用例中的至少一個。在識別出所述一個或多個非冗余測試用例之后,通過將所述一個或多個非冗余測試用例中每個非冗余測試用例的測試描述和測試步驟與每個其他非冗余測試用例的測試描述和測試步驟比較,計算出所述一個或多個非冗余測試用例中各非冗余測試用例之間的相似度百分比。所述指令還使得所述測試套件轉(zhuǎn)化系統(tǒng)根據(jù)所述相似度百分比,將所述一個或多個非冗余測試用例中的每個非冗余測試用例分組至一個或多個集群內(nèi)。其后,所述一個或多個集群中每個集群內(nèi)的一個或多個測試功能被識別,從而確定出所述一個或多個集群中每個集群內(nèi)的一個或多個可重復(fù)使用測試功能。此外,通過用所識別出的一個或多個可重復(fù)使用測試功能的標識替代所述一個或多個測試用例中的每個測試用例的一個或多個可重復(fù)使用測試功能,所述一個或多個集群中每個集群內(nèi)的一個或多個測試用例被重建,從而實現(xiàn)了所述測試套件的優(yōu)化。上述《
發(fā)明內(nèi)容》部分僅在于說明,并不意在施加任何限制。通過參考附圖和以下《具體實施方式》部分,除了以上所述說明性方面、實施方式及特征之外,其他方面、實施方式和特征也將變得容易理解。附圖說明所附各圖并入本發(fā)明之內(nèi)并構(gòu)成本發(fā)明的一部分,用于對例示實施方式進行描述,并與說明書一道闡明所公開的原理。各圖中,附圖標記最左邊的位值表明該附圖標記第一次出現(xiàn)時所在的圖號,而且均采用相同附圖標記指代相同或類似部件。以下,對根據(jù)本技術(shù)方案實施方式的系統(tǒng)和/或方法的一些實施方式進行描述,該描述僅以例示為目的且參考上述附圖,其中:圖1a所示為根據(jù)本發(fā)明一些實施方式對含多個測試用例的測試套件進行優(yōu)化的例示環(huán)境;圖1b為根據(jù)本發(fā)明一些實施方式的測試套件轉(zhuǎn)化系統(tǒng)的示意框圖;圖2a所示為根據(jù)本發(fā)明一些實施方式針對測試套件內(nèi)已分組至集群中的一個或多個后測試用例當中的每個測試用例所生成的例示業(yè)務(wù)流程模型;圖2b所示為根據(jù)本發(fā)明的一種例示實施方式的整體業(yè)務(wù)模型;圖2c為根據(jù)本發(fā)明一些實施方式對測試套件實施一個或多個變更管理操作的方法的示意流程圖;圖3為根據(jù)本發(fā)明一些實施方式對含多個測試用例的測試套件進行優(yōu)化的方法的示意流程圖;圖4為用于實施符合本發(fā)明實施方式的例示計算機系統(tǒng)框圖。本領(lǐng)域技術(shù)人員應(yīng)當理解的是,本文中的任何框圖均表示秉承了本技術(shù)方案原理的說明性系統(tǒng)的概念圖。同樣地,還應(yīng)當理解的是,任何的作業(yè)圖、流程圖、狀態(tài)遷移圖以及偽代碼等均表示可實質(zhì)表現(xiàn)于計算機可讀介質(zhì)中且由計算機或處理器(無論該計算機或處理器明確示出與否)執(zhí)行的各種過程。附圖標記:具體實施方式本文中,“例示”一詞在此處用于表示“作為示例、實例或例證”。此處,描述為“例示”的本技術(shù)方案任何實施方式或?qū)崿F(xiàn)方式并不一定應(yīng)理解為比其他實施方式優(yōu)選或有利的實施方式。雖然本發(fā)明的具體實施方式已在附圖中以例示方式對進行了展示且將在以下進行詳細描述,但本發(fā)明還可做出各種修飾和替代形式。應(yīng)該理解的是,本發(fā)明并不旨在局限于所公開的具體形式,相反,本發(fā)明意在涵蓋落入其精神和范圍內(nèi)的所有修改方案、等同方案及替代方案?!鞍ā币辉~或其任何其他變形詞旨在涵蓋非排除性的納入關(guān)系。如此,對于包括一系列部件或步驟的體系、裝置或方法而言,其并不只包括所述部件或步驟,而是可能包括其他未明確列出的部件或步驟,或者包括該體系、裝置或方法固有的部件或步驟。換言之,在“包括……”這一表述之后描述的系統(tǒng)或裝置中的一個或多個元件,在沒有其他限制的情況下,并不排除其他或額外元件在該系統(tǒng)或裝置中的存在。本發(fā)明涉及對包含多個測試用例的測試套件進行優(yōu)化的方法和系統(tǒng)。在一種實施方式中,所述多個測試用例接收自一個或多個數(shù)據(jù)源。所述方法識別出所述測試套件的多個測試用例中的一個或多個冗余及非冗余測試用例。通過將每個非冗余測試用例的測試描述和步驟與其他非冗余測試用例的測試描述和步驟進行比較,計算出所述非冗余測試用例中每個非冗余測試用例之間的相似度百分比。根據(jù)所述相似度百分比,所述非冗余測試用例被分組至各集群內(nèi)。此外,所述方法還從每個所述集群中識別出測試功能,從而確定出可重復(fù)使用測試功能。在識別出所述可重復(fù)使用測試功能之后,通過用所述可重復(fù)使用測試功能的標識替代每個所述測試用例,每個所述集群中的測試用例被重建,從而實現(xiàn)所述測試套件的優(yōu)化。以下參考附圖,對本發(fā)明的實施方式進行詳細描述。其中,所述附圖作為本文的一部分,以例示方式示出了可實現(xiàn)本發(fā)明的具體實施方式。這些實施方式的描述詳細程度足以讓本領(lǐng)域技術(shù)人員可對本發(fā)明進行實施,而且可以理解的是,在不脫離本發(fā)明范圍的前提下,還可利用其他實施方式,以及做出各種改變。因此,以下描述不應(yīng)視為具有限制意義。圖1a所示為根據(jù)本發(fā)明一些實施方式用于優(yōu)化包含多個測試用例的測試套件的例示環(huán)境。環(huán)境100包括測試套件轉(zhuǎn)化系統(tǒng)101、一個或多個用戶設(shè)備(用戶設(shè)備一1081~用戶設(shè)備n108n,統(tǒng)稱為用戶設(shè)備108)以及一個或多個數(shù)據(jù)源(數(shù)據(jù)源一1091~數(shù)據(jù)源n109n,統(tǒng)稱為數(shù)據(jù)源109)。所述一個或多個數(shù)據(jù)源109可包括,但不限于,測試管理系統(tǒng)(tms)。所述tms可進一步包括一個或多個測試管理工具,例如,惠普質(zhì)量中心(hpqualitycentre)、testlink、集成信息系統(tǒng)結(jié)構(gòu)(aris)模型等。在一種實施方式中,測試套件轉(zhuǎn)化系統(tǒng)101可在各種用戶設(shè)備108中實施,例如膝上型計算機、臺式計算機、個人計算機(pc)、筆記本電腦、智能電話、平板電腦、電子書閱讀器(例如各種kindle和nook閱讀器)、網(wǎng)絡(luò)節(jié)點、服務(wù)器、網(wǎng)絡(luò)服務(wù)器等。在一種實施方式中,測試套件轉(zhuǎn)化系統(tǒng)101包括i/o接口103、具有一個或多個處理單元的處理器105以及根據(jù)本發(fā)明一些實施方式的存儲器107。在一種實施方式中,i/o接口103為一種媒介,通過該媒介,可從所述一個或多個用戶設(shè)備108和/或一個或多個數(shù)據(jù)源109中接收包含有所述多個測試用例113(見圖1b)的測試套件。在一種實施方式中,i/o接口103用作一種媒介,通過該媒介,將所述測試套件的優(yōu)化結(jié)果提供至測試套件轉(zhuǎn)化系統(tǒng)101的顯示單元(圖1a中未示出)和/或所述一個或多個用戶設(shè)備108的相關(guān)顯示裝置。i/o接口103連接至處理器105。處理器105用于對包含有所述多個測試用例113的測試套件進行優(yōu)化。在一種實施方式中,存儲器107存有指令,該指令可由所述至少一個處理器105執(zhí)行,以實現(xiàn)對所述測試套件的優(yōu)化。在一種實施方式中,存儲器107存有數(shù)據(jù)111和模塊112(如圖1b中所示)。在一種實施方式中,測試套件轉(zhuǎn)化系統(tǒng)101可經(jīng)通信網(wǎng)絡(luò)(圖1a中未示出)以可通信方式連接于所述一個或多個用戶設(shè)備108以及所述一個或多個數(shù)據(jù)源109,以實現(xiàn)對包含有所述多個測試用例113的測試套件的優(yōu)化。在一種實施方式中,所述一個或多個用戶設(shè)備108與所述測試套件的一個或多個用戶相關(guān)聯(lián)。所述一個或多個用戶可包括,但不限于,參與包含所述多個測試用例113的測試套件的測試的業(yè)務(wù)分析員(ba)以及測試員等。所述一個或多個用戶設(shè)備108可包括,但不限于,膝上型計算機、臺式計算機、pc、筆記本電腦、智能電話、平板電話等。圖1b為根據(jù)本發(fā)明一些實施方式的測試套件轉(zhuǎn)化系統(tǒng)的示意框圖。此處,對保存于存儲器107內(nèi)的所述一個或多個數(shù)據(jù)111以及一個或多個模塊112進行詳細描述。在一種實施方式中,測試套件轉(zhuǎn)化系統(tǒng)101從一個或多個數(shù)據(jù)源109接收數(shù)據(jù)111。舉例而言,數(shù)據(jù)111可保存于存儲器107內(nèi)。在一種實施方式中,數(shù)據(jù)111包括測試用例113、測試數(shù)據(jù)115、相似度指數(shù)信息117、測試功能119、業(yè)務(wù)流程模型121以及其他數(shù)據(jù)123。其他數(shù)據(jù)123可存儲包括由模塊112生成的用于執(zhí)行測試套件轉(zhuǎn)化系統(tǒng)101的各種功能的臨時數(shù)據(jù)和臨時文件在內(nèi)的數(shù)據(jù)。在一種實施方式中,從一個或多個數(shù)據(jù)源109中的一個數(shù)據(jù)源接收多個測試用例113作為測試套件轉(zhuǎn)化系統(tǒng)101的輸入。所述測試用例為一系列測試步驟。每個測試步驟均規(guī)定了待由所述測試用例執(zhí)行的動作的步驟描述以及被執(zhí)行動作的預(yù)期結(jié)果。在一種實施方式中,所述多個測試用例113的一個或多個測試步驟可組合形成測試功能119。每個測試功能119均提供所述多個測試用例113的一個子功能。舉例而言,為某組織機構(gòu)的員工管理系統(tǒng)編寫的測試用例可包括一系列測試步驟,用于執(zhí)行該應(yīng)用程序的一個或多個功能。所述功能可包括,但不限于,驗證員工身份、驗證員工專用密碼、接收請假申請、更新員工記錄等。在此情況下,與某具體功能相關(guān)的一個或多個測試步驟可相互組合形成單一的測試功能119,從而簡化該測試用例。在一種實施方式中,測試數(shù)據(jù)115為執(zhí)行測試用例113所需的數(shù)據(jù)。在一種實施方式中,相似度指數(shù)信息117可包括一個或多個參數(shù),例如相似度百分比、用戶定義相似度指數(shù)、相似度標準、以及用于識別所述測試套件中一個或多個相似和/或冗余測試用例的其他相關(guān)參數(shù)。舉例而言,可通過將一個或多個非冗余測試用例中每一個的測試描述和步驟與所述測試套件中每一個其他非冗余測試用例的測試描述和步驟進行比較,計算出所述一個或多個非冗余測試用例中每個非冗余測試用例之間的相似度百分比。在一種實施方式中,業(yè)務(wù)流程模型121為將所述一個或多個非冗余測試用例中的每一個分類至所述測試套件中的多個等級并對其進行描述的流程圖模型。業(yè)務(wù)流程模型121有助于簡化分析以及對所述一個或多個非冗余用例進行改進,從而提高優(yōu)化處理速度。在一種實施方式中,保存于存儲器107內(nèi)的數(shù)據(jù)111由測試套件轉(zhuǎn)化系統(tǒng)101的模塊112處理。如圖1b所示,模塊112可保存于存儲器107內(nèi)。在一個實施例中,以可通信方式連接至處理器105的模塊112也可位于存儲器107的外部。在一種實施方式中,模塊112例如可包括接收模塊125、分析模塊127、冗余剔除模塊129、分組模塊131、重建模塊133以及變更管理模塊135。其它模塊137可用于執(zhí)行測試套件轉(zhuǎn)化系統(tǒng)101的各種其他功能??梢岳斫獾氖牵瞿K112既可表現(xiàn)為單個模塊,也可表現(xiàn)為不同模塊的組合。在一種實施方式中,接收模塊125從所述一個或多個數(shù)據(jù)源109接收包含所述多個測試用例113的測試套件。此外,接收模塊125還可接收所述多個測試用例113中的每一個執(zhí)行時所必需的一個或多個測試數(shù)據(jù)115。在一種實施方式中,所述多個測試用例113和測試數(shù)據(jù)115可以電子表格、文本文件等常用格式或作為數(shù)據(jù)庫保存于存儲器107內(nèi)。接收模塊125還可通過用戶設(shè)備108從所述測試套件的一個或多個用戶接收相似度指數(shù)信息117。在一種實施方式中,分析模塊127從接收模塊125獲取所述多個測試用例113和測試數(shù)據(jù)115,并對所接收的多個測試用例113和測試數(shù)據(jù)115實施初步分析。分析模塊127所實施的所述初步分析可通過比較所述多個測試用例113中每個測試用例的語法和語義,從所接收的測試用例中識別出一個或多個冗余測試用例。在一種實施方式中,冗余剔除模塊129通過對上述分析后的所述多個測試用例113進行掃描而將該多個測試用例113分組至各集群內(nèi)。冗余剔除模塊129首先將“,”、“.”、空格等一系列非文本字符從所述多個測試用例113和測試數(shù)據(jù)115中剔除。在一種實施方式中,待由冗余剔除模塊129剔除的所述非文本字符列表可作為用戶輸入經(jīng)i/o接口103接收。以下所示表a和表b說明了將一個或多個非文本字符自所述多個測試用例113和測試數(shù)據(jù)115中剔除的過程。完成所述非文本字符的剔除后,所述多個測試用例113中的每一個的一個或多個測試步驟被集總為單個測試字符串。在一種實施方式中,所述測試步驟為所述多個測試用例113中的一個測試用例的測試描述與該測試用例的預(yù)期執(zhí)行結(jié)果的組合。在一種實施方式中,由所述冗余剔除模塊129對所述多個測試用例113中每一個測試用例經(jīng)上述集總后所得的測試字符串進行比較。當多個測試用例113中的一個測試用例的測試字符串與其他測試用例中的一個測試用例的測試字符串相同時,前一個測試用例則被標記為冗余測試用例。此外,針對所述多個測試用例113中的每一個均重復(fù)上述測試字符串比較處理,并將冗余測試用例剔除。在一種實施方式中,可使用一個或多個機器學(xué)習(xí)和/或自然語言處理技術(shù)剔除所述冗余測試用例。通過使用該技術(shù),測試套件轉(zhuǎn)化系統(tǒng)101在一段時間之內(nèi)持續(xù)地學(xué)習(xí)所述剔除方法。舉例而言,對于“unableto”和“notableto”等語句而言,由于所述機器學(xué)習(xí)和/或自然語言技術(shù)將其理解為相同語句,因此測試套件轉(zhuǎn)化系統(tǒng)101也將其匹配為相同語句。在一種實施方式中,在將所述冗余測試用例中的每一個剔除后,根據(jù)所述測試套件中剩余的一個或多個非冗余測試用例中的每一個的測試字符串相似度百分比,該非冗余測試用例被分組至各集群內(nèi)。其中,所述相似度百分比是指各測試字符串的匹配程度。舉例而言,對于如“verifypositivelogintoapplication”和“verifynegativelogintoapplication”之類的兩個字符串,由于各字符串內(nèi)只有“positive”和“negative”兩個單詞分別有4個字母的不同,因此這兩個字符串的相似度百分比可以為89%。在一種實施方式中,根據(jù)上述所得各測試字符串之間的相似度百分比,可使用聚類算法(clusteringalgorithm),例如,但不限于,k-平均算法(k-means)將所述一個或多個非冗余用例的一個或多個測試字符串分類至一個或多個集群中。在一種實施方式中,可根據(jù)用戶定義相似度指數(shù),將所述一個或多個測試字符串分類至一個或多個集群中。舉例而言,用戶可要求80%的相似度指數(shù),這意味著所述一個或多個測試字符串中的每一個具有大于80%的相似度百分比的測試字符串可被分組至同一集群中。此外,還可經(jīng)i/o接口103將所述測試套件內(nèi)的待創(chuàng)建集群個數(shù)接收為來自用戶的可配置用戶輸入。在一種實施方式中,分組模塊131將所述一個或多個測試用例集群作為輸入接收,并將所述一個或多個集群中的每個集群內(nèi)的一個或多個非冗余測試用例分解為一系列稱為測試功能119的測試步驟塊。每個測試功能119均為用于執(zhí)行整個測試用例的一個小子集的一系列測試步驟。所述測試功能119也可通過使用所述自然語言處理技術(shù)對一個或多個測試步驟進行分析的方式獲得,從而實現(xiàn)以最大的概率識別所述一個或多個非冗余測試用例的一個或多個測試步驟之間的匹配。此外,所述自然語言技術(shù)還確保在兩個測試用例寫法不同時,即使各測試用例的語法上存在一些差異,仍舊能以較高的概率識別可重復(fù)使用測試功能。在一種實施方式中,分組模塊131從所述一個或多個集群中的每個集群內(nèi)的一個或多個測試功能119中識別一個或多個可重復(fù)使用測試功能。其中,可通過先識別出具有最大測試字符串長度的源測試功能,然后將每個其他測試功能119與該源測試功能比較的方式,判斷所述一個或多個可重復(fù)使用測試功能。當檢測到完全匹配時,先將所述源測試功能標記為可重復(fù)使用測試功能,然后將與之匹配的所述測試功能從所述測試套件中剔除和/或移除。在一種實施方式中,重建模塊133對由分組模塊131識別的每個可重復(fù)使用測試功能進行重建。在該重建過程中,如上所述,對于測試用例中的重復(fù)測試步驟,使用相應(yīng)可重復(fù)使用測試功能的標識將其替代。舉例而言,對于表a所示的四個具有一個或多個測試步驟以及每個測試步驟的相應(yīng)步驟描述的測試用例tc1~tc4,先由冗余剔除模塊129對這些測試用例tc1~tc4中的每一個進行掃描,以識別并剔除其一個或多個測試步驟和步驟描述中的一個或多個非文本字符。下表b中所示為所述測試用例(tc1~tc4)及其相應(yīng)的不含所述非文本字符的測試步驟、步驟描述以及執(zhí)行所述測試步驟時的預(yù)期結(jié)果。其中,每個測試用例tc1~tc4的測試步驟個數(shù)可隨該測試用例的設(shè)計目的不同而不同。此外,從表b中可以看出,每個測試用例tc1~tc4的測試步驟1~3因執(zhí)行相同任務(wù)而可被標記為重復(fù)測試步驟。類似地,測試用例tc1的測試步驟4和測試步驟5與測試用例tc2、tc3和tc4的測試步驟7和測試步驟8也相同。表a表b在實施方式中,為了移除一個或多個測試用例中的相同/重復(fù)測試步驟,重建模塊133可將每個重復(fù)測試步驟分組至同一測試塊(block)內(nèi),該測試塊稱為可重復(fù)使用測試塊。檢測出可重復(fù)使用測試塊后,重建模塊133將所述一個或多個重復(fù)測試塊中的每個測試塊由所述可重復(fù)使用測試塊的標識替代,以剔除所述測試用例中的重復(fù)步驟。以下表c所示為用所述可重復(fù)使用測試步驟(tc1的步驟1~步驟3,以及tc1的步驟4~步驟5)將每個重復(fù)測試步驟(tc2~tc4的步驟1~步驟3,以及tc2~tc4的步驟7和步驟8)替代后重建的測試用例tc1~tc4。表c在一種實施方式中,在重建所述一個或多個集群內(nèi)的一個或多個非冗余測試用例后,還以圖示方式將此表顯示于業(yè)務(wù)流程模型121中。業(yè)務(wù)流程模型121通過對所述一個或多個集群內(nèi)的每個集群的一個或多個測試用例進行掃描的方式生成。業(yè)務(wù)流程模型121以圖形表示法(例如圖2a所示的表現(xiàn)方式)對所述一個或多個集群內(nèi)的一個或多個非冗余測試用例中每個測試用例之間的交互關(guān)系進行描述。圖2a為所述一個或多個可重復(fù)使用測試功能之間交互關(guān)系的例示表現(xiàn)圖。其中,測試功能1與測試功能2、測試功能6以及測試功能9相關(guān),而測試功能2、測試功能6以及測試功能9進一步與測試功能7相關(guān)。在一種實施方式中,在生成一個或多個測試集群中每個測試集群的一個或多個測試用例中的每個測試用例的一個或多個業(yè)務(wù)流程模型121之后,將所述測試集群分組,從而獲得整體業(yè)務(wù)模型。所述整體業(yè)務(wù)模型只包括構(gòu)成所述測試套件的集群,因此可實現(xiàn)該測試套件的優(yōu)化。如圖2b所示,集群1和集群2形成整體的集群1-2,集群2和集群3形成整體的集群2-3,而集群1、2和3形成首位相接的測試集群1-2-3。此整體業(yè)務(wù)模型實現(xiàn)了對所述系統(tǒng)的整體觀感。在一種實施方式中,測試套件轉(zhuǎn)化系統(tǒng)101利用變更管理模塊135對所述測試套件實施一個或多個變更管理操作,以識別該測試套件中重建和/或變更后的測試用例。圖2c所示為識別變更后測試用例的方法。在框體201中,通過對所述測試套件中一個或多個重建后測試用例中的每一個進行解析的方式,生成一個或多個測試用例。在框體203中,將所述一個或多個新測試用例中的每一個與所述測試套件中已有的一個或多個測試用例進行比較,以求出所述已有和新測試用例之間的匹配比例。在框體205中,根據(jù)求出的匹配比例,為所述一個或多個新測試用例中的每個新測試用例均分配一預(yù)定顏色。舉例而言,所有的100%匹配均設(shè)為“綠色”,以表示無需對此類測試用例做出任何變更。類似地,每個與所述已有測試用例部分匹配的新測試用例均設(shè)為“琥珀色”,以表示還需對此類測試用例執(zhí)行一個或多個其他動作。部分匹配可見于包括,但不限于,下述情形在內(nèi)的各種情形中:測試用例的測試功能119的原始序列中丟失了關(guān)鍵測試功能;測試用例的測試功能119的序列中加入了新測試功能;以及測試用例的測試功能119的序列中加入和/或移除了多個測試功能。在另一實施方式中,所述一個或多個測試用例的測試功能119的全新序列設(shè)為“空白”,以表示這些測試用例將進一步轉(zhuǎn)譯為新測試用例。類似地,所述一個或多個被剔除測試功能119設(shè)為“紅色”,以表示這些測試用例將從所述測試套件內(nèi)的測試用例中刪除。在框體207中,使用比較后的上述一個或多個新測試用例對所述測試套件進行更新,從而實現(xiàn)以所述一個或多個優(yōu)化測試用例加強所述測試套件的目的。圖3為根據(jù)本發(fā)明一些實施方式對含多個測試用例的測試套件進行優(yōu)化的方法的示意流程圖。如圖3所示,方法300包括利用測試套件轉(zhuǎn)化系統(tǒng)101對測試套件進行優(yōu)化的一個或多個框體。方法300可在計算機可執(zhí)行指令的一般語境中描述。一般而言,計算機可執(zhí)行指令可包括用于執(zhí)行特定功能或?qū)崿F(xiàn)特定抽象數(shù)據(jù)類型的例程、程序、對象、組件、數(shù)據(jù)結(jié)構(gòu)、過程、模塊和功能。方法300的描述順序并不旨在于理解為限制,而且為了實施該方法,所述方法框體可具有任意數(shù)量且可以任何順序組合。另外,在不脫離本文所述技術(shù)方案的精神和范圍的前提下,可將各個框體從所述方法中刪除。此外,所述方法可在任何合適的硬件、軟件、固件或其組合中實施。在框體301中,測試套件轉(zhuǎn)化系統(tǒng)101通過接收模塊125從一個或多個數(shù)據(jù)源109接收所述多個測試用例113。每個所接收測試用例均包括測試描述和一個或多個測試步驟,而且保存于測試套件轉(zhuǎn)化系統(tǒng)101的存儲器107中。舉例而言,所述一個或多個數(shù)據(jù)源109可包括,但不限于,測試管理系統(tǒng)、存有多個測試用例113的存儲單元以及測試管理工具中的至少一個。在框體303中,測試套件轉(zhuǎn)化系統(tǒng)101從所述測試套件內(nèi)的多個測試用例113中識別出一個或多個冗余測試用例及一個或多個非冗余測試用例中的至少一個。如果檢測出所述多個測試用例113的測試描述和測試步驟與所述測試套件中的一個或多個其他測試用例的測試描述和測試步驟的相似度為95%時,則認為所述測試套件中的所述多個測試用例113為冗余測試用例。在一種實施方式中,所述一個或多個冗余測試用例被剔除出所述測試套件。在框體305中,測試套件轉(zhuǎn)化系統(tǒng)101通過將所述一個或多個非冗余測試用例中每個非冗余測試用例的測試描述和測試步驟與每個其他非冗余測試用例的測試描述和測試步驟相比較,計算所述一個或多個非冗余測試用例中每個非冗余測試用例之間的相似度百分比。在框體307中,測試套件轉(zhuǎn)化系統(tǒng)101根據(jù)所述將相似度百分比,將所述一個或多個非冗余測試用例中的每個非冗余測試用例分組至一個或多個集群內(nèi)。在一種實施方式中,每個所述測試用例中的測試步驟的測試描述、測試步驟以及預(yù)期結(jié)構(gòu)的組合被集總為單個字符串。可對不同測試用例的此類數(shù)據(jù)字符串進行檢查,而且當發(fā)現(xiàn)描述和步驟均相同時,將相應(yīng)冗余測試用例在分組前從所述測試套件中剔除。在框體309中,測試套件轉(zhuǎn)化系統(tǒng)101從所述一個或多個集群中的每個集群內(nèi)識別出一個或多個測試功能119,從而確定所述一個或多個集群中的每個集群內(nèi)的一個或多個可重復(fù)使用測試功能。測試功能119為用于執(zhí)行整個測試用例的一個小子集的一系列測試步驟。測試功能119通過自然語言處理和機器學(xué)習(xí)技術(shù)中的至少一個被識別。在框體311中,測試套件轉(zhuǎn)化系統(tǒng)101通過用所述識別出的一個或多個可重復(fù)使用測試功能的標識替代所述多個測試用例113中每個測試用例的方式,對所述一個或多個集群中每個集群內(nèi)的多個測試用例113進行重建。所述一個或多個可重復(fù)使用測試功能的標識為指向所述一個或多個可重復(fù)使用測試功能在所述一個或多個集群內(nèi)的位置的路徑。在一種實施方式中,測試套件轉(zhuǎn)化系統(tǒng)101可進一步包括,針對所述一個或多個可重復(fù)使用測試功能當中的每個測試功能,均生成一個或多個業(yè)務(wù)流程模型121,其中,所述一個或多個業(yè)務(wù)流程模型121中的每個業(yè)務(wù)流程模型均進一步用于生成整體業(yè)務(wù)模型,已獲得所述測試套件的整體觀感。計算機系統(tǒng)圖4為用于實施符合本發(fā)明實施方式的例示計算機系統(tǒng)400的框圖。在一種實施方式中,計算機系統(tǒng)400用于通過測試套件轉(zhuǎn)化系統(tǒng)101對含多個測試用例113的測試套件進行優(yōu)化。計算機系統(tǒng)400可包括中央處理單元(“cpu”或“處理器”)105。處理器105可包括至少一個用于執(zhí)行程序組件的數(shù)據(jù)處理器,所述程序組件用于執(zhí)行用戶或系統(tǒng)生成的請求。用戶可包括個人,使用設(shè)備(例如,本發(fā)明范圍內(nèi)的設(shè)備)的個人或此類設(shè)備本身。處理器105可包括專用處理單元,例如集成系統(tǒng)(總線)控制器、存儲器管理控制單元、浮點單元、圖形處理單元、數(shù)字信號處理單元等。處理器105可配置為通過輸入/輸出(i/o)接口103與一個或多個i/o設(shè)備(411和412)進行通信。i/o接口103可采用通信協(xié)議/方法,例如但不限于,音頻、模擬、數(shù)字、立體聲、ieee-1394、串行總線、通用串行總線(usb)、紅外、ps/2、bnc、同軸、組件、復(fù)合、數(shù)字視覺接口(dvi)、高清晰度多媒體接口(hdmi)、射頻(rf)天線、s-視頻,vga、ieee802.n/b/g/n/x、藍牙、蜂窩(例如碼分多址(cdma)、高速分組接入(hspa+)、移動通信全球系統(tǒng)(gsm)、長期演進(lte)、wimax等)等。通過i/o接口103,計算機系統(tǒng)400可與一個或多個i/o設(shè)備(411和412)進行通信。在一些實施方式中,處理器105可配置為通過網(wǎng)絡(luò)接口403與通信網(wǎng)絡(luò)409進行通信。網(wǎng)絡(luò)接口403可與通信網(wǎng)絡(luò)409通信。網(wǎng)絡(luò)接口403可采用連接協(xié)議,包括但不限于,直接連接、以太網(wǎng)(例如雙絞線10/100/1000baset)、傳輸控制協(xié)議/網(wǎng)際協(xié)議(tcp/ip)、令牌環(huán)、ieee802.11a/b/g/n/x等。通過網(wǎng)絡(luò)接口403以及通信網(wǎng)絡(luò)409,計算機系統(tǒng)400可與一個或多個用戶設(shè)備1081~108n通信。通信網(wǎng)絡(luò)409可實施為內(nèi)部網(wǎng)路或局域網(wǎng)(lan)以及所述組織結(jié)構(gòu)內(nèi)的此類網(wǎng)絡(luò)等不同類型網(wǎng)絡(luò)中的其中一種網(wǎng)絡(luò)。通信網(wǎng)絡(luò)409既可以為專用網(wǎng)絡(luò),也可以為共享網(wǎng)絡(luò),所述共享網(wǎng)絡(luò)表示使用超文本傳輸協(xié)議(http)、傳輸控制協(xié)議/網(wǎng)際協(xié)議(tcp/ip)、無線應(yīng)用協(xié)議(wap)等各種協(xié)議相互通信的上述不同類型網(wǎng)絡(luò)的聯(lián)合。此外,通信網(wǎng)絡(luò)409可包括路由器、橋接器、服務(wù)器、計算設(shè)備、存儲設(shè)備等各種網(wǎng)絡(luò)設(shè)備。所述一個或多個用戶設(shè)備108可包括,但不限于,個人計算機以及蜂窩電話、智能電話、平板電腦、電子書閱讀器、膝上型計算機、筆記本電腦、游戲機等移動設(shè)備。在一些實施方式中,處理器105可配置為通過存儲接口404與存儲器107(例如圖4中未示出的ram、rom等)通信。存儲接口404可采用串行高級技術(shù)連接(sata)、集成驅(qū)動電子設(shè)備(ide)、ieee1394、通用串行總線(usb)、光纖通道、小型計算機系統(tǒng)接口(scsi)等連接協(xié)議連接至存儲器107,該存儲設(shè)備包括,但不限于,存儲驅(qū)動器、可移除磁盤驅(qū)動器等。所述存儲驅(qū)動器還可包括磁鼓、磁盤驅(qū)動器、磁光驅(qū)動器、光盤驅(qū)動器、獨立磁盤冗余陣列(raid)、固態(tài)存儲設(shè)備、固態(tài)驅(qū)動器等。存儲器107可存儲一系列程序或數(shù)據(jù)庫組件,包括但不限于,用戶界面應(yīng)用程序406、操作系統(tǒng)407、網(wǎng)頁瀏覽器408等。在一些實施方式中,計算機系統(tǒng)400可存儲用戶/應(yīng)用程序數(shù)據(jù)406(例如本發(fā)明中所述數(shù)據(jù)、變量、記錄等)。此類數(shù)據(jù)庫可以為容錯、關(guān)系、可擴展、安全數(shù)據(jù)庫,例如甲骨文(oracle)或賽貝斯(sybase)。操作系統(tǒng)407可促進計算機系統(tǒng)400的資源管理和運行。操作系統(tǒng)例如包括,但不限于,蘋果macintoshosx、unix、類unix系統(tǒng)套件(例如伯克利軟件套件(bsd)、freebsd、netbsd、openbsd等)、linux套件(如紅帽(redhat)、ubuntu、kubuntu等)、國際商業(yè)機器股份有限公司(ibm)os/2、微軟windows(xp,vista/7/8等)、蘋果ios、谷歌(google)安卓、黑莓操作系統(tǒng)等。用戶界面406可利用文本或圖形工具促進程序組件的顯示、執(zhí)行、互動、操控或操作。例如,用戶界面可在以可操作方式連接至計算機系統(tǒng)400的顯示系統(tǒng)上提供光標、圖標、復(fù)選框、菜單、滾動條、窗口、窗口部件等計算機交互界面元件。還可采用圖形用戶界面(gui),包括但不限于,蘋果macintosh操作系統(tǒng)的aqua、ibmos/2、微軟windows(例如aero、metro等)、unixx-windows、網(wǎng)頁界面庫(例如activex、java、javascript、ajax、html、adobeflash等)等。在一些實施方式中,計算機系統(tǒng)400可執(zhí)行網(wǎng)頁瀏覽器408存儲的程序組件。所述網(wǎng)頁瀏覽器可以為超文本瀏覽應(yīng)用程序,如微軟網(wǎng)絡(luò)探路者(internetexplorer)、谷歌瀏覽器(chrome)、謀智火狐(mozillafirefox)、蘋果瀏覽器(safari)等。安全網(wǎng)頁瀏覽可通過https(安全超文本傳輸協(xié)議)、安全套接字層(ssl)、安全傳輸層(tls)等實現(xiàn)。網(wǎng)頁瀏覽器可使用ajax、dhtml、adobeflash、javascript、java、應(yīng)用程序編程接口(api)等工具。在一些實施方式中,計算機系統(tǒng)400可執(zhí)行郵件服務(wù)器存儲的程序組件。所述郵件服務(wù)器可以為微軟exchange等因特網(wǎng)郵件服務(wù)器。所述郵件服務(wù)器可使用動態(tài)服務(wù)器網(wǎng)頁(asp)、activex、美國國家標準學(xué)會(ansi)c++/c#、微軟.net、cgi腳本、java、javascript、perl、php、python、webobjects等工具。所述郵件服務(wù)器還可使用因特網(wǎng)信息訪問協(xié)議(imap)、郵件應(yīng)用程序編程接口(mapi)、微軟exchange、郵局協(xié)議(pop)、簡單郵件傳輸協(xié)議(smtp)等通信協(xié)議。在一些實施方式中,計算機系統(tǒng)400可執(zhí)行郵件客戶端存儲的程序組件。所述郵件客戶端可為蘋果mail、微軟entourage、微軟outlook、謀智thunderbird等郵件查看程序。此外,一個或多個計算機可讀存儲介質(zhì)可用于實施符合本發(fā)明的實施方式。計算機可讀存儲介質(zhì)是指可對處理器可讀取的信息或數(shù)據(jù)進行存儲的任何類型的物理存儲器。因此,計算機可讀存儲介質(zhì)可對由一個或多個處理器執(zhí)行的指令進行存儲,包括用于使處理器執(zhí)行根據(jù)本申請實施方式的步驟或階段的指令?!坝嬎銠C可讀介質(zhì)”一詞應(yīng)理解為包括有形物件且不包括載波及瞬態(tài)信號,即為非臨時性介質(zhì),例如隨機存取存儲器(ram)、只讀存儲器(rom)、易失性存儲器、非易失性存儲器、硬盤驅(qū)動器、只讀光盤存儲器(cd-rom)、數(shù)字視頻光盤(dvd)、閃存驅(qū)動器、磁盤以及其他任何已知物理存儲介質(zhì)。以下,對本發(fā)明實施方式的優(yōu)點進行描述。在一種實施方式中,本發(fā)明提供一種對含多個測試用例的測試套件進行優(yōu)化的方法。在一種實施方式中,本發(fā)明提供一種不損失測試數(shù)據(jù)的更佳的現(xiàn)有測試套件表現(xiàn)方法。在一種實施方式中,本發(fā)明使產(chǎn)品/軟件應(yīng)用程序/軟件系統(tǒng)在更短的回歸測試周期內(nèi)以更快的速度測試和推出,從而保證所述產(chǎn)品/軟件應(yīng)用程序/軟件系統(tǒng)以更快速度上市。在一種實施方式中,本發(fā)明提供一種方法,該方法使回歸套件的更新和維護所需時間最小化,從而使得每一測試周期所需維護工作得到優(yōu)化。除非另有明確說明,“一實施方式”、“實施方式”、“多種實施方式”、“所述實施方式”、“所述多種實施方式”、“一種或多種實施方式”、“一些實施方式”以及“一種實施方式”各詞均表示“本發(fā)明的一種或多種(而非全部)實施方式”的意思。除非另有明確說明,“包括”、“包含”以及“具有”各詞及其變形詞均表示“包括,但不限于”的意思。除非另有明確說明,項目的枚舉列單并不意味著任何或所有項目具有相互排他關(guān)系。除非另有明確說明,“一”,“一個”和“所述”各詞均表示“一個或多個”的意思。描述為具有多個相互間有聯(lián)系的部件的實施方式并不意味著所有此類部件均為必需部件。相反地,其描述的是,還具有多種可選組件用于實現(xiàn)本發(fā)明的各種各樣的可能實施方式。本文中,一旦有對單個設(shè)備或物件的描述,則可隨即明白的是,所述單個設(shè)備/物件可由多于一個的所述設(shè)備/物件(無論其之間是否均有協(xié)作關(guān)系)代替。類似地,本文中一旦有對多于一個的設(shè)備或物件(無論其之間是否均有協(xié)作關(guān)系)的描述,則可隨即明白的是,所述多于一個的設(shè)備或物件可由單個設(shè)備/物件代替,或者所示數(shù)量的設(shè)備或程序可由不同數(shù)量的設(shè)備/物件代替。此外,某個設(shè)備的功能和/或特征可由一個或多個未明確描述為具有此類功能/特征的其他設(shè)備代為實現(xiàn)。因此,本發(fā)明的其它實施方式無需包括該設(shè)備本身。最后,本說明書所選的行文方式主要在于可讀性和教示目的,且可能并不在于細述或限制本發(fā)明技術(shù)方案。因此,本發(fā)明范圍并不意在由此《具體實施方式》限制,而是由基于此部分提出申請的任何權(quán)利要求所界定。相應(yīng)地,本發(fā)明實施方式的發(fā)明意在于說明而非限制本發(fā)明范圍,而且本發(fā)明范圍如下附權(quán)利要求所述。雖然此處公開了各個方面及各種實施方式,但是對于本領(lǐng)域技術(shù)人員而言,其他方面及實施方式為容易理解的。本文所公開的各個方面及各種實施方式出于說明而非限制目的,而本發(fā)明的真正范圍及精神如下附權(quán)利要求所述。當前第1頁12當前第1頁12
當前第1頁1 2 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
柏乡县| 都昌县| 西城区| 沂南县| 惠安县| 鄄城县| 宿松县| 柞水县| 大荔县| 佳木斯市| 红河县| 宁武县| 甘南县| 静宁县| 九江市| 延庆县| 海原县| 客服| 凌云县| 通化县| 临桂县| 屏山县| 建水县| 古蔺县| 梁河县| 武宣县| 峡江县| 图们市| 固原市| 宁国市| 乐亭县| 张北县| 新泰市| 镇康县| 瑞金市| 通榆县| 大冶市| 辽宁省| 井冈山市| 石家庄市| 饶河县|