亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

生成網(wǎng)頁頁面的測試用例的方法和裝置與流程

文檔序號:12363419閱讀:245來源:國知局
生成網(wǎng)頁頁面的測試用例的方法和裝置與流程
本發(fā)明涉及網(wǎng)頁頁面測試領(lǐng)域,更具體地涉及一種生成網(wǎng)頁頁面的測試用例的方法和裝置。
背景技術(shù)
:隨著適配手機、平板電腦、PC等的網(wǎng)頁應(yīng)用程序的快速發(fā)展,開發(fā)人員和測試人員在應(yīng)用測試上花費的時間和精力越來越多。不同的系統(tǒng),不同的瀏覽器,不同的屏幕分辨率等導(dǎo)致了很大的困難。測試人員需要為每個系統(tǒng)編寫?yīng)毩⒌臏y試用例,這些測試用例很難用到其他系統(tǒng)上。在測試用例的生成中,存在如下問題。目前對于每一個待測的系統(tǒng),測試人員必須手寫很多測試用例,這是非常耗時和不便的。而且這些測試用例并不能重新應(yīng)用在新的工程中,對于一個新的工程,測試人員必須重新編寫用例。這類工作也是非常耗時的。因此,需要一種能夠輔助測試人員自動或者更智能地生成網(wǎng)頁頁面的測試用例的方法和裝置。技術(shù)實現(xiàn)要素:在下文中給出關(guān)于本發(fā)明的簡要概述,以便提供關(guān)于本發(fā)明的某些方面的基本理解。應(yīng)當(dāng)理解,這個概述并不是關(guān)于本發(fā)明的窮舉性概述。它并不是意圖確定本發(fā)明的關(guān)鍵或重要部分,也不是意圖限定本發(fā)明的范圍。其目的僅僅是以簡化的形式給出某些概念,以此作為稍后論述的更詳細描述的前序。本發(fā)明的一個主要目的在于,提供了一種生成網(wǎng)頁頁面的測試用例的方法,包括:基于網(wǎng)頁頁面的文檔對象模型DOM樹提取特征;根據(jù)所提取的特征,基于預(yù)先存儲的分類模型將網(wǎng)頁頁面分類為預(yù)設(shè)類別;以及根據(jù)網(wǎng)頁頁面被分類的預(yù)設(shè)類別,利用預(yù)設(shè)的測試用例模板來生成網(wǎng)頁頁面的測試用例。根據(jù)本發(fā)明的一個方面,提供一種生成網(wǎng)頁頁面的測試用例的裝置,包括:特征提取單元,被配置為基于待測試網(wǎng)頁頁面的文檔對象模型DOM樹提取網(wǎng)頁頁面所包括的獨立模塊的特征;分類單元,被配置為根據(jù)所提取的特征,基于預(yù)先存儲的分類模型將獨立模塊分類為預(yù)設(shè)類別;以及測試用例生成單元,被配置為根據(jù)獨立模塊被分類的預(yù)設(shè)類別,利用預(yù)設(shè)的測試用例模板來生成獨立模塊的測試用例。另外,本發(fā)明的實施例還提供了用于實現(xiàn)上述方法的計算機程序。此外,本發(fā)明的實施例還提供了至少計算機可讀介質(zhì)形式的計算機程序產(chǎn)品,其上記錄有用于實現(xiàn)上述方法的計算機程序代碼。通過以下結(jié)合附圖對本發(fā)明的最佳實施例的詳細說明,本發(fā)明的這些以及其他優(yōu)點將更加明顯。附圖說明參照下面結(jié)合附圖對本發(fā)明實施例的說明,會更加容易地理解本發(fā)明的以上和其它目的、特點和優(yōu)點。附圖中的部件只是為了示出本發(fā)明的原理。在附圖中,相同的或類似的技術(shù)特征或部件將采用相同或類似的附圖標記來表示。圖1示出了根據(jù)本發(fā)明的一個實施例的生成網(wǎng)頁頁面的測試用例的總體框架圖;圖2示出了根據(jù)本發(fā)明的一個實施例的生成網(wǎng)頁頁面的測試用例的方法200的示例性過程的流程圖;圖3示出了訓(xùn)練得到分類模型的一種示例性過程的流程圖;圖4示出了根據(jù)本發(fā)明的一個實施例進行訓(xùn)練、分類及生成測試用例的示意圖;圖5示出了根據(jù)本發(fā)明的另一個實施例的生成網(wǎng)頁頁面的測試用例的方法500的示例性過程的流程圖;圖6是示出根據(jù)本發(fā)明的一個實施例的生成網(wǎng)頁頁面的測試用例的裝置600的示例性配置的框圖;圖7是示出根據(jù)本發(fā)明的另一個實施例的生成網(wǎng)頁頁面的測試用例的裝置700的示例性配置的框圖;圖8是示出用于生成分類模型的分類模型訓(xùn)練單元800的示例性配置的框圖;以及圖9是示出可以用于實施本發(fā)明的生成網(wǎng)頁頁面的測試用例的方法和裝置的計算設(shè)備的示例性結(jié)構(gòu)圖。具體實施方式下面參照附圖來說明本發(fā)明的實施例。在本發(fā)明的一個附圖或一種實施方式中描述的元素和特征可以與一個或更多個其它附圖或?qū)嵤┓绞街惺境龅脑睾吞卣飨嘟Y(jié)合。應(yīng)當(dāng)注意,為了清楚的目的,附圖和說明中省略了與本發(fā)明無關(guān)的、本領(lǐng)域普通技術(shù)人員已知的部件和處理的表示和描述。本發(fā)明提出了一種能夠輔助測試人員自動或者更智能地生成網(wǎng)頁頁面的測試用例的方法和裝置。在本發(fā)明,認為對于類似的頁面模塊,測試用例也會是類似的。當(dāng)前的網(wǎng)頁應(yīng)用越來越復(fù)雜,一個頁面可能包含很多模塊,每個模塊負責(zé)一個獨立的功能。可以著眼于這些獨立的功能模塊,自動生成對應(yīng)的測試用例,每個測試用例對應(yīng)于一個單一的模塊。通過分析頁面模塊的分類,可以自動生成測試用例,從而大大提高了工作效率。例如:大多數(shù)的登錄模塊都是類似的,可以根據(jù)這個類似的特性,使用預(yù)設(shè)的測試腳本模板去對應(yīng)登錄模塊,對于待測的登錄模塊,自動生成可用的測試腳本。下面結(jié)合附圖詳細說明根據(jù)本發(fā)明的實施例的生成網(wǎng)頁頁面的測試用例的方法和裝置。圖1示出了根據(jù)本發(fā)明的一個實施例的生成網(wǎng)頁頁面的測試用例的總體框架圖。在本發(fā)明中,認為每個網(wǎng)頁頁面都包含一個或多個部分,比如導(dǎo)航條、廣告欄、主題內(nèi)容等等。每個部分可以看作一個獨立模塊,獨立模塊是頁面中負責(zé)一個獨立功能的模塊。通常在一個測試用例中,只測試一個獨立模塊。如果要測試不同的獨立模塊,通常使用不同的測試用例。否則的話,測試用例會出現(xiàn)混亂,造成很大的維護成本。通過分析網(wǎng)頁頁面和測試用例,發(fā)明人認為如果可以分割頁面,并且發(fā)現(xiàn)分割得到的獨立模塊的類別,就可以自動化的針對固定的模塊類別,進行自動化的生成測試用例。發(fā)明人發(fā)現(xiàn),能夠被認為是屬于同一個獨立模塊的頁面內(nèi)容,都有著相似的特 征。比如,在同一個獨立模塊中的控件,通常在同一個區(qū)域中,或者有類似的CSS(級聯(lián)樣式表)樣式。這是因為設(shè)計人員在設(shè)計頁面的時候,通常會把完成獨立功能的控件放在一起并且設(shè)置類似的樣式。所以可以利用這個特性,來分割頁面,然后針對每個分割得到的獨立模塊進行自動化地生成對應(yīng)的測試用例。圖2示出了根據(jù)本發(fā)明的一個實施例的生成網(wǎng)頁頁面的測試用例的方法200的示例性過程的流程圖。圖2示出的實施例是在頁面包含多個獨立模塊的情況下,生成網(wǎng)頁頁面的測試用例的方法的流程圖。對于包含多個獨立模塊的頁面,首先要對頁面進行分割,在步驟S202中,將網(wǎng)頁頁面分割為多個獨立模塊。具體地,根據(jù)網(wǎng)頁頁面的DOM樹的節(jié)點的特征設(shè)定多個規(guī)則,根據(jù)這些規(guī)則可以對節(jié)點執(zhí)行不進行分割、進行分割或調(diào)整相鄰節(jié)點之間的關(guān)聯(lián)度的操作。本發(fā)明使用迭代式的規(guī)則匹配方法進行頁面分割。也就是說,對于頁面的DOM樹的全部節(jié)點,使用例如先序遍歷方式對節(jié)點進行規(guī)則匹配,即將每個節(jié)點與多個規(guī)則依次進行匹配來執(zhí)行不對節(jié)點進行分割、對節(jié)點進行分割或者調(diào)整相鄰節(jié)點之間的關(guān)聯(lián)度的操作。對節(jié)點的分割也即對相應(yīng)的頁面模塊進行分割,在下文中,對節(jié)點進行分割與對頁面模塊進行分割表示的是相同的意思。在一個示例中,可以設(shè)置一個WoB值(即相鄰節(jié)點之間的關(guān)聯(lián)度)作為表示兩個被分割的模塊之間的連接強度。每兩個被分割開的模塊都有其對應(yīng)的WoB值。這個值需要預(yù)設(shè)一個默認值,比如5。有些規(guī)則會改變這個WoB值,每輪規(guī)則匹配結(jié)束時,查看每個WoB值是否小于一個預(yù)設(shè)的閾值,如果小于這個閾值,那么對應(yīng)的模塊將會被合并。重復(fù)這個迭代操作,直到所有的WoB值都不再變化或者頁面模塊不再發(fā)生變化或者達到預(yù)設(shè)的迭代次數(shù)。從而實現(xiàn)將網(wǎng)頁頁面分割為多個獨立模塊。網(wǎng)頁頁面都有自己的DOM樹結(jié)構(gòu),DOM樹包含了一系列的標簽比如html,body,div等等,這些標簽組成一個樹形結(jié)構(gòu)。根據(jù)HTML5標準,把DOM樹的標簽節(jié)點分成以下幾個類別:1)非斷行節(jié)點:不會導(dǎo)致斷行的標簽。比如FONT,B,I等標簽。2)斷行節(jié)點:會導(dǎo)致斷行的標簽,比如BR,HR等標簽。3)有效節(jié)點:顯示在頁面上的節(jié)點,對應(yīng)的不顯示的節(jié)點為非有效節(jié)點。4)文本節(jié)點:節(jié)點只包含文字。根據(jù)以上所述的節(jié)點的特征,可以設(shè)定分別用于不對節(jié)點進行分割、對節(jié)點進行分割或調(diào)整相鄰節(jié)點之間的關(guān)聯(lián)度的多個規(guī)則。其中,不對節(jié)點進行分割的規(guī)則可以包括:如果節(jié)點不是文本節(jié)點并且其沒有有效節(jié)點,則該節(jié)點不被分割并且該節(jié)點的子節(jié)點也不被分割;如果節(jié)點只包含一個有效節(jié)點并且該節(jié)點不是文本節(jié)點,則該節(jié)點不被分割,然后進入該節(jié)點的子節(jié)點進行規(guī)則匹配;如果節(jié)點的子節(jié)點都是文本節(jié)點,則該節(jié)點不被分割;如果節(jié)點僅包含相同樣式的內(nèi)容列表,則該節(jié)點不被分割;以及如果節(jié)點的部分子節(jié)點具有類似的級聯(lián)樣式表樣式,則這些子節(jié)點不被分割。對節(jié)點進行分割的規(guī)則可以包括:如果節(jié)點包含<HR>,則該節(jié)點被分割;以及如果節(jié)點的兩個子節(jié)點之間的距離大于該兩個子節(jié)點中的較小子節(jié)點的長度或?qū)挾鹊念A(yù)定比例,則該節(jié)點被分割。調(diào)整相鄰節(jié)點之間的關(guān)聯(lián)度的規(guī)則可以包括:如果節(jié)點的子節(jié)點之一是斷行節(jié)點,則分割該節(jié)點,并基于兩個模塊之間的距離將關(guān)聯(lián)度設(shè)置為第一預(yù)定值;如果節(jié)點中有兩塊內(nèi)容的背景顏色不同,則分割該節(jié)點,基于兩塊內(nèi)容之間的距離將關(guān)聯(lián)度設(shè)置為第二預(yù)定值,其中第二預(yù)定值小于等于第一預(yù)定值;如果節(jié)點中存在表單,則將表單所分割的模塊的關(guān)聯(lián)度都減去預(yù)定差數(shù);如果所有子節(jié)點具有相同的級聯(lián)樣式表樣式,則將子節(jié)點的關(guān)聯(lián)度減去預(yù)定差數(shù)。在步驟S202中,對DOM樹的每個節(jié)點都進行規(guī)則匹配,直到迭代 式的規(guī)則匹配操作完成后,可以得到網(wǎng)頁頁面分割的多個獨立模塊,并且用于下一步的操作中。接下來,在步驟S204中,基于網(wǎng)頁頁面的文檔對象模型DOM樹提取網(wǎng)頁頁面所包括的獨立模塊的特征。在一個示例中,設(shè)置了以下7類獨立模塊的特征。特征描述特征1超鏈接與文本句子的比值特征2表單控件和超鏈接的比值特征3是否存在提交按鈕特征4是否存在表單特征5列表子節(jié)點的數(shù)量特征6節(jié)點文本的平均長度特征7超鏈接和圖像的比值特征8是否存在提交的JavaScript腳本特征9表單控件和文字數(shù)量的比值特征1表示超鏈接和文本句子的比值,定義句子通過句號,嘆號和問號進行分割。特征2表示表單控件和超鏈接的比值。特征3表示這個模塊中是否存在提交按鈕,如果存在提交按鈕,那么這個模塊更可能是包含用戶交互的應(yīng)用類。特征4表示是否存在表單。特征5表示列表中的節(jié)點數(shù)量,如果有足夠的節(jié)點數(shù)量,那么其更可能是一個列表模塊。特征6表示節(jié)點文本的平均長度。特征7表示超鏈接和圖像數(shù)量的比值。特征8表示是否存在用于提交表單的JS代碼。特征9表示表單控件和文字數(shù)量的比值。提取獨立模塊的特征的具體方法將在下文中說明。在步驟S206中,根據(jù)所提取的特征,基于預(yù)先存儲的分類模型將獨立模塊分類為預(yù)設(shè)類別。這里的分類模型可以通過訓(xùn)練來得到。圖3示出了訓(xùn)練得到分類模型的一種示例性過程的流程圖。首先,在步驟S302中,獲得一個訓(xùn)練數(shù)據(jù)集來進行訓(xùn)練。訓(xùn)練數(shù)據(jù) 集包括多個網(wǎng)頁頁面,其中每個網(wǎng)頁頁面標注有所包括的獨立模塊和各獨立模塊所對應(yīng)的類別。在一個示例中,可以將頁面模塊分為三個大類,每個大類中分別包含若干小類。1)列表類。這類模塊包含一個元素的列表,這些元素包含相似或者相同的樣式,并且其內(nèi)容也是相似的,比如新聞標題列表。列表類可以細分為以下幾個小類:a)帶超鏈接的純文本列表b)帶超鏈接和圖片的純文本列表c)圖片列表d)純文本列表2)文本模塊。這類模塊包含文本,比如新聞報告的正文模塊。這類模塊可以細分為以下幾個小類:a)純文本b)純文本帶評論3)應(yīng)用模塊。這類模塊包含單一信息,比如當(dāng)?shù)靥鞖忸A(yù)報,日程管理模塊等等。這類模塊可以細分為如下兩個小類:a)包含用戶交互的應(yīng)用b)沒有用戶交互的應(yīng)用。簡單來說,可以將頁面模塊分為1)帶超鏈接的純文本列表、2)帶超鏈接和圖片的純文本列表、3)圖片列表、4)純文本列表、5)純文本、6)純文本帶評論、7)包含用戶交互的應(yīng)用、8)沒有用戶交互的應(yīng)用這八個類別。在訓(xùn)練數(shù)據(jù)集中包含每個獨立模塊對應(yīng)這個八個類別中的哪個類別的信息。接下來,在步驟S304中,基于訓(xùn)練數(shù)據(jù)集中的多個網(wǎng)頁頁面的DOM樹提取各個獨立模塊的特征。然后,在步驟S306中,基于所提取的各個獨立模塊的特征以及各獨立模塊所對應(yīng)的類別進行訓(xùn)練得到分類模型。具體地,可以收集一個獨立模塊關(guān)于以上所述9類特征的所有特征值, 然后將這些特征值都放在一個向量中,作為該模塊的特征向量。將特征向量和已經(jīng)標注好的該模塊的類別信息傳入訓(xùn)練流程中進行訓(xùn)練,來得到分類模型。在一個示例中,可以通過訓(xùn)練生成用于分類的決策樹,來確定不同特征在決策樹中所處的位置。在一個示例中,可以使用信息增益的方法進行訓(xùn)練,來得到最終的決策樹,即步驟S206中的分類模型。該分類模型可以預(yù)先存儲在系統(tǒng)中,用于對待分類的獨立模塊進行分類。本領(lǐng)域技術(shù)人員可以理解,對于步驟S204中提取待測試網(wǎng)頁頁面的獨立模塊的特征,可以采用與訓(xùn)練分類模型中所采用的提取獨立模塊的特征的同樣的方法來提取。在一個示例中,提取待測試的獨立模塊的所有特征值,組成該獨立模塊的特征向量,將該特征向量放入預(yù)先得到的決策樹模型中,就可以確定該獨立模塊的分類結(jié)果,即該獨立模塊屬于哪個預(yù)設(shè)類別。最后,在步驟S208中,根據(jù)獨立模塊被分類的預(yù)設(shè)類別,利用預(yù)設(shè)的測試用例模板來生成獨立模塊的測試用例。在一個示例中,針對以上所述的八種頁面類別,預(yù)先設(shè)定八種相應(yīng)的測試用例模板,使用這些測試用例模板,可以對不同的類別自動化地生成相應(yīng)的測試用例。由于對于相同種類的模塊來說,都有著相同或類似的測試操作,把這些操作抽象匯總起來,就能夠建立對應(yīng)的測試用例模板。下面給出對于各個類別的一些簡單示例:對于列表類的帶超鏈接和圖片的純文本列表類別的模塊來說,可能需要下列測試操作:·判斷超鏈接和圖片是否有異常(鏈接是否有效,圖片是否顯示等)·依次點擊所有超鏈接和圖片并截圖·判斷每個列表項的格式是否一致·等對于文本類的純文本帶評論類別的模塊來說,可能需要下列測試操 作:·判斷文字顯示是否有異常(段落格式是否一致,字體等是否一致等)·判斷評論是否有異常(格式是否一致等)·判斷頁面中是否有圖片無法顯示·等對于應(yīng)用類的包含用戶交互的應(yīng)用的模塊來說,可能需要下列測試操作:·判斷各個按鈕(以及其他可點擊的組件)是否可用·判斷模塊中的各個超鏈接是否無效·記錄每個點擊事件的結(jié)果·等對于新的需要測試的頁面塊,可以直接套用相應(yīng)的模板,直接生成測試用例。生成測試用例時,需要用到以下兩方面的信息:第一是頁面模塊的DOM樹結(jié)構(gòu),即HTML源代碼,例如通過HTML源碼,可以獲得所有超鏈接所指向的地址,以及所有圖片的地址,通過這些地址,就能夠判斷超鏈接是否失效,或者圖片是否能正確顯示。第二是頁面模塊在顯示屏上的視覺信息,通過對這方面信息的采集,可以用來判斷組件的樣式是否顯示正確,比如圖片是否顯示不一致(有大有小,或者出現(xiàn)偏移)。圖4示出了根據(jù)本發(fā)明的一個實施例進行訓(xùn)練、分類及生成測試用例的示意圖。在圖4的上半部分,是決策樹的訓(xùn)練過程,下半部分是對待測模塊進行分類,然后根據(jù)分類結(jié)果生成測試用例的過程。在訓(xùn)練階段,對于帶有標注的訓(xùn)練數(shù)據(jù)集,基于DOM樹來提取特征,得到特征向量,從而訓(xùn)練得到?jīng)Q策樹。在分類階段,對于待測試的模塊,基于DOM書來提取特征,得到特征向量,將該特征向量放入預(yù)先得到的決策樹模型中,得到分類結(jié)果。最后,根據(jù)分類結(jié)果,選擇測試用例模板來生成測試用例。圖5示出了根據(jù)本發(fā)明的另一個實施例的生成網(wǎng)頁頁面的測試用例的 方法500的示例性過程的流程圖。圖5中的實施例是在頁面只包含一個獨立模塊(例如登錄模塊)的情況下生成網(wǎng)頁頁面的測試用例的方法。在這種情況下,不需要對頁面進行分割的步驟。首先,在步驟S504中,基于待測試網(wǎng)頁頁面的文檔對象模型DOM樹提取網(wǎng)頁頁面所包括的獨立模塊的特征。接著,在步驟S506中,根據(jù)所提取的特征,基于預(yù)先存儲的分類模型將獨立模塊分類為預(yù)設(shè)類別。最后,在步驟S508中,根據(jù)獨立模塊被分類的預(yù)設(shè)類別,利用預(yù)設(shè)的測試用例模板來生成獨立模塊的測試用例。本領(lǐng)域技術(shù)人員可以理解,圖5中的生成網(wǎng)頁頁面的測試用例的方法500與圖2中的生成網(wǎng)頁頁面的測試用例的方法200相比,不需要對頁面進行分割的步驟S202,而圖5中的步驟S504、S506和S508與圖1中的步驟S204、S206和S208類似,在此不做詳細說明。圖6是示出根據(jù)本發(fā)明的一個實施例的生成網(wǎng)頁頁面的測試用例的裝置600的示例性配置的框圖。如圖6所示,生成網(wǎng)頁頁面的測試用例的裝置600包括分割單元602、特征提取單元604、分類單元606和測試用例生成單元608。其中,分割單元602被配置為將網(wǎng)頁頁面分割為多個獨立模塊。特征提取單元604被配置為基于待測試網(wǎng)頁頁面的文檔對象模型DOM樹提取網(wǎng)頁頁面所包括的獨立模塊的特征。分類單元606被配置為根據(jù)所提取的特征,基于預(yù)先存儲的分類模型將獨立模塊分類為預(yù)設(shè)類別。測試用例生成單元608被配置為根據(jù)獨立模塊被分類的預(yù)設(shè)類別,利用預(yù)設(shè)的測試用例模板來生成獨立模塊的測試用例。圖7是示出根據(jù)本發(fā)明的另一個實施例的生成網(wǎng)頁頁面的測試用例的裝置700的示例性配置的框圖。如圖7所示,生成網(wǎng)頁頁面的測試用例的裝置700包括特征提取單元704、分類單元706和測試用例生成單元708。換句話說,圖7所示的生成網(wǎng)頁頁面的測試用例的裝置700與圖6所示的生成網(wǎng)頁頁面的測試用例的 裝置600相比少了分割單元602。圖7中的實施例是在頁面只包含一個獨立模塊的情況下生成網(wǎng)頁頁面的測試用例的裝置。圖7中的特征提取單元704、分類單元706和測試用例生成單元708與圖6中的特征提取單元604、分類單元606和測試用例生成單元608類似,在此不再贅述。圖8是示出用于生成在根據(jù)本發(fā)明的實施例的生成網(wǎng)頁頁面的測試用例的裝置600和700中所利用的分類模型的分類模型訓(xùn)練單元800的示例性配置的框圖。如圖8所示,分類模型訓(xùn)練單元800包括訓(xùn)練數(shù)據(jù)集獲得子單元802、特征提取子單元804和分類模型訓(xùn)練子單元806。其中,訓(xùn)練數(shù)據(jù)集獲得子單元802被配置為獲得訓(xùn)練數(shù)據(jù)集,訓(xùn)練數(shù)據(jù)集包括多個網(wǎng)頁頁面,其中每個網(wǎng)頁頁面標注有所包括的獨立模塊、以及各獨立模塊所對應(yīng)的類別。特征提取子單元804被配置為基于訓(xùn)練數(shù)據(jù)集中的多個網(wǎng)頁頁面的DOM樹提取各個獨立模塊的特征。分類模型訓(xùn)練子單元806被配置為基于所提取的各個獨立模塊的特征以及各獨立模塊所對應(yīng)的類別進行訓(xùn)練得到分類模型。關(guān)于生成網(wǎng)頁頁面的測試用例的裝置600和700以及分類模型訓(xùn)練單元800的各個部分的操作和功能的細節(jié)可以參照結(jié)合圖1-5描述的本發(fā)明的生成網(wǎng)頁頁面的測試用例的方法的實施例,這里不再詳細描述。在此需要說明的是,圖6-8所示的裝置及其組成單元的結(jié)構(gòu)僅僅是示例性的,本領(lǐng)域技術(shù)人員可以根據(jù)需要對圖6-8所示的結(jié)構(gòu)框圖進行修改。本發(fā)明提出一種能夠輔助測試人員自動或者更智能地生成網(wǎng)頁頁面的測試用例的方法和裝置。根據(jù)本發(fā)明的方法和裝置,將頁面模塊和測試用例聯(lián)系在一起,通過分析頁面模塊的分類,可以自動生成測試用例,從而大大提高了工作效率。以上結(jié)合具體實施例描述了本發(fā)明的基本原理,但是,需要指出的是,對本領(lǐng)域的普通技術(shù)人員而言,能夠理解本發(fā)明的方法和裝置的全部或者任何步驟或者部件,可以在任何計算裝置(包括處理器、存儲介質(zhì)等)或者計算裝置的網(wǎng)絡(luò)中,以硬件、固件、軟件或者它們的組合加以實現(xiàn),這是本領(lǐng)域普通技術(shù)人員在閱讀了本發(fā)明的說明的情況下運用他們的基本 編程技能就能實現(xiàn)的。因此,本發(fā)明的目的還可以通過在任何計算裝置上運行一個程序或者一組程序來實現(xiàn)。所述計算裝置可以是公知的通用裝置。因此,本發(fā)明的目的也可以僅僅通過提供包含實現(xiàn)所述方法或者裝置的程序代碼的程序產(chǎn)品來實現(xiàn)。也就是說,這樣的程序產(chǎn)品也構(gòu)成本發(fā)明,并且存儲有這樣的程序產(chǎn)品的存儲介質(zhì)也構(gòu)成本發(fā)明。顯然,所述存儲介質(zhì)可以是任何公知的存儲介質(zhì)或者將來所開發(fā)出來的任何存儲介質(zhì)。在通過軟件和/或固件實現(xiàn)本發(fā)明的實施例的情況下,從存儲介質(zhì)或網(wǎng)絡(luò)向具有專用硬件結(jié)構(gòu)的計算機,例如圖9所示的通用計算機900安裝構(gòu)成該軟件的程序,該計算機在安裝有各種程序時,能夠執(zhí)行各種功能等等。在圖9中,中央處理單元(CPU)501根據(jù)只讀存儲器(ROM)902中存儲的程序或從存儲部分908加載到隨機存取存儲器(RAM)903的程序執(zhí)行各種處理。在RAM903中,也根據(jù)需要存儲當(dāng)CPU901執(zhí)行各種處理等等時所需的數(shù)據(jù)。CPU901、ROM902和RAM903經(jīng)由總線904彼此鏈路。輸入/輸出接口905也鏈路到總線904。下述部件鏈路到輸入/輸出接口905:輸入部分906(包括鍵盤、鼠標等等)、輸出部分907(包括顯示器,比如陰極射線管(CRT)、液晶顯示器(LCD)等,和揚聲器等)、存儲部分908(包括硬盤等)、通信部分909(包括網(wǎng)絡(luò)接口卡比如LAN卡、調(diào)制解調(diào)器等)。通信部分909經(jīng)由網(wǎng)絡(luò)比如因特網(wǎng)執(zhí)行通信處理。根據(jù)需要,驅(qū)動器910也可鏈路到輸入/輸出接口905。可拆卸介質(zhì)911比如磁盤、光盤、磁光盤、半導(dǎo)體存儲器等等根據(jù)需要被安裝在驅(qū)動器910上,使得從中讀出的計算機程序根據(jù)需要被安裝到存儲部分908中。在通過軟件實現(xiàn)上述系列處理的情況下,從網(wǎng)絡(luò)比如因特網(wǎng)或存儲介質(zhì)比如可拆卸介質(zhì)911安裝構(gòu)成軟件的程序。本領(lǐng)域的技術(shù)人員應(yīng)當(dāng)理解,這種存儲介質(zhì)不局限于圖9所示的其中存儲有程序、與設(shè)備相分離地分發(fā)以向用戶提供程序的可拆卸介質(zhì)911。可拆卸介質(zhì)911的例子包含磁盤(包含軟盤(注冊商標))、光盤(包含光盤只讀存儲器(CD-ROM)和數(shù)字通用盤(DVD))、磁光盤(包含迷你盤(MD)(注冊商標))和半導(dǎo)體存儲器?;蛘?,存儲介質(zhì)可以是ROM902、存儲部分908中包含的硬盤等等,其中存有程序,并且與包含它們的設(shè)備一起被分發(fā)給用戶。本發(fā)明還提出一種存儲有機器可讀取的指令代碼的程序產(chǎn)品。指令代碼由機器讀取并執(zhí)行時,可執(zhí)行上述根據(jù)本發(fā)明實施例的方法。相應(yīng)地,用于承載上述存儲有機器可讀取的指令代碼的程序產(chǎn)品的存儲介質(zhì)也包括在本發(fā)明的公開中。存儲介質(zhì)包括但不限于軟盤、光盤、磁光盤、存儲卡、存儲棒等。本領(lǐng)域的普通技術(shù)人員應(yīng)理解,在此所例舉的是示例性的,本發(fā)明并不局限于此。在本說明書中,“第一”、“第二”以及“第N個”等表述是為了將所描述的特征在文字上區(qū)分開,以清楚地描述本發(fā)明。因此,不應(yīng)將其視為具有任何限定性的含義。作為一個示例,上述方法的各個步驟以及上述設(shè)備的各個組成模塊和/或單元可以實施為軟件、固件、硬件或其組合,并作為相應(yīng)設(shè)備中的一部分。上述裝置中各個組成模塊、單元通過軟件、固件、硬件或其組合的方式進行配置時可使用的具體手段或方式為本領(lǐng)域技術(shù)人員所熟知,在此不再贅述。作為一個示例,在通過軟件或固件實現(xiàn)的情況下,可以從存儲介質(zhì)或網(wǎng)絡(luò)向具有專用硬件結(jié)構(gòu)的計算機(例如圖9所示的通用計算機900)安裝構(gòu)成該軟件的程序,該計算機在安裝有各種程序時,能夠執(zhí)行各種功能等。在上面對本發(fā)明具體實施例的描述中,針對一種實施方式描述和/或示出的特征可以以相同或類似的方式在一個或更多個其他實施方式中使用,與其他實施方式中的特征相組合,或替代其他實施方式中的特征。應(yīng)該強調(diào),術(shù)語“包括/包含”在本文使用時指特征、要素、步驟或組件的存在,但并不排除一個或更多個其他特征、要素、步驟或組件的存在或附加。此外,本發(fā)明的方法不限于按照說明書中描述的時間順序來執(zhí)行,也可以按照其他的時間順序地、并行地或獨立地執(zhí)行。因此,本說明書中描述的方法的執(zhí)行順序不對本發(fā)明的技術(shù)范圍構(gòu)成限制。本發(fā)明及其優(yōu)點,但是應(yīng)當(dāng)理解在不超出由所附的權(quán)利要求所限定的本發(fā)明的精神和范圍的情況下可以進行各種改變、替代和變換。而且,本發(fā)明的范圍不僅限于說明書所描述的過程、設(shè)備、手段、方法和步驟的具體實施例。本領(lǐng)域內(nèi)的普通技術(shù)人員從本發(fā)明的公開內(nèi)容將容易理解,根 據(jù)本發(fā)明可以使用執(zhí)行與在此的相應(yīng)實施例基本相同的功能或者獲得與其基本相同的結(jié)果的、現(xiàn)有和將來要被開發(fā)的過程、設(shè)備、手段、方法或者步驟。因此,所附的權(quán)利要求旨在在它們的范圍內(nèi)包括這樣的過程、設(shè)備、手段、方法或者步驟?;谝陨系恼f明,可知公開至少公開了以下技術(shù)方案:附記1、一種生成網(wǎng)頁頁面的測試用例的方法,包括:基于待測試網(wǎng)頁頁面的文檔對象模型DOM樹提取所述網(wǎng)頁頁面所包括的獨立模塊的特征;根據(jù)所提取的特征,基于預(yù)先存儲的分類模型將所述獨立模塊分類為預(yù)設(shè)類別;以及根據(jù)所述獨立模塊被分類的預(yù)設(shè)類別,利用預(yù)設(shè)的測試用例模板來生成所述獨立模塊的測試用例。附記2、根據(jù)附記1所述的方法,還包括:將所述網(wǎng)頁頁面分割為多個獨立模塊。附記3、根據(jù)附記2所述的方法,其中,將所述網(wǎng)頁頁面分割為多個獨立模塊進一步包括:根據(jù)所述網(wǎng)頁頁面的DOM樹的節(jié)點的特征來設(shè)定用于不對節(jié)點進行分割、對節(jié)點進行分割或調(diào)整相鄰節(jié)點之間的關(guān)聯(lián)度的多個規(guī)則;以及對所述DOM樹的全部節(jié)點進行遍歷,將每個節(jié)點與所述多個規(guī)則依次進行匹配來執(zhí)行不對節(jié)點進行分割、對節(jié)點進行分割或者調(diào)整相鄰節(jié)點之間的關(guān)聯(lián)度的操作,迭代匹配直到分割的頁面模塊不再改變、或者相鄰節(jié)點之間的關(guān)聯(lián)度不再改變或者達到預(yù)定的迭代次數(shù)。附記4、根據(jù)附記3所述的方法,其中,所述節(jié)點的特征包括:非斷行節(jié)點、斷行節(jié)點、有效節(jié)點和文本節(jié)點。附記5、根據(jù)附記3所述的方法,其中,不對節(jié)點進行分割的規(guī)則包括:如果節(jié)點不是文本節(jié)點并且其沒有有效節(jié)點,則該節(jié)點不被分割并且該節(jié)點的子節(jié)點也不被分割;如果節(jié)點只包含一個有效節(jié)點并且該節(jié)點不是文本節(jié)點,則該節(jié)點不被分割,然后進入該節(jié)點的子節(jié)點進行規(guī)則匹配;如果節(jié)點的子節(jié)點都是文本節(jié)點,則該節(jié)點不被分割;如果節(jié)點僅包含相同樣式的內(nèi)容列表,則該節(jié)點不被分割;以及如果節(jié)點的部分子節(jié)點具有類似的級聯(lián)樣式表樣式,則這些子節(jié)點不被分割。附記6、根據(jù)附記3所述的方法,其中,對節(jié)點進行分割的規(guī)則包括:如果節(jié)點包含<HR>,則該節(jié)點被分割;以及如果節(jié)點的兩個子節(jié)點之間的距離大于該兩個子節(jié)點中的較小子節(jié)點的長度或?qū)挾鹊念A(yù)定比例,則該節(jié)點被分割。附記7、根據(jù)附記3所述的方法,其中,調(diào)整相鄰節(jié)點之間的關(guān)聯(lián)度的規(guī)則包括:如果節(jié)點的子節(jié)點之一是斷行節(jié)點,則分割該節(jié)點,并基于兩個模塊之間的距離將關(guān)聯(lián)度設(shè)置為第一預(yù)定值;如果節(jié)點中有兩塊內(nèi)容的背景顏色不同,則分割該節(jié)點,基于兩塊內(nèi)容之間的距離將關(guān)聯(lián)度設(shè)置為第二預(yù)定值,其中第二預(yù)定值小于等于第一預(yù)定值;如果節(jié)點中存在表單,則將所述表單所分割的模塊的關(guān)聯(lián)度都減去預(yù)定差數(shù);如果所有子節(jié)點具有相同的級聯(lián)樣式表樣式,則將子節(jié)點的關(guān)聯(lián)度減去預(yù)定差數(shù)。附記8、根據(jù)附記1或2所述的方法,其中,所述分類模型通過以下步驟訓(xùn)練得到:獲得訓(xùn)練數(shù)據(jù)集,所述訓(xùn)練數(shù)據(jù)集包括多個網(wǎng)頁頁面,其中每個網(wǎng)頁 頁面標注有所包括的獨立模塊、以及各獨立模塊所對應(yīng)的類別;基于所述訓(xùn)練數(shù)據(jù)集中的多個網(wǎng)頁頁面的DOM樹提取各個獨立模塊的特征;以及基于所提取的各個獨立模塊的特征以及各獨立模塊所對應(yīng)的類別進行訓(xùn)練得到所述分類模型。附記9、根據(jù)附記1或2所述的方法,其中,所述獨立模塊被分類的所述預(yù)設(shè)類別包括:帶有超鏈接的純文本的列表、帶有超鏈接和圖像的文本的列表、圖片列表、純文本的列表、純文本、帶有評論的純文本、帶有用戶交互的應(yīng)用程序、以及沒有用戶交互的應(yīng)用程序。附記10、根據(jù)附記8所述的方法,其中,基于網(wǎng)頁頁面的DOM樹所提取的獨立模塊的特征包括以下中的一項或多項:超鏈接與文本句子的比值、表單控件和超鏈接的比值、是否存在提交按鈕、是否存在表單、列表子節(jié)點的數(shù)量、節(jié)點文本的平均長度、超鏈接和圖像的比值、是否存在提交的JavaScript腳本、表單控件和文字數(shù)量的比值。附記11、一種生成網(wǎng)頁頁面的測試用例的裝置,包括:特征提取單元,被配置為基于待測試網(wǎng)頁頁面的文檔對象模型DOM樹提取所述網(wǎng)頁頁面所包括的獨立模塊的特征;分類單元,被配置為根據(jù)所提取的特征,基于預(yù)先存儲的分類模型將所述獨立模塊分類為預(yù)設(shè)類別;以及測試用例生成單元,被配置為根據(jù)所述獨立模塊被分類的預(yù)設(shè)類別,利用預(yù)設(shè)的測試用例模板來生成所述獨立模塊的測試用例。附記12、根據(jù)附記11所述的裝置,還包括分割單元,被配置為將所述網(wǎng)頁頁面分割為多個獨立模塊。附記13、根據(jù)附記12所述的裝置,其中,所述分割單元進一步被配置為:根據(jù)所述網(wǎng)頁頁面的DOM樹的節(jié)點的特征來設(shè)定用于不對節(jié)點進行分割、對節(jié)點進行分割或調(diào)整相鄰節(jié)點之間的關(guān)聯(lián)度的多個規(guī)則;以及對所述DOM樹的全部節(jié)點進行遍歷,將每個節(jié)點與所述多個規(guī)則依次進行匹配來執(zhí)行不對節(jié)點進行分割、對節(jié)點進行分割或者調(diào)整相鄰節(jié)點之間的關(guān)聯(lián)度的操作,迭代匹配直到分割的頁面模塊不再改變、或者相鄰節(jié)點之間的關(guān)聯(lián)度不再改變或者達到預(yù)定的迭代次數(shù)。附記14、根據(jù)附記13所述的裝置,其中,所述節(jié)點的特征包括:非斷行節(jié)點、斷行節(jié)點、有效節(jié)點和文本節(jié)點。附記15、根據(jù)附記13所述的裝置,其中,不對節(jié)點進行分割的規(guī)則包括:如果節(jié)點不是文本節(jié)點并且其沒有有效節(jié)點,則該節(jié)點不被分割并且該節(jié)點的子節(jié)點也不被分割;如果節(jié)點只包含一個有效節(jié)點并且該節(jié)點不是文本節(jié)點,則該節(jié)點不被分割,然后進入該節(jié)點的子節(jié)點進行規(guī)則匹配;如果節(jié)點的子節(jié)點都是文本節(jié)點,則該節(jié)點不被分割;如果節(jié)點僅包含相同樣式的內(nèi)容列表,則該節(jié)點不被分割;以及如果節(jié)點的部分子節(jié)點具有類似的級聯(lián)樣式表樣式,則這些子節(jié)點不被分割。附記16、根據(jù)附記13所述的裝置,其中,對節(jié)點進行分割的規(guī)則包括:如果節(jié)點包含<HR>,則該節(jié)點被分割;以及如果節(jié)點的兩個子節(jié)點之間的距離大于該兩個子節(jié)點中的較小子節(jié)點的長度或?qū)挾鹊念A(yù)定比例,則該節(jié)點被分割。附記17、根據(jù)附記13所述的裝置,其中,調(diào)整相鄰節(jié)點之間的關(guān)聯(lián)度的規(guī)則包括:如果節(jié)點的子節(jié)點之一是斷行節(jié)點,則分割該節(jié)點,并基于兩個模塊之間的距離將關(guān)聯(lián)度設(shè)置為第一預(yù)定值;如果節(jié)點中有兩塊內(nèi)容的背景顏色不同,則分割該節(jié)點,基于兩塊內(nèi)容之間的距離將關(guān)聯(lián)度設(shè)置為第二預(yù)定值,其中第二預(yù)定值小于等于第一預(yù)定值;如果節(jié)點中存在表單,則將所述表單所分割的模塊的關(guān)聯(lián)度都減去預(yù)定差數(shù);如果所有子節(jié)點具有相同的級聯(lián)樣式表樣式,則將子節(jié)點的關(guān)聯(lián)度減去預(yù)定差數(shù)。附記18、根據(jù)附記11或12所述的裝置,還包括:分類模型訓(xùn)練單元,所述分類模型訓(xùn)練單元包括:訓(xùn)練數(shù)據(jù)集獲得子單元,被配置為獲得訓(xùn)練數(shù)據(jù)集,所述訓(xùn)練數(shù)據(jù)集包括多個網(wǎng)頁頁面,其中每個網(wǎng)頁頁面標注有所包括的獨立模塊、以及各獨立模塊所對應(yīng)的類別;特征提取子單元,被配置為基于所述訓(xùn)練數(shù)據(jù)集中的多個網(wǎng)頁頁面的DOM樹提取各個獨立模塊的特征;以及分類模型訓(xùn)練子單元,被配置為基于所提取的各個獨立模塊的特征以及各獨立模塊所對應(yīng)的類別進行訓(xùn)練得到所述分類模型。附記19、根據(jù)附記11或12所述的裝置,其中,所述獨立模塊被分類的所述預(yù)設(shè)類別包括:帶有超鏈接的純文本的列表、帶有超鏈接和圖像的文本的列表、圖片列表、純文本的列表、純文本、帶有評論的純文本、帶有用戶交互的應(yīng)用程序、以及沒有用戶交互的應(yīng)用程序。附記20、根據(jù)附記18所述的裝置,其中,基于網(wǎng)頁頁面的DOM樹所提取的獨立模塊的特征包括以下中的一項或多項:超鏈接與文本句子的 比值、表單控件和超鏈接的比值、是否存在提交按鈕、是否存在表單、列表子節(jié)點的數(shù)量、節(jié)點文本的平均長度、超鏈接和圖像的比值、是否存在提交的JavaScript腳本、表單控件和文字數(shù)量的比值。當(dāng)前第1頁1 2 3 
當(dāng)前第1頁1 2 3 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1