專利名稱:一種基于hsml的自動(dòng)化測(cè)試方法
技術(shù)領(lǐng)域:
本發(fā)明屬于數(shù)字家庭技術(shù)領(lǐng)域,具體涉及一種基于HSML的自動(dòng)化測(cè)試方法。
背景技術(shù):
隨著數(shù)字電視相關(guān)技術(shù)的不斷發(fā)展和完善,以及數(shù)字化產(chǎn)品和信息服務(wù)在家庭 中的不斷滲透和日益融合,數(shù)字電視互動(dòng)應(yīng)用也日趨豐富和多樣。數(shù)字電視互動(dòng)應(yīng)用和 服務(wù)有著巨大的市場(chǎng)需求。然而,目前對(duì)于數(shù)字電視互動(dòng)應(yīng)用的頁(yè)面標(biāo)記并沒(méi)有統(tǒng)一的標(biāo)準(zhǔn),各個(gè)廠商在 頁(yè)面渲染、頁(yè)面標(biāo)記元素解析、頁(yè)面信息交換和傳輸?shù)确矫嬗兄艽蟮牟町悾⑶翼?yè)面 標(biāo)記的實(shí)現(xiàn)方式與各廠商具體的設(shè)備和系統(tǒng)硬件緊密耦合。頁(yè)面標(biāo)記技術(shù)和實(shí)現(xiàn)方式的 不統(tǒng)一,導(dǎo)致了同一個(gè)應(yīng)用不能在不同廠商的終端設(shè)備上運(yùn)行,同時(shí)不同的應(yīng)用之間也 難以進(jìn)行信息的共享和數(shù)據(jù)的交換,這極大地阻礙了數(shù)字電視互動(dòng)應(yīng)用的發(fā)展和普及。當(dāng)前,在研究和分析國(guó)內(nèi)外主流的數(shù)字電視中間件標(biāo)準(zhǔn)和中間件產(chǎn)品所采用的 數(shù)字電視互動(dòng)應(yīng)用頁(yè)面標(biāo)記方式在具體應(yīng)用中存在的不足基礎(chǔ)上,同時(shí)結(jié)合目前國(guó)內(nèi)數(shù) 字電視互動(dòng)應(yīng)用的實(shí)際應(yīng)用和需求情況,研究和制定了數(shù)字電視互動(dòng)應(yīng)用頁(yè)面標(biāo)記語(yǔ)言 (HSML, Home Service Markup Language)規(guī)范。為了對(duì)該標(biāo)記語(yǔ)言進(jìn)行更好的驗(yàn)證和更改,一般需要進(jìn)行測(cè)試,因此希望能提 供一種較好的測(cè)試方法。
發(fā)明內(nèi)容
本發(fā)明要解決的技術(shù)問(wèn)題是提供一種基于HSML的自動(dòng)化測(cè)試方法,能很方便 的對(duì)HSML功能、性能、支持情況等進(jìn)行測(cè)試,得出的實(shí)驗(yàn)數(shù)據(jù)也方便對(duì)HSML的測(cè)試 結(jié)果評(píng)估。本發(fā)明提供的技術(shù)方案如下本發(fā)明提供一種基于HSML的自動(dòng)化測(cè)試方法,包括步驟101 搭建測(cè)試代碼結(jié)構(gòu);步驟102 編寫(xiě)測(cè)試用例;步驟103 編寫(xiě)自動(dòng)化測(cè)試腳步;步驟104 執(zhí)行測(cè)試腳步;步驟105:根據(jù)要求進(jìn)行自動(dòng)化測(cè)試效果評(píng)估,如果該語(yǔ)言測(cè)試效果達(dá)到要求 則轉(zhuǎn)到步驟106,否則轉(zhuǎn)到步驟102 ;步驟106:該語(yǔ)言已通過(guò)自動(dòng)化測(cè)試,滿足要求。其中,所述步驟1010根據(jù)HSML標(biāo)準(zhǔn),按照該HSML語(yǔ)言的各項(xiàng)功能為基點(diǎn)搭
建測(cè)試代碼結(jié)構(gòu)。其中,所述步驟102根據(jù)所需支持的標(biāo)簽和屬性,對(duì)該語(yǔ)言編寫(xiě)測(cè)試用例。其中,所述步驟103根據(jù)步驟102所編寫(xiě)的測(cè)試用例集、步驟101的測(cè)試代碼結(jié)構(gòu),編寫(xiě)相關(guān)測(cè)試用例的自動(dòng)化測(cè)試的驅(qū)動(dòng)腳本。其中,所述步驟104是采用開(kāi)源自動(dòng)化測(cè)試工具來(lái)執(zhí)行腳本,測(cè)試在腳本執(zhí)行 后自動(dòng)執(zhí)行。上述技術(shù)方案可以看出本發(fā)明實(shí)施例采用了 HSML的自動(dòng)化測(cè)試方法,通過(guò)該方法,測(cè)試工程師可以 很方便的對(duì)HSML的功能、性能各方面進(jìn)行自動(dòng)化測(cè)試,減少人工干預(yù),提高測(cè)試效率。
為了更清楚地說(shuō)明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)實(shí)施例或 現(xiàn)有技術(shù)描述中所需要使用的附圖作簡(jiǎn)單地介紹,顯而易見(jiàn)地,下面描述中的附圖僅僅 是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來(lái)講,在不付出創(chuàng)造性勞動(dòng)的前提 下,還可以根據(jù)這些附圖獲得其它的附圖。圖1是本發(fā)明的自動(dòng)化測(cè)試總體流程圖;圖2是本發(fā)明的測(cè)試框架圖;圖3是本發(fā)明的測(cè)試評(píng)測(cè)方法具體實(shí)施例方式下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、 完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施 例。基于本發(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒(méi)有作出創(chuàng)造性勞動(dòng)前提下所獲得 的所有其它實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。本發(fā)明實(shí)施例提供一種基于HSML的自動(dòng)化測(cè)試方法,能很方便的對(duì)HSML功 能、性能、支持情況等進(jìn)行測(cè)試,得出的實(shí)驗(yàn)數(shù)據(jù)也方便對(duì)HSML的測(cè)試結(jié)果評(píng)估。概括而言,本發(fā)明的方法,包括了整個(gè)自動(dòng)化測(cè)試整體流程、測(cè)試模塊、測(cè)試 報(bào)告整體框架三個(gè)方面。自動(dòng)化測(cè)試總體流程中各流程之間存在相互依賴關(guān)系,整個(gè)流程從該語(yǔ)言的目 的與意義出發(fā)以此為基點(diǎn)出發(fā),再對(duì)該語(yǔ)言的背景做進(jìn)一步的認(rèn)識(shí)了解,提高對(duì)該語(yǔ)言 的認(rèn)識(shí)后再詳細(xì)了解該語(yǔ)言的各項(xiàng)功能(如對(duì)W3C的支持情況等)。在以上對(duì)HSML 了 解的基礎(chǔ)上,提出該語(yǔ)言合適的測(cè)試方案,再根據(jù)測(cè)試方案對(duì)HSML設(shè)計(jì)具體的測(cè)試用 例。對(duì)HSML的測(cè)試分為對(duì)W3C標(biāo)準(zhǔn)的支持和對(duì)擴(kuò)展標(biāo)簽的支持。以TestCase作為框 架的中心設(shè)計(jì)自動(dòng)化測(cè)試的框架,采用多種模式相結(jié)合的方法設(shè)計(jì)測(cè)試用例。同時(shí),利 用面向?qū)ο蟮姆椒ㄟM(jìn)行調(diào)用相關(guān)的類和方法。上述方式可以大大提高測(cè)試代碼的可重用 性。根據(jù)自動(dòng)化測(cè)試得出測(cè)試效果,最后根據(jù)測(cè)試評(píng)測(cè)方法對(duì)該自動(dòng)化測(cè)試進(jìn)行評(píng)估。以下結(jié)合附圖對(duì)本發(fā)明方法分別進(jìn)行詳細(xì)說(shuō)明。如圖1所示的是本發(fā)明的自動(dòng)化測(cè)試總體流程,流程之間存在相互依賴關(guān)系。步驟101 搭建測(cè)試代碼結(jié)構(gòu);根據(jù)HSML標(biāo)準(zhǔn),按照該HSML語(yǔ)言的各項(xiàng)功能(如對(duì)W3C的支持情況等)為 基點(diǎn)搭建測(cè)試代碼的結(jié)構(gòu),然后轉(zhuǎn)到步驟102;
步驟102 編寫(xiě)測(cè)試用例;根據(jù)所需支持的標(biāo)簽和屬性,對(duì)該語(yǔ)言進(jìn)行測(cè)試用例的編寫(xiě),然后轉(zhuǎn)到103 ;步驟103 編寫(xiě)自動(dòng)化測(cè)試腳步;根據(jù)上述步驟102所編寫(xiě)的測(cè)試用例集、步驟101所述的測(cè)試代碼結(jié)構(gòu),編寫(xiě)相 關(guān)測(cè)試用例的自動(dòng)化測(cè)試的驅(qū)動(dòng)腳本,完成這些后轉(zhuǎn)到步驟104 ;步驟104 執(zhí)行測(cè)試腳步;采用開(kāi)源的jsunit或者google的開(kāi)源自動(dòng)化測(cè)試工具來(lái)執(zhí)行腳本,測(cè)試在腳本執(zhí) 行后自動(dòng)執(zhí)行,然后轉(zhuǎn)到步驟105;步驟105 根據(jù)要求進(jìn)行自動(dòng)化測(cè)試效果評(píng)估;根據(jù)預(yù)先制定的標(biāo)準(zhǔn)和要求,對(duì)支持的結(jié)果進(jìn)行測(cè)試與評(píng)估,如果該語(yǔ)言測(cè)試 效果達(dá)到要求則轉(zhuǎn)到步驟106,表示該語(yǔ)言通過(guò)自動(dòng)化測(cè)試,滿足要求,否則轉(zhuǎn)到步驟 102,通過(guò)對(duì)測(cè)試用例做再次代碼修改或者編寫(xiě),再進(jìn)行103、104、105步驟; 步驟106 該語(yǔ)言通過(guò)自動(dòng)化測(cè)試。如圖2所示,為本發(fā)明自動(dòng)化測(cè)試框架圖。對(duì)HSML語(yǔ)言的自動(dòng)化測(cè)試主要分為對(duì)W3C標(biāo)準(zhǔn)的支持和對(duì)擴(kuò)展標(biāo)簽的支持。首先從201測(cè)試用例開(kāi)始,創(chuàng)建一個(gè)對(duì)象來(lái)表示基礎(chǔ)概念測(cè)試用例。并以命 令模式204滿足需要,該模式把請(qǐng)求封裝成對(duì)象,對(duì)象里包含有一個(gè)“執(zhí)行(excute) ”方 法。請(qǐng)求者通過(guò)對(duì)象去調(diào)用該方法。然后進(jìn)入Composite模式203,即組合測(cè)試用例,稱為測(cè)試套件(TestSuite)。206 用vector存放它的孩子。測(cè)試客戶要向測(cè)試套件添加測(cè)試,直接調(diào)用addTest方法即可, 205和206都遵從同一個(gè)Test接口,因此206可以遞歸的包含205和206。開(kāi)發(fā)人員通過(guò) 該套件運(yùn)行所有的測(cè)試。同樣,為206增加了一個(gè)構(gòu)造器,它用205的類作為其參數(shù),它的作用就是提取 這個(gè)類中的所有測(cè)試方法,并創(chuàng)建一個(gè)測(cè)試套件,把這些提取出來(lái)的測(cè)試方法放進(jìn)所創(chuàng) 建的測(cè)試套件中。但這些測(cè)試方法要遵守一個(gè)簡(jiǎn)單的協(xié)定,即方法命名以“test”作為 前綴,且不帶參數(shù)。這個(gè)框架中,205是“模式密集(pattern density) ”的,它是框架的中心,與其
它支持角色有很強(qiáng)的關(guān)聯(lián)。圖中,204模式創(chuàng)建了 TestCase類,208模式創(chuàng)建了 ran方法。Adapter模式的意圖就是,將一個(gè)已經(jīng)存在的接口轉(zhuǎn)變?yōu)榭蛻羲枰慕涌?。這 符合我們的需要,Adapter有幾種不同的方式做到這一點(diǎn)。一個(gè)方式就是類適配216, 就是用子類來(lái)適配接口,具體說(shuō)就是,用一個(gè)子類來(lái)繼承已有的類,用已有類中的方法 來(lái)構(gòu)造客戶所需要的新的方法。例如,要將testMoneyequals適配為ranTest,我們繼承 MoneyTest 類,覆寫(xiě) ranTest 方法。最簡(jiǎn)單的可插入行為(pluggable behavior)形式是可插入選擇子(PluggableSelector)。
在SmallTalk中,212是一個(gè)變量,它指向一個(gè)方法,是一個(gè)方法指針。在Java中沒(méi)有方法選 擇子的概念,但Java的反射(reflection)API能根據(jù)方法名這個(gè)字符串來(lái)調(diào)用方法,由于涉及底 層結(jié)構(gòu)框架,本發(fā)明利用Java的反射特性實(shí)現(xiàn)Pluggable Selector。如圖3所示是本發(fā)明自動(dòng)化測(cè)試評(píng)測(cè)的一些規(guī)范。
圖示301軟件測(cè)試評(píng)測(cè)的主要評(píng)測(cè)方法包括302質(zhì)量評(píng)測(cè)和303覆蓋評(píng)測(cè)。303是對(duì)測(cè)試完全程度的評(píng)測(cè),它是由測(cè)試需求和測(cè)試用例的覆蓋或已執(zhí)行代碼 的覆蓋表示的。302是對(duì)測(cè)試對(duì)象(系統(tǒng)或測(cè)試的應(yīng)用程序)的可靠性、穩(wěn)定性以及性能的評(píng) 測(cè),它建立在對(duì)測(cè)試結(jié)果的評(píng)估和對(duì)測(cè)試過(guò)程中確定的變更請(qǐng)求(缺陷)分析的基礎(chǔ)上。303的指標(biāo)主要用來(lái)表示測(cè)試的完全程度。最常用的303是基于需求的測(cè)試覆蓋 306和基于代碼的測(cè)試覆蓋307。簡(jiǎn)而言之,303是就需求(基于需求的)或代碼的設(shè)計(jì) /實(shí)施標(biāo)準(zhǔn)(基于代碼的)而言的完全程度的任意評(píng)測(cè),如用例的核實(shí)(基于需求的)或 所有代碼行的執(zhí)行(基于代碼的)。圖示307在測(cè)試生命周期中要評(píng)測(cè)多次,并在測(cè)試生命周期的里程碑處提供303 的標(biāo)識(shí)(如已計(jì)劃的、已實(shí)施的、已執(zhí)行的和成功的測(cè)試覆蓋)。307可以通過(guò)相應(yīng)的公 式進(jìn)行計(jì)算。圖示306測(cè)試過(guò)程中已經(jīng)執(zhí)行的代碼的多少,與之相對(duì)的是要執(zhí)行的剩余代碼 的多少。代碼覆蓋可以建立在控制流(語(yǔ)句、分支或路徑)或數(shù)據(jù)流的基礎(chǔ)上。306也 可以通過(guò)公式進(jìn)行計(jì)算。圖示302對(duì)在測(cè)試過(guò)程中對(duì)測(cè)試的效果提供了最佳的軟件質(zhì)量指標(biāo)。因?yàn)橘|(zhì)量 是軟件與需求相符程度的指標(biāo),所以在這種環(huán)境中,缺陷被標(biāo)識(shí)為一種更改請(qǐng)求,該更 改請(qǐng)求中的測(cè)試對(duì)象與需求不符。302包括的評(píng)測(cè)方式有304和305。圖示304有兩種方法來(lái)報(bào)告缺陷,一種是將缺陷計(jì)數(shù)作為時(shí)間的函數(shù)來(lái)報(bào)告, 即創(chuàng)建缺陷趨勢(shì)圖或報(bào)告;另一種是將缺陷計(jì)數(shù)作為一個(gè)或多個(gè)缺陷參數(shù)的函數(shù)來(lái)報(bào) 告,如作為缺陷密度報(bào)告中采用的嚴(yán)重性或狀態(tài)參數(shù)的函數(shù)。這些分析類型分別為揭示 軟件可靠性的缺陷趨勢(shì)或缺陷分布提供了判斷依據(jù)。圖示305性能評(píng)測(cè)評(píng)估測(cè)試對(duì)象的性能行為時(shí),可以使用多種評(píng)測(cè),這些評(píng)測(cè) 側(cè)重于獲取與行為相關(guān)的數(shù)據(jù),如響應(yīng)時(shí)間、計(jì)時(shí)配置文件、執(zhí)行流、操作可靠性和限 制。這些評(píng)測(cè)主要在“評(píng)估測(cè)試”活動(dòng)中進(jìn)行評(píng)估,但是也可以在“執(zhí)行測(cè)試”活動(dòng) 中使用305評(píng)估測(cè)試進(jìn)度和狀態(tài)。305主要包括圖示308是在測(cè)試執(zhí)行過(guò)程中,實(shí)時(shí)獲取并顯示正在執(zhí)行的各測(cè)試腳本的狀 態(tài)。圖示309是測(cè)試對(duì)象針對(duì)特定主角和/或用例的響應(yīng)時(shí)間或吞吐量的評(píng)測(cè)。圖示 310是數(shù)據(jù)已收集值的百分位評(píng)測(cè)/計(jì)算。圖示311是代表不同測(cè)試執(zhí)行情況的兩個(gè)(或 多個(gè))數(shù)據(jù)集之間的差異或趨勢(shì)。上述技術(shù)方案可以看出本發(fā)明實(shí)施例采用了 HSML的自動(dòng)化測(cè)試方法,測(cè)試用例實(shí)際簡(jiǎn)便,測(cè)試效果 良好,測(cè)試操作簡(jiǎn)單,測(cè)試結(jié)果獲得的周期短,減少人工干預(yù),節(jié)約測(cè)試成本,得到更 加真實(shí)的測(cè)試數(shù)據(jù)。以上對(duì)本發(fā)明實(shí)施例所提供的一種基于HSML的自動(dòng)化測(cè)試方法,進(jìn)行了詳細(xì) 介紹,本文中應(yīng)用了具體個(gè)例對(duì)本發(fā)明的原理及實(shí)施方式進(jìn)行了闡述,以上實(shí)施例的說(shuō) 明只是用于幫助理解本發(fā)明的方法及其核心思想;同時(shí),對(duì)于本領(lǐng)域的一般技術(shù)人員, 依據(jù)本發(fā)明的思想,在具體實(shí)施方式
及應(yīng)用范圍上均會(huì)有改變之處,綜上所述,本說(shuō)明 書(shū)內(nèi)容不應(yīng)理解為對(duì)本發(fā)明的限制。
權(quán)利要求
1.一種基于HSML的自動(dòng)化測(cè)試方法,其特征在于,包括 步驟101 搭建測(cè)試代碼結(jié)構(gòu);步驟102 編寫(xiě)測(cè)試用例; 步驟103 編寫(xiě)自動(dòng)化測(cè)試腳步; 步驟104 執(zhí)行測(cè)試腳步;步驟105:根據(jù)要求進(jìn)行自動(dòng)化測(cè)試效果評(píng)估,如果該語(yǔ)言測(cè)試效果達(dá)到要求則轉(zhuǎn) 到步驟106,否則轉(zhuǎn)到步驟102 ;步驟106:該語(yǔ)言已通過(guò)自動(dòng)化測(cè)試,滿足要求。
2.根據(jù)權(quán)利要求1所述的基于HSML的自動(dòng)化測(cè)試方法,其特征在于所述步驟101根據(jù)HSML標(biāo)準(zhǔn),按照該HSML語(yǔ)言的各項(xiàng)功能為基點(diǎn)搭建測(cè)試代碼 結(jié)構(gòu)。
3.根據(jù)權(quán)利要求1或2所述的基于HSML的自動(dòng)化測(cè)試方法,其特征在于 所述步驟102根據(jù)所需支持的標(biāo)簽和屬性,對(duì)該語(yǔ)言編寫(xiě)測(cè)試用例。
4.根據(jù)權(quán)利要求3所述的基于HSML的自動(dòng)化測(cè)試方法,其特征在于所述步驟103根據(jù)步驟102所編寫(xiě)的測(cè)試用例集、步驟101的測(cè)試代碼結(jié)構(gòu),編寫(xiě)相 關(guān)測(cè)試用例的自動(dòng)化測(cè)試的驅(qū)動(dòng)腳本。
5.根據(jù)權(quán)利要求1或2所述的基于HSML的自動(dòng)化測(cè)試方法,其特征在于所述步驟104是采用開(kāi)源自動(dòng)化測(cè)試工具來(lái)執(zhí)行腳本,測(cè)試在腳本執(zhí)行后自動(dòng)執(zhí)
全文摘要
本發(fā)明公開(kāi)一種基于HSML的自動(dòng)化測(cè)試方法。該方法包括步驟101搭建測(cè)試代碼結(jié)構(gòu);步驟102編寫(xiě)測(cè)試用例;步驟103編寫(xiě)自動(dòng)化測(cè)試腳步;步驟104執(zhí)行測(cè)試腳步;步驟105根據(jù)要求進(jìn)行自動(dòng)化測(cè)試效果評(píng)估,如果該語(yǔ)言測(cè)試效果達(dá)到要求則轉(zhuǎn)到步驟106,否則轉(zhuǎn)到步驟102;步驟106該語(yǔ)言已通過(guò)自動(dòng)化測(cè)試,滿足要求。本發(fā)明提高的技術(shù)方案,測(cè)試用例實(shí)際簡(jiǎn)便,測(cè)試效果良好,測(cè)試操作簡(jiǎn)單,測(cè)試結(jié)果獲得的周期短,減少人工干預(yù),節(jié)約測(cè)試成本,得到更加真實(shí)的測(cè)試數(shù)據(jù)。
文檔編號(hào)G06F11/36GK102012864SQ201010569768
公開(kāi)日2011年4月13日 申請(qǐng)日期2010年11月30日 優(yōu)先權(quán)日2010年11月30日
發(fā)明者孟思明, 張偉忠, 戴洪學(xué), 朱建寶, 羅笑南, 郝曉 申請(qǐng)人:中山大學(xué), 廣東星海數(shù)字家庭產(chǎn)業(yè)技術(shù)研究院有限公司