一種用于生成搜索引擎相關(guān)性排序測試用例的方法與設(shè)備的制作方法
【專利摘要】本發(fā)明的目的是提供一種用于生成搜索引擎相關(guān)性排序測試用例的方法與設(shè)備;通過獲取待生成測試用例的用例描述文件;獲取搜索引擎所返回的基于該用例描述文件中挖掘相關(guān)信息的輸入數(shù)據(jù),其中,該輸入數(shù)據(jù)命中該搜索引擎相關(guān)性排序;根據(jù)該測試用例的預(yù)期相關(guān)信息,生成該測試用例的可執(zhí)行用例文件;根據(jù)該輸入數(shù)據(jù),以及該可執(zhí)行用例文件,確定該測試用例。與現(xiàn)有技術(shù)相比,本發(fā)明提出一種自動生成搜索引擎相關(guān)性排序的測試用例的方法與設(shè)備,基于關(guān)鍵路徑覆蓋,通過對搜索引擎模塊進(jìn)行內(nèi)部代碼改造,自動挖掘用例輸入數(shù)據(jù),自動生成用例預(yù)期內(nèi)容,滿足復(fù)雜眾多的測試需求,極大地提高了生成測試用例的數(shù)量與效率,降低了用例維護(hù)成本。
【專利說明】一種用于生成搜索引擎相關(guān)性排序測試用例的方法與設(shè)備
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及互聯(lián)網(wǎng)【技術(shù)領(lǐng)域】,尤其涉及一種用于生成搜索引擎相關(guān)性排序測試用例的技術(shù)。
【背景技術(shù)】
[0002]搜索引擎中關(guān)鍵詞查詢序列(query)與檢索結(jié)果間的相關(guān)匹配程度,廣義上用戶查詢的需求滿足度,叫做搜索引擎的相關(guān)性。隨著用戶需求的越發(fā)多樣化,搜索引擎相關(guān)性排序眾多復(fù)雜,相關(guān)性排序改進(jìn)的重心也更多的從基礎(chǔ)檢索后移至在線特征統(tǒng)計與計算,同時搜索引擎的國際化改造更強(qiáng)調(diào)在線執(zhí)行時動態(tài)選擇排序方法的機(jī)制,使得相關(guān)性排序測試復(fù)雜度大大增加。固定輸入數(shù)據(jù)的自動化測試用例,常常由于策略耦合升級、接口調(diào)整、架構(gòu)改造等,導(dǎo)致用例預(yù)期全部失敗,測試用例維護(hù)成本極高。
[0003]因此,如何快速有效地生成搜索引擎相關(guān)性排序測試用例,成為本領(lǐng)域技術(shù)人員亟需解決的問題之一。
【發(fā)明內(nèi)容】
[0004]本發(fā)明的目的是提供一種用于生成搜索引擎相關(guān)性排序測試用例的方法與設(shè)備。
[0005]根據(jù)本發(fā)明的一個方面,提供了 一種用于生成搜索引擎相關(guān)性排序測試用例的方法,其中,該方法包括以下步驟:
[0006]a獲取待生成測試用例的用例描述文件,其中,所述用例描述文件包括與命中搜索引擎相關(guān)性排序的輸入數(shù)據(jù)相對應(yīng)的挖掘相關(guān)信息及所述測試用例的預(yù)期相關(guān)信息;
[0007]b獲取搜索引擎所返回的基于所述挖掘相關(guān)信息的輸入數(shù)據(jù),其中,所述輸入數(shù)據(jù)命中所述搜索引擎相關(guān)性排序;
[0008]c根據(jù)所述測試用例的預(yù)期相關(guān)信息,生成所述測試用例的可執(zhí)行用例文件;
[0009]d根據(jù)所述輸入數(shù)據(jù),以及所述可執(zhí)行用例文件,確定所述測試用例。
[0010]根據(jù)本發(fā)明的另一方面,還提供了一種在搜索引擎端輔助用于生成搜索引擎相關(guān)性排序測試用例的方法,其中,該方法包括以下步驟:
[0011]A獲取自用例生成設(shè)備發(fā)送的挖掘命令;
[0012]B根據(jù)所述挖掘命令,基于排序路徑進(jìn)行挖掘處理,以獲得用于生成測試用例的輸入數(shù)據(jù),其中,所述輸入數(shù)據(jù)命中搜索引擎相關(guān)性排序;
[0013]C將所述輸入數(shù)據(jù)返回至所述用例生成設(shè)備。
[0014]根據(jù)本發(fā)明的又一方面,還提供了一種用于生成搜索引擎相關(guān)性排序測試用例的用例生成設(shè)備,其中,該設(shè)備包括:
[0015]用例獲取裝置,用于獲取待生成測試用例的用例描述文件,其中,所述用例描述文件包括與命中搜索引擎相關(guān)性排序的輸入數(shù)據(jù)相對應(yīng)的挖掘相關(guān)信息及所述測試用例的預(yù)期相關(guān)信息;
[0016]數(shù)據(jù)獲取裝置,用于獲取搜索引擎所返回的基于所述挖掘相關(guān)信息的輸入數(shù)據(jù),其中,所述輸入數(shù)據(jù)命中所述搜索引擎相關(guān)性排序;
[0017]用例生成裝置,用于根據(jù)所述測試用例的預(yù)期相關(guān)信息,生成所述測試用例的可執(zhí)行用例文件;
[0018]用例確定裝置,根據(jù)所述輸入數(shù)據(jù),以及所述可執(zhí)行用例文件,確定所述測試用例。
[0019]根據(jù)本發(fā)明的再一方面,還提供了一種輔助用于生成搜索引擎相關(guān)性排序測試用例的搜索引擎,其中,該搜索引擎包括:
[0020]命令獲取裝置,用于獲取自用例生成設(shè)備發(fā)送的挖掘命令;
[0021]數(shù)據(jù)挖掘裝置,用于根據(jù)所述挖掘命令,基于排序路徑進(jìn)行挖掘處理,以獲得用于生成測試用例的輸入數(shù)據(jù),其中,所述輸入數(shù)據(jù)命中搜索引擎相關(guān)性排序;
[0022]數(shù)據(jù)返回裝置,用于將所述輸入數(shù)據(jù)返回至所述用例生成設(shè)備。
[0023]根據(jù)本發(fā)明的再一方面,還提供了一種用于生成搜索引擎相關(guān)性排序測試用例的系統(tǒng),包括如上述的用例生成設(shè)備及如上述的搜索引擎。
[0024]與現(xiàn)有技術(shù)相比,本發(fā)明提出一種自動生成搜索引擎相關(guān)性排序的測試用例的方法與設(shè)備,基于關(guān)鍵路徑覆蓋,通過對搜索引擎模塊進(jìn)行內(nèi)部代碼改造,自動挖掘用例輸入數(shù)據(jù),自動生成用例預(yù)期內(nèi)容,滿足復(fù)雜眾多的測試需求,極大地提高了生成測試用例的數(shù)量與效率,降低了用例維護(hù)成本。
【專利附圖】
【附圖說明】
[0025]通過閱讀參照以下附圖所作的對非限制性實(shí)施例所作的詳細(xì)描述,本發(fā)明的其它特征、目的和優(yōu)點(diǎn)將會變得更明顯:
[0026]圖1示出根據(jù)本發(fā)明一個方面的用于生成搜索引擎相關(guān)性排序測試用例的設(shè)備示意圖;
[0027]圖2示出根據(jù)本發(fā)明一個優(yōu)選實(shí)施例的用于生成搜索引擎相關(guān)性排序測試用例的設(shè)備示意圖;
[0028]圖3示出根據(jù)本發(fā)明另一個方面的用于生成搜索引擎相關(guān)性排序測試用例的方法流程圖;
[0029]圖4示出根據(jù)本發(fā)明一個優(yōu)選實(shí)施例的用于生成搜索引擎相關(guān)性排序測試用例的方法流程圖。
[0030]附圖中相同或相似的附圖標(biāo)記代表相同或相似的部件。
【具體實(shí)施方式】
[0031]下面結(jié)合附圖對本發(fā)明作進(jìn)一步詳細(xì)描述。
[0032]圖1示出根據(jù)本發(fā)明一個方面的用于生成搜索引擎相關(guān)性排序測試用例的設(shè)備示意圖。用例生成設(shè)備I包括用例獲取裝置101、數(shù)據(jù)獲取裝置102、用例生成裝置103和用例確定裝置104。
[0033]用例獲取裝置101獲取待生成測試用例的用例描述文件,其中,所述用例描述文件包括與命中搜索引擎相關(guān)性排序的輸入數(shù)據(jù)相對應(yīng)的挖掘相關(guān)信息及所述測試用例的預(yù)期相關(guān)信息。具體地,用例獲取裝置101例如通過約定的通信方式,與文件庫等進(jìn)行交互,獲取待生成測試用例的用例描述文件。該文件庫中例如存儲有事先編寫好的用例描述文件。在此,用例描述文件包括挖掘相關(guān)信息及預(yù)期相關(guān)信息。該挖掘相關(guān)信息與命中搜索引擎相關(guān)性排序的輸入數(shù)據(jù)相對應(yīng),描述了用例需要挖掘滿足何種搜索引擎相關(guān)性排序的輸入數(shù)據(jù)。在此,搜索引擎相關(guān)性排序通過對用戶輸入關(guān)鍵詞的理解和需求分析,在事先抓取的互聯(lián)網(wǎng)網(wǎng)頁鏡像數(shù)據(jù)庫中挑選出與用戶搜索意圖相匹配的優(yōu)質(zhì)網(wǎng)頁展現(xiàn)給用戶。主流搜索引擎常見的相關(guān)性排序方法有:主題匹配度高結(jié)果選取策略、權(quán)威性結(jié)果提權(quán)策略、作弊結(jié)果打壓、飄紅策略、標(biāo)題(title)/摘要選取策略等。
[0034]該預(yù)期相關(guān)信息例如路徑預(yù)期、表達(dá)式預(yù)期等,可用于判斷獲得的輸入數(shù)據(jù)是否滿足該預(yù)期,當(dāng)滿足時,用例通過,否則用例失敗。
[0035]數(shù)據(jù)獲取裝置102獲取搜索引擎所返回的基于所述挖掘相關(guān)信息的輸入數(shù)據(jù),其中,所述輸入數(shù)據(jù)命中所述搜索引擎相關(guān)性排序。具體地,數(shù)據(jù)獲取裝置102例如通過將該用例描述文件中所包括的挖掘相關(guān)信息發(fā)送至搜索引擎2,隨后接收該搜索引擎2所返回的基于該挖掘相關(guān)信息的輸入數(shù)據(jù);或者,通過對該挖掘相關(guān)信息的解析,獲得對應(yīng)的挖掘命令并發(fā)送至搜索引擎2,隨后接收該搜索引擎2所返回的基于該挖掘命令的輸入數(shù)據(jù)。在此,挖掘命令主要指策略和分支標(biāo)識碼,是指搜索引擎模塊代碼中的策略和分支的唯一標(biāo)識。在此,輸入數(shù)據(jù)命中該搜索引擎相關(guān)性排序,一般包括關(guān)鍵詞query、模塊上下游交互接口數(shù)據(jù)、策略中間數(shù)據(jù)等。
[0036]本領(lǐng)域技術(shù)人員應(yīng)能理解上述獲取輸入數(shù)據(jù)的方式僅為舉例,其他現(xiàn)有的或今后可能出現(xiàn)的獲取輸入數(shù)據(jù)的方式如可適用于本發(fā)明,也應(yīng)包含在本發(fā)明保護(hù)范圍以內(nèi),并在此以引用方式包含于此。
[0037]用例生成裝置103根據(jù)所述測試用例的預(yù)期相關(guān)信息,生成所述測試用例的可執(zhí)行用例文件。具體地,用例生成裝置103根據(jù)用例獲取裝置101所獲取的用例描述文件,自該用例描述文件中提取用于生成測試用例的預(yù)期相關(guān)信息,如用例執(zhí)行環(huán)境描述、用例執(zhí)行動作描述、用例預(yù)期描述等,根據(jù)該預(yù)期相關(guān)信息,生成該測試用例的可執(zhí)行用例文件,如通過加載用例模板,生成該可執(zhí)行用例文件。
[0038]在此,該用例生成裝置通過腳本實(shí)現(xiàn),解析用例描述文件中的預(yù)期相關(guān)信息,如預(yù)期描述,讀取文件配置,填充到用例模板中,生成可執(zhí)行的用例文件。
[0039]在此,該可執(zhí)行用例文件部署案例(case)執(zhí)行環(huán)境,包括二進(jìn)制程序版本、配置、詞典等運(yùn)行環(huán)境的部署。
[0040]該用例可執(zhí)行文件負(fù)責(zé)根據(jù)輸入數(shù)據(jù)啟動查詢過程,如輸入至被測模塊進(jìn)行查詢,得到對應(yīng)的輸出數(shù)據(jù),進(jìn)而,判斷該輸出數(shù)據(jù)是否符合用例預(yù)期。
[0041]本領(lǐng)域技術(shù)人員應(yīng)能理解上述生成可執(zhí)行用例文件的方式僅為舉例,其他現(xiàn)有的或今后可能出現(xiàn)的生成可執(zhí)行用例文件的方式如可適用于本發(fā)明,也應(yīng)包含在本發(fā)明保護(hù)范圍以內(nèi),并在此以引用方式包含于此。
[0042]用例確定裝置104根據(jù)所述輸入數(shù)據(jù),以及所述可執(zhí)行用例文件,確定所述測試用例。具體地,用例確定裝置104根據(jù)數(shù)據(jù)獲取裝置102所獲取的命中該搜索引擎相關(guān)性排序的輸入數(shù)據(jù),以及該用例生成裝置103所生成的可執(zhí)行用例文件,確定測試用例。
[0043]在此,該可執(zhí)行用例文件還可包括用例預(yù)期,該用例預(yù)期例如策略路徑(排序路徑),模塊上下游接口數(shù)據(jù)、策略中間輸出數(shù)據(jù),對于采集到的輸入數(shù)據(jù),可以進(jìn)行用例預(yù)期,如將該輸入數(shù)據(jù)與該用例預(yù)期進(jìn)行匹配,當(dāng)匹配時,即該輸入數(shù)據(jù)滿足該用例預(yù)期時,該測試用例通過,否則該測試用例失敗。
[0044]優(yōu)選地,用例生成設(shè)備I的各個裝置之間是持續(xù)不斷工作的。具體地,用例獲取裝置101獲取待生成測試用例的用例描述文件,其中,所述用例描述文件包括與命中搜索引擎相關(guān)性排序的輸入數(shù)據(jù)相對應(yīng)的挖掘相關(guān)信息及所述測試用例的預(yù)期相關(guān)信息;數(shù)據(jù)獲取裝置102獲取搜索引擎所返回的基于所述挖掘相關(guān)信息的輸入數(shù)據(jù),其中,所述輸入數(shù)據(jù)命中所述搜索引擎相關(guān)性排序;用例生成裝置103根據(jù)所述測試用例的預(yù)期相關(guān)信息,生成所述測試用例的可執(zhí)行用例文件;用例確定裝置104根據(jù)所述輸入數(shù)據(jù),以及所述可執(zhí)行用例文件,確定所述測試用例。在此,本領(lǐng)域技術(shù)人員應(yīng)理解“持續(xù)”是指用例生成設(shè)備I的各裝置分別按照設(shè)定的或?qū)崟r調(diào)整的工作模式要求進(jìn)行用例描述文件的獲取、輸入數(shù)據(jù)的獲取、可執(zhí)行用例文件的生成及測試用例的確定,直至該用例生成設(shè)備I在較長時間內(nèi)停止獲取待生成測試用例的用例描述文件。
[0045]現(xiàn)有的生成測試用例的方法受策略耦合升級、接口調(diào)整、架構(gòu)改造等影響很大。例如,升級的上層策略導(dǎo)致了下層策略的命中率降低,使得原有挖掘的命中下層策略的輸入數(shù)據(jù),不能再命中策略(排序),導(dǎo)致一部分測試用例失??;又如,搜索引擎模塊之間的接口調(diào)整變化、甚至接口數(shù)據(jù)不兼容,導(dǎo)致已有測試用例的輸入數(shù)據(jù)不可用,用例失??;再如,搜索引擎的策略是依附在架構(gòu)代碼之中的,架構(gòu)改造升級,一般會導(dǎo)致策略的執(zhí)行順序變化、策略命中率變化,所以,架構(gòu)一旦升級改造,就會導(dǎo)致大部分的測試用例失敗,用例的維護(hù)成本極大。
[0046]在此,本發(fā)明提出一種自動生成搜索引擎相關(guān)性排序的測試用例的方法與設(shè)備,基于關(guān)鍵路徑覆蓋,通過對搜索引擎模塊進(jìn)行內(nèi)部代碼改造,自動挖掘用例輸入數(shù)據(jù),自動生成用例預(yù)期內(nèi)容,滿足復(fù)雜眾多的測試需求,極大地提高了生成測試用例的數(shù)量與效率,降低了用例維護(hù)成本。當(dāng)用例由于策略耦合升級、接口調(diào)整、架構(gòu)改造等影響,需要重新準(zhǔn)備輸入數(shù)據(jù)時,只需要根據(jù)用例描述文件,重新執(zhí)行一次挖掘和生成過程即可,無需人工操作,大大降低了用例的維護(hù)成本。具體地,本發(fā)明相對現(xiàn)有技術(shù)帶來的有益效果如下:
[0047]I)基于路徑覆蓋的測試用例,能有效地覆蓋相關(guān)性排序的重大問題,根據(jù)排序路徑可直接把問題定位在分支級別,極大地降低了追查問題的成本;
[0048]2)在線全自動挖掘,編寫測試用例的過程,轉(zhuǎn)化為極簡單地填寫用例描述文件的過程,無需手工準(zhǔn)備測試數(shù)據(jù),工程師接手成本極低,可以生成大量的測試用例來保證相關(guān)性排序測試覆蓋率,生成測試用例效率大大提高;
[0049]3)測試用例維護(hù)成本極低,當(dāng)用例非預(yù)期失敗需要修復(fù)時,只需要根據(jù)用例描述文件,重新執(zhí)行一次用例生成過程,測試用例即可再生,可復(fù)用性高,是可再生的自動化測試用例。
[0050]圖2示出根據(jù)本發(fā)明一個優(yōu)選實(shí)施例的用于生成搜索引擎相關(guān)性排序測試用例的設(shè)備示意圖。用例生成設(shè)備I包括用例獲取裝置201、數(shù)據(jù)獲取裝置202、用例生成裝置203和用例確定裝置204,其中,數(shù)據(jù)獲取裝置202還包括命令發(fā)送單元202a和數(shù)據(jù)獲取單元202b ;搜索引擎2包括命令獲取裝置205、數(shù)據(jù)挖掘裝置206和數(shù)據(jù)返回裝置207。以下參照圖2對該優(yōu)選實(shí)施例進(jìn)行詳細(xì)描述:具體地,用例獲取裝置201獲取待生成測試用例的用例描述文件,其中,所述用例描述文件包括與命中搜索引擎相關(guān)性排序的輸入數(shù)據(jù)相對應(yīng)的挖掘相關(guān)信息及所述測試用例的預(yù)期相關(guān)信息;命令發(fā)送單元202a對所述挖掘相關(guān)信息進(jìn)行解析,以獲得對應(yīng)的挖掘命令,并發(fā)送至所述搜索引擎;搜索引擎中的命令獲取裝置205獲取自用例生成設(shè)備發(fā)送的挖掘命令;數(shù)據(jù)挖掘裝置206根據(jù)所述挖掘命令,基于排序路徑進(jìn)行挖掘處理,以獲得用于生成測試用例的輸入數(shù)據(jù),其中,所述輸入數(shù)據(jù)命中搜索引擎相關(guān)性排序;數(shù)據(jù)返回裝置207將所述輸入數(shù)據(jù)返回至所述用例生成設(shè)備;用例生成設(shè)備I中的數(shù)據(jù)獲取單元202b獲取所述搜索引擎所返回的基于所述挖掘命令的輸入數(shù)據(jù),其中,所述輸入數(shù)據(jù)命中所述搜索引擎相關(guān)性排序;用例生成裝置203根據(jù)所述測試用例的預(yù)期相關(guān)信息,生成所述測試用例的可執(zhí)行用例文件;用例確定裝置204根據(jù)所述輸入數(shù)據(jù),以及所述可執(zhí)行用例文件,確定所述測試用例。其中,用例生成設(shè)備I中的用例獲取裝置201、用例生成裝置203和用例確定裝置204與圖1所示對應(yīng)裝置相同或基本相同,故此處不再贅述,并通過引用的方式包含于此。
[0051]其中,用例生成設(shè)備I中的命令發(fā)送單元202a對所述挖掘相關(guān)信息進(jìn)行解析,以獲得對應(yīng)的挖掘命令,并發(fā)送至所述搜索引擎。具體地,命令發(fā)送單元202a根據(jù)用例獲取裝置201所獲取的用例描述文件,對該用例描述文件中所包括的挖掘相關(guān)信息進(jìn)行解析,獲得對應(yīng)的挖掘命令,例如通過用戶接口程序,發(fā)送至搜索引擎后臺服務(wù)模塊開放的測試接口。在此,挖掘命令主要指策略和分支標(biāo)識碼,是指搜索引擎模塊代碼中的策略和分支的唯一標(biāo)識。
[0052]搜索引擎中的命令獲取裝置205獲取自用例生成設(shè)備發(fā)送的挖掘命令。例如,通過用戶接口程序,獲取該挖掘命令。
[0053]數(shù)據(jù)挖掘裝置206根據(jù)所述挖掘命令,基于排序路徑進(jìn)行挖掘處理,以獲得用于生成測試用例的輸入數(shù)據(jù),其中,所述輸入數(shù)據(jù)命中搜索引擎相關(guān)性排序。在此,該數(shù)據(jù)挖掘裝置206根據(jù)該命令獲取裝置205所獲取的挖掘命令,挖掘命中該搜索引擎相關(guān)性排序的輸入數(shù)據(jù),如挖掘命中策略或分支的輸入數(shù)據(jù),并推送到用例目錄下,以作為測試用例的輸入數(shù)據(jù)。
[0054]數(shù)據(jù)返回裝置207將所述輸入數(shù)據(jù)返回至所述用例生成設(shè)備。
[0055]用例生成設(shè)備I中的數(shù)據(jù)獲取單元202b獲取所述搜索引擎所返回的基于所述挖掘命令的輸入數(shù)據(jù),其中,所述輸入數(shù)據(jù)命中所述搜索引擎相關(guān)性排序。
[0056]優(yōu)選地,該用例生成設(shè)備I還包括探針植入裝置(未示出),該搜索引擎還包括探針接受裝置(未示出)。該探針植入裝置在所述搜索引擎的預(yù)定位置植入測試探針;該搜索引擎中的探針接受裝置在預(yù)定位置接受所述用例生成設(shè)備所植入的測試探針;其中,該搜索引擎中的數(shù)據(jù)挖掘裝置206根據(jù)挖掘命令中的排序標(biāo)識,與所述排序路徑中的排序標(biāo)識進(jìn)行匹配處理,其中,所述排序路徑與所述測試探針相對應(yīng);當(dāng)匹配成功時,將所述測試探針采集的數(shù)據(jù)作為所述輸入數(shù)據(jù),其中,所述輸入數(shù)據(jù)命中所述搜索引擎相關(guān)性排序。該用例生成設(shè)備I中的數(shù)據(jù)獲取單元202b獲取所述搜索引擎所返回的基于所述挖掘命令在所述測試探針中匹配所獲得的輸入數(shù)據(jù),其中,所述輸入數(shù)據(jù)命中所述搜索引擎相關(guān)性排序。
[0057]在此,對搜索引擎模塊的代碼進(jìn)行可測性改造,用例生成設(shè)備I中的探針植入裝置在搜索引擎的預(yù)定位置植入測試探針,如在該搜索引擎的模塊代碼的策略和策略的重要分支的最終生效位置植入測試探針。在此,該測試探針用于排序標(biāo)識和信息采集,該測試探針記錄代碼流程經(jīng)過的策略路徑(排序路徑)和采集測試用例所需的輸入數(shù)據(jù),最后匹配接收到的挖掘命令與經(jīng)過的排序路徑是否一致來決定挖掘是否成功,若匹配成功,則輸出采集的數(shù)據(jù)。在此,排序標(biāo)識可通過為每個測試探針分配標(biāo)識碼,輸出標(biāo)識碼,形成排序路徑文件的形式實(shí)現(xiàn);信息采集,可通過重載探針函數(shù),對策略內(nèi)部的各種數(shù)據(jù)類型的中間數(shù)據(jù)或模塊間的接口數(shù)據(jù)輸出到指定文件中。
[0058]在此,策略或重要分支的生效位置,一般指策略、重要分支最終產(chǎn)生作用的位置,而不是中間異常退出的位置,可認(rèn)為,測試探針被經(jīng)過了,則該策略或重要分支最終作用了,這些“預(yù)定位置”由策略開發(fā)工程師在策略制定階段確定的。
[0059]在此,測試探針只覆蓋策略的重要分支,植入測試探針過程如下偽代碼:
[0060]
【權(quán)利要求】
1.一種用于生成搜索引擎相關(guān)性排序測試用例的方法,其中,該方法包括以下步驟: a獲取待生成測試用例的用例描述文件,其中,所述用例描述文件包括與命中搜索引擎相關(guān)性排序的輸入數(shù)據(jù)相對應(yīng)的挖掘相關(guān)信息及所述測試用例的預(yù)期相關(guān)信息; b獲取搜索引擎所返回的基于所述挖掘相關(guān)信息的輸入數(shù)據(jù),其中,所述輸入數(shù)據(jù)命中所述搜索引擎相關(guān)性排序; c根據(jù)所述測試用例的預(yù)期相關(guān)信息,生成所述測試用例的可執(zhí)行用例文件; d根據(jù)所述輸入數(shù)據(jù),以及所述可執(zhí)行用例文件,確定所述測試用例。
2.根據(jù)權(quán)利要求1所述的方法,其中,所述步驟b包括: bl對所述挖掘相關(guān)信息進(jìn)行解析,以獲得對應(yīng)的挖掘命令,并發(fā)送至所述搜索引擎;b2獲取所述搜索引擎所返回的基于所述挖掘命令的輸入數(shù)據(jù),其中,所述輸入數(shù)據(jù)命中所述搜索引擎相關(guān)性排序。
3.根據(jù)權(quán)利要求2所述的方法,其中,該方法還包括: -在所述搜索引擎的預(yù)定位置植入測試探針; 其中,所述步驟b2包括: -獲取所述搜索引擎所返回的基于所述挖掘命令在所述測試探針中匹配所獲得的輸入數(shù)據(jù),其中,所述輸入數(shù)據(jù)命中所述搜索引擎相關(guān)性排序。
4.根據(jù)權(quán)利要求3所述的方法,其中,所述可執(zhí)行用例文件包括用例預(yù)期,其中,該方法還包括: -將在所述測試探針中匹配所獲得的輸入數(shù)據(jù)與所述用例預(yù)期進(jìn)行匹配,以獲得對應(yīng)的匹配結(jié)果。
5.根據(jù)權(quán)利要求4所述的方法,其中,所述用例預(yù)期包括以下至少任一項: -路徑預(yù)期,其具有粗測試粒度; -表達(dá)式預(yù)期,其具有細(xì)測試粒度。
6.根據(jù)權(quán)利要求1至5中任一項所述的方法,其中,所述步驟c包括: -根據(jù)所述測試用例的預(yù)期相關(guān)信息,加載用例模板,生成所述可執(zhí)行用例文件; 其中,所述預(yù)期相關(guān)信息包括以下至少任一項: -用例執(zhí)行環(huán)境描述; -用例執(zhí)行動作描述; -用例預(yù)期描述。
7.一種在搜索引擎端輔助用于生成搜索引擎相關(guān)性排序測試用例的方法,其中,該方法包括以下步驟: A獲取自用例生成設(shè)備發(fā)送的挖掘命令; B根據(jù)所述挖掘命令,基于排序路徑進(jìn)行挖掘處理,以獲得用于生成測試用例的輸入數(shù)據(jù),其中,所述輸入數(shù)據(jù)命中搜索引擎相關(guān)性排序; C將所述輸入數(shù)據(jù)返回至所述用例生成設(shè)備。
8.根據(jù)權(quán)利要求7所述的方法,其中,該方法還包括: -在預(yù)定位置接受所述用例生成設(shè)備所植入的測試探針; 其中,所述步驟B包括: -根據(jù)挖掘命令中的排序標(biāo) 識,與所述排序路徑中的排序標(biāo)識進(jìn)行匹配處理,其中,所述排序路徑與所述測試探針相對應(yīng); -當(dāng)匹配成功時,將所述測試探針采集的數(shù)據(jù)作為所述輸入數(shù)據(jù),其中,所述輸入數(shù)據(jù)命中所述搜索引擎相關(guān)性排序。
9.一種用于生成 搜索引擎相關(guān)性排序測試用例的用例生成設(shè)備,其中,該設(shè)備包括: 用例獲取裝置,用于獲取待生成測試用例的用例描述文件,其中,所述用例描述文件包括與命中搜索引擎相關(guān)性排序的輸入數(shù)據(jù)相對應(yīng)的挖掘相關(guān)信息及所述測試用例的預(yù)期相關(guān)信息; 數(shù)據(jù)獲取裝置,用于獲取搜索引擎所返回的基于所述挖掘相關(guān)信息的輸入數(shù)據(jù),其中,所述輸入數(shù)據(jù)命中所述搜索引擎相關(guān)性排序; 用例生成裝置,用于根據(jù)所述測試用例的預(yù)期相關(guān)信息,生成所述測試用例的可執(zhí)行用例文件;用例確定裝置,用于根據(jù)所述輸入數(shù)據(jù),以及所述可執(zhí)行用例文件,確定所述測試用例。
10.根據(jù)權(quán)利要求9所述的用例生成設(shè)備,其中,所述數(shù)據(jù)獲取裝置包括: 命令發(fā)送單元,用于對所述挖掘相關(guān)信息進(jìn)行解析,以獲得對應(yīng)的挖掘命令,并發(fā)送至所述搜索引擎; 數(shù)據(jù)獲取單元,用于獲取所述搜索引擎所返回的基于所述挖掘命令的輸入數(shù)據(jù),其中,所述輸入數(shù)據(jù)命中所述搜索引擎相關(guān)性排序。
11.根據(jù)權(quán)利要求10所述的用例生成設(shè)備,其中,該設(shè)備還包括: 探針植入裝置,用于在所述搜索引擎的預(yù)定位置植入測試探針; 其中,所述數(shù)據(jù)獲取單元用于: -獲取所述搜索引擎所返回的基于所述挖掘命令在所述測試探針中匹配所獲得的輸入數(shù)據(jù),其中,所述輸入數(shù)據(jù)命中所述搜索引擎相關(guān)性排序。
12.根據(jù)權(quán)利要求11所述的用例生成設(shè)備,其中,所述可執(zhí)行用例文件包括用例預(yù)期,其中,該設(shè)備還包括: 匹配裝置,用于將在所述測試探針中匹配所獲得的輸入數(shù)據(jù)與所述用例預(yù)期進(jìn)行匹配,以獲得對應(yīng)的匹配結(jié)果。
13.根據(jù)權(quán)利要求12所述的用例生成設(shè)備,其中,所述用例預(yù)期包括以下至少任一項: -路徑預(yù)期,其具有粗測試粒度; -表達(dá)式預(yù)期,其具有細(xì)測試粒度。
14.根據(jù)權(quán)利要求9至13中任一項所述的用例生成設(shè)備,其中,所述用例生成裝置用于: -根據(jù)所述測試用例的預(yù)期相關(guān)信息,加載用例模板,生成所述可執(zhí)行用例文件; 其中,所述預(yù)期相關(guān)信息包括以下至少任一項: -用例執(zhí)行環(huán)境描述; -用例執(zhí)行動作描述; -用例預(yù)期描述。
15.一種輔助用于生成搜索引擎相關(guān)性排序測試用例的搜索引擎,其中,該搜索引擎包括:命令獲取裝置,用于獲取自用例生成設(shè)備發(fā)送的挖掘命令; 數(shù)據(jù)挖掘裝置,用于根據(jù)所述挖掘命令,基于排序路徑進(jìn)行挖掘處理,以獲得用于生成測試用例的輸入數(shù)據(jù),其中,所述輸入數(shù)據(jù)命中搜索引擎相關(guān)性排序; 數(shù)據(jù)返回裝置,用于將所述輸入數(shù)據(jù)返回至所述用例生成設(shè)備。
16.根據(jù)權(quán)利要求15所述的搜索引擎,其中,該搜索引擎還包括: 探針接受裝置,用于在預(yù)定位置接受所述用例生成設(shè)備所植入的測試探針; 其中,所述數(shù)據(jù)挖掘裝置用于: -根據(jù)挖掘命令中的排序標(biāo)識,與所述排序路徑中的排序標(biāo)識進(jìn)行匹配處理,其中,所述排序路徑與所述測試探針相對應(yīng); -當(dāng)匹配成功時,將所述測試探針采集的數(shù)據(jù)作為所述輸入數(shù)據(jù),其中,所述輸入數(shù)據(jù)命中所述搜索引擎相關(guān)性排序。
17.一種用于生成搜索引擎相關(guān)性排序測試用例的系統(tǒng),包括如權(quán)利要求9至14中任一項所述的用例生成設(shè)備及如權(quán)利要求15或16所述的搜索引擎。
【文檔編號】G06F17/30GK103902449SQ201210586591
【公開日】2014年7月2日 申請日期:2012年12月28日 優(yōu)先權(quán)日:2012年12月28日
【發(fā)明者】譚廣明, 孫宇, 孫巍巍, 韓彥俊 申請人:百度在線網(wǎng)絡(luò)技術(shù)(北京)有限公司