應(yīng)用軟件測試方法、測試裝置及測試設(shè)備的制造方法
【專利摘要】本申請公開了一種應(yīng)用軟件的測試方法、測試裝置及測試設(shè)備。所述測試方法包括:通過大數(shù)據(jù)分析,獲取用戶對所述應(yīng)用軟件的大量操作路徑,并對所述操作路徑進(jìn)行分類;從每個操作路徑類別中提取待測試的操作路徑;以及針對待測試的操作路徑根據(jù)分配的權(quán)重生成多個測試用例并執(zhí)行測試。根據(jù)本申請實施例的技術(shù)方案,依據(jù)大數(shù)據(jù)統(tǒng)計的用戶操作習(xí)慣針對性地設(shè)計隨機測試用例,可以提高測試用例的生成效率和測試效率。進(jìn)一步,按應(yīng)用的功能對操作路徑分類,可以在整體上提高功能測試的覆蓋率。
【專利說明】
應(yīng)用軟件測試方法、測試裝置及測試設(shè)備
技術(shù)領(lǐng)域
[0001]本公開一般涉及軟件測試技術(shù)領(lǐng)域,具體涉及應(yīng)用軟件測試技術(shù),尤其涉及應(yīng)用軟件測試方法、測試裝置及測試設(shè)備。
【背景技術(shù)】
[0002]當(dāng)前移動數(shù)字終端(如手機、PDA、平板電腦)已逐漸發(fā)展為由嵌入式操作系統(tǒng)支持的智能化移動平臺,在其上運行的應(yīng)用軟件越來越豐富,功能越來越復(fù)雜。相應(yīng)地,憑手工設(shè)計、編寫對這些應(yīng)用軟件的測試用例及運行測試也就變成一件耗時費力的工作,完全地覆蓋功能測試變得越來越不可能。這種測試方式已經(jīng)不能適應(yīng)應(yīng)用軟件測試發(fā)展的需要。因此,正在開發(fā)用于應(yīng)用軟件自動化測試的多種隨機測試用例生成技術(shù)。
[0003]但是,目前應(yīng)用軟件的自動化測試用例的生成存在如下問題:測試用例隨機地生成,不符合用戶使用應(yīng)用軟件的操作頻率和操作習(xí)慣,一方面可能導(dǎo)致不常使用的軟件操作被大量測試,另一方面可能會導(dǎo)致使用頻率較高或客戶較為偏好的操作功能得不到充分地測試覆蓋。
【發(fā)明內(nèi)容】
[0004]鑒于現(xiàn)有技術(shù)中的上述缺陷或不足,期望提供一種能有效提高測試效率的自動化測試用例生成方案和測試方案。進(jìn)一步地,還期望提供一種能較全面覆蓋功能點測試的測試方案。
[0005]—方面,本發(fā)明提供一種應(yīng)用軟件的測試方法,所述測試方法包括:
[0006]通過大數(shù)據(jù)分析,獲取用戶對所述應(yīng)用軟件的大量操作路徑,并對所述操作路徑進(jìn)行分類;
[0007]從每個操作路徑類別中提取待測試的操作路徑;以及
[0008]針對待測試的操作路徑根據(jù)分配的權(quán)重生成多個測試用例并執(zhí)行測試。
[0009]另一方面,本發(fā)明還提供一種應(yīng)用軟件的測試裝置,所述測試裝置包括:
[0010]路徑分類裝置,用于通過大數(shù)據(jù)分析,獲取用戶對所述應(yīng)用軟件的大量操作路徑,并對所述操作路徑進(jìn)行分類;
[0011]路徑提取裝置,用于從每個操作路徑類別中提取待測試的操作路徑;以及
[0012]測試用例生成裝置,用于針對待測試的操作路徑根據(jù)分配的權(quán)重生成多個測試用例并執(zhí)行測試。
[0013]又一方面,本發(fā)明還提供一種測試設(shè)備,包括處理器、存儲器,所述存儲器包含可由所述處理器執(zhí)行的指令以使得所述處理器執(zhí)行:
[0014]通過大數(shù)據(jù)分析,獲取用戶對所述應(yīng)用軟件的大量操作路徑,并對所述操作路徑進(jìn)行分類;
[0015]從每個操作路徑類別中提取待測試的操作路徑;以及
[0016]針對待測試的操作路徑根據(jù)分配的權(quán)重生成多個測試用例并執(zhí)行測試。
[0017]根據(jù)本發(fā)明的實施例,通過對收集自應(yīng)用軟件的用戶使用該應(yīng)用軟件的實際操作信息進(jìn)行大數(shù)據(jù)分析,對操作路徑進(jìn)行分類,然后分配適當(dāng)?shù)臋?quán)重生成多個測試用例執(zhí)行測試,實現(xiàn)了依據(jù)大數(shù)據(jù)統(tǒng)計的用戶操作習(xí)慣針對性地設(shè)計隨機測試用例,可以提高測試用例的生成效率和測試效率。進(jìn)一步地,根據(jù)本發(fā)明的一些實施例,按照應(yīng)用功能對操作路徑進(jìn)行分類并從中選擇待測試的操作路徑,可以在整體上提高功能測試的覆蓋率。
【附圖說明】
[0018]通過閱讀參照以下附圖所作的對非限制性實施例所作的詳細(xì)描述,本申請的其它特征、目的和優(yōu)點將會變得更明顯:
[0019]圖1示出了其中可以應(yīng)用本申請實施例的示例性系統(tǒng)架構(gòu);
[0020]圖2示出了根據(jù)本申請實施例的應(yīng)用軟件的測試方法的示例性流程圖;
[0021]圖3示出了一個示例性應(yīng)用軟件的示例性屏幕截圖;
[0022]圖4示出了根據(jù)本申請一個實施例的應(yīng)用軟件測試裝置的示例性結(jié)構(gòu)框圖;以及
[0023]圖5示出了適于用來實現(xiàn)本申請一個實施例的測試裝置的計算機系統(tǒng)的結(jié)構(gòu)示意圖。
【具體實施方式】
[0024]下面結(jié)合附圖和實施例對本申請作進(jìn)一步的詳細(xì)說明??梢岳斫獾氖牵颂幩枋龅木唧w實施例僅僅用于解釋相關(guān)發(fā)明,而非對該發(fā)明的限定。另外還需要說明的是,為了便于描述,附圖中僅示出了與發(fā)明相關(guān)的部分。
[0025]需要說明的是,在不沖突的情況下,本申請中的實施例及實施例中的特征可以相互組合。下面將參考附圖并結(jié)合實施例來詳細(xì)說明本申請。
[0026]請參考圖1,其示出了可以應(yīng)用本申請實施例的示例性系統(tǒng)架構(gòu)100。
[0027]如圖1所示,系統(tǒng)架構(gòu)100可以包括終端設(shè)備101、102、網(wǎng)絡(luò)103和服務(wù)器104、105、106和107。網(wǎng)絡(luò)103用以在終端設(shè)備101、102和服務(wù)器104、105、106、107之間提供通信鏈路的介質(zhì)。網(wǎng)絡(luò)103可以包括各種連接類型,例如有線、無線通信鏈路或者光纖電纜等等。
[0028]應(yīng)用軟件的客戶端安裝在終端設(shè)備101、102上。用戶110可以使用終端設(shè)備101、102通過網(wǎng)絡(luò)103與應(yīng)用軟件的服務(wù)器端104、105、106、107交互,以訪問各種服務(wù),例如瀏覽網(wǎng)頁、下載數(shù)據(jù)等。當(dāng)然,有些應(yīng)用軟件也可以是脫機應(yīng)用,也即不需連接網(wǎng)絡(luò)即可執(zhí)行應(yīng)用。本申請所提到的“應(yīng)用”包含可以安裝在用戶的電子設(shè)備上并由用戶操作使用的各種應(yīng)用。
[0029]終端設(shè)備101、102可以是各種電子設(shè)備,包括但不限于個人電腦、智能手機、智能電視、平板電腦、個人數(shù)字助理、電子書閱讀器等等。
[0030]服務(wù)器端104、105、106、107可以是提供各種服務(wù)的服務(wù)器。服務(wù)器可以響應(yīng)于用戶的服務(wù)請求而提供服務(wù)??梢岳斫?,一個服務(wù)器可以提供一種或多種服務(wù),同一種服務(wù)也可以由多個服務(wù)器來提供。在本申請的實施例中,所涉及的服務(wù)器可以包括但不限于測試服務(wù)器104。
[0031]應(yīng)該理解,圖1中的終端設(shè)備、網(wǎng)絡(luò)和服務(wù)器的數(shù)目僅僅是示意性的。根據(jù)實現(xiàn)需要,可以具有任意數(shù)目的終端設(shè)備、網(wǎng)絡(luò)和服務(wù)器。
[0032]如【背景技術(shù)】中所提到的,現(xiàn)有技術(shù)一般通過編制應(yīng)用軟件的操作事件生成測試設(shè)備上可執(zhí)行的測試腳本,在測試設(shè)備接收到測試腳本的命令后執(zhí)行相應(yīng)的操作事件的測試。這些技術(shù)方案都未能根據(jù)軟件的實際操作分布來生成測試用例,這會導(dǎo)致軟件測試針對性不強,測試周期長、測試成本高等問題。
[0033]另外,通過在應(yīng)用交互界面程序中嵌入收集用戶操作信息的代碼,雖然能夠發(fā)現(xiàn)交互界面程序中可能存在的缺陷和錯誤,但其收集用戶操作信息后仍采用傳統(tǒng)的數(shù)據(jù)比較方法,例如,序列比對方法,對收集信息的數(shù)據(jù)分析,這會可能導(dǎo)致該方法測試效率不高。
[0034]鑒于現(xiàn)有技術(shù)的上述缺陷,本申請實施例提供一種基于大數(shù)據(jù)分析的應(yīng)用軟件測試方案。通過分析大數(shù)據(jù)的方法,來獲取用戶使用應(yīng)用軟件的操作習(xí)慣,根據(jù)用戶的操作習(xí)慣,針對性地生成自動化的隨機測試用例,進(jìn)行自動化的測試。下面將結(jié)合流程圖來描述本申請實施例的方法。
[0035]參考圖2,其示出了根據(jù)本申請一個實施例的應(yīng)用軟件的測試方法的示例性流程圖。圖2所示的方法可以在圖1中的測試服務(wù)器104中執(zhí)行。
[0036]預(yù)先,測試服務(wù)器接收從應(yīng)用軟件的用戶客戶端收集的用戶使用該應(yīng)用軟件的實際操作的信息。這例如可以通過在應(yīng)用軟件中嵌入收集應(yīng)用軟件的用戶使用該應(yīng)用軟件的實際操作信息的代碼(以下稱作大數(shù)據(jù)收集嵌入程序)來實現(xiàn)。
[0037]如圖2所示,在步驟210中,通過大數(shù)據(jù)分析,獲取用戶對應(yīng)用軟件的大量操作路徑,并對操作路徑進(jìn)行分類。
[0038]由于收集到操作路徑數(shù)量龐大,因此在進(jìn)一步處理前需要對操作路徑進(jìn)行分類。這種分類是為了掌握用戶使用該應(yīng)用軟件的操作習(xí)慣和操作重點,在生成測試用例時有針對性地突出重點功能部分的測試,提高測試用例的生成效率。
[0039]可以采取多種方式對操作路徑進(jìn)行分類。在根據(jù)本發(fā)明的一個實施例中,按照該應(yīng)用軟件的功能模塊對操作路徑進(jìn)行分類。在一些實現(xiàn)中,應(yīng)用軟件的功能模塊可以體現(xiàn)為應(yīng)用軟件在用戶界面上向用戶提供的不同類別的服務(wù)。這種分類有利于從用戶和開發(fā)者的雙重角度覆蓋功能測試點和重點。在另一些實施例中,也可以根據(jù)操作路徑本身的特性進(jìn)行分類。例如,操作路徑為向外發(fā)送信息,或者從外部接收信息,或者存在多種交互,或者存在選擇分支等等。
[0040]可選的或附加的,在對操作路徑進(jìn)行分類后,還可以確定每個操作路徑類別中的熱點操作路徑。在本申請中,熱點操作路徑是指操作次數(shù)超過熱點閾值的操作路徑。熱點閾值可以預(yù)定設(shè)定,也可以根據(jù)實際情況進(jìn)行調(diào)整,例如根據(jù)實際采集的操作路徑數(shù)量規(guī)模來調(diào)整確定。熱點操作路徑的確定有助于在后續(xù)步驟中,根據(jù)實際測試需求來選擇待測試的操作路徑,如后文將詳細(xì)描述的。
[0041]圖3示出根據(jù)本發(fā)明的一個示例性應(yīng)用軟件的功能模塊的分類圖。在該示例中,該應(yīng)用軟件是安裝于用戶智能手機或平板電腦終端上的手機百度App軟件,依據(jù)功能劃分例如可包括:A、搜索模塊;B、糯米模塊;C、個人中心;D、掃一掃等四個模塊。通過運行的大數(shù)據(jù)收集嵌入程序,用戶在運行該應(yīng)用軟件時的操作路徑被采集并匯總。針對匯總的操作路徑,依據(jù)上述四個功能模塊進(jìn)行分類,該分類結(jié)果圖形化展示如圖3所示。
[0042]圖3中還示出了確定熱點操作路徑之后的結(jié)果。如前所述,熱點操作路徑是經(jīng)大數(shù)據(jù)統(tǒng)計分析,用戶操作次數(shù)超過一定熱點閾值的操作路徑。在圖3的示例中,經(jīng)過大數(shù)據(jù)分析統(tǒng)計,確定功能A有2個操作熱點,即文本搜索和圖片搜索;功能B有3個操作熱點,即電影,團購,外賣;功能C有I個操作熱點,即訂單;功能D有2個操作熱點,即掃一掃,我的二維碼。針對不同操作路徑類別,取決于其具體功能,熱點閾值可以相同也可以不同。例如,對于功能B的團購熱點,表征應(yīng)用軟件的全部用戶在一定時間內(nèi),例如一周內(nèi),對糯米模塊的團購功能區(qū)的操作超過3000次以上,也即針對功能B這一類別設(shè)置的熱點閾值為3000。對于功能C的訂單熱點,表征應(yīng)用軟件的全部用戶在一定時間內(nèi),例如一周內(nèi),對個人中心模塊的訂單功能區(qū)的操作超過500次以上,也即針對功能C這一類別設(shè)置的熱點閾值為500。
[0043]返回到圖2,接著,在步驟220中,從每個操作路徑類別中提取待測試的操作路徑。
[0044]可以根據(jù)不同的測試策略來提取待測試的操作路徑。
[0045]在一些實施例中,可以采用平均覆蓋策略。具體的,針對每個操作路徑類別,取出相同數(shù)量的待測試操作路徑。例如,從每個操作路徑類別中分別取出操作次數(shù)排名前N的N個操作路徑。例如,從每個操作路徑類別中分別取出操作次數(shù)排名前10或前20的10個或20個操作路徑,作為待測試的操作路徑。這有利于根據(jù)實際統(tǒng)計的用戶操作的重點進(jìn)行針對性測試,提高測試效率。
[0046]在另一些實施例中,可以采用重點覆蓋策略。具體的,從每個操作路徑類別中分別取出全部或部分熱點操作路徑,作為待測試的操作路徑。
[0047]在又一些實施例中,可以采用非重點或偶然事件覆蓋策略。具體的,從每個操作路徑類別中分別取出非熱點操作路徑,作為待測試的操作路徑。進(jìn)一步的,可以使用一些篩選條件以便提取部分非熱點操作路徑,例如操作次數(shù)低于預(yù)定閾值的操作路徑,從而對一些非常用操作進(jìn)行測試,以全面考慮應(yīng)用軟件的各項功能特性。這彌補了可靠性測試對非熱點操作路徑的測試,能夠有效提高測試的覆蓋率。
[0048]接下來,在步驟230中,針對待測試的操作路徑根據(jù)分配的權(quán)重生成多個測試用例并執(zhí)行測試。可以采取多種方式進(jìn)行權(quán)重分配。
[0049]在一個實施例中,針對所提取的每個操作路徑根據(jù)相同的權(quán)重生成相等數(shù)量的隨機測試用例。這種權(quán)重分配方式可以稱為權(quán)重平均模式。無論在步驟220中采取何種測試策略來提取待測試的操作路徑,都可以針對提取出的待測試操作路徑應(yīng)用這種相同的權(quán)重。
[0050]在一種實現(xiàn)中,當(dāng)在步驟220中按照平均覆蓋策略針對每個操作路徑類別取出相同數(shù)量的待測試操作路徑時,例如,從每個操作路徑類別中分別取出操作次數(shù)排名前10或前20的情況下,賦予前10或前20名中每個操作路徑相同的權(quán)重,來生成相等數(shù)量的隨機測試用例。
[0051]在另一種實現(xiàn)中,當(dāng)在步驟220中按照重點覆蓋策略從每個操作路徑分類中提取全部或部分熱點操作路徑時,針對所提取的每個熱點操作路徑生成數(shù)量相等的隨機測試用例。
[0052]在再一種實現(xiàn)中,當(dāng)在步驟220中按照非重點覆蓋策略從每個操作路徑類別中分別取出非熱點操作路徑時,針對所提取的每個非熱點操作路徑生成數(shù)量相等的隨機測試用例。
[0053]在另一個實施例中,當(dāng)在步驟220中提取的待測試操作路徑為熱點操作路徑時,可以根據(jù)與其所屬操作路徑類別中包含的熱點操作路徑數(shù)目對應(yīng)的權(quán)重來生成對應(yīng)數(shù)量的隨機測試用例。這種權(quán)重分配方式可以稱為權(quán)重?zé)狳c一致模式。
[0054]例如,在上述的手機百度應(yīng)用軟件的示例中,四個功能模塊A、搜索模塊;B、糯米模塊;C、個人中心;D、掃一掃分別具有2、3、1、2個熱點操作路徑,則針對所提取出的功能模塊A下的每個熱點操作路徑生成2x個隨機測試用例,針對所提取出的功能模塊B下的每個熱點操作路徑生成3x個隨機測試用例,針對功能模塊C下的每個熱點操作路徑生成Ix個隨機測試用例,針對功能模塊D下的每個熱點操作路徑生成2x個隨機測試用例。
[0055]在又一個實施例中,針對所提取的每個操作路徑,可以根據(jù)隨機的權(quán)重來生成隨機數(shù)量的隨機測試用例。這種權(quán)重分配方式可以稱為權(quán)重隨機模式。隨機的權(quán)重例如可以通過調(diào)用random函數(shù)來生成。無論在步驟220中采取何種測試策略來提取待測試的操作路徑,都可以針對提取出的待測試操作路徑應(yīng)用這種隨機的權(quán)重。
[0056]例如,在一種實現(xiàn)中,當(dāng)在步驟220中按照平均覆蓋策略針對每個操作路徑類別取出相同數(shù)量的待測試操作路徑時,例如,從每個操作路徑類別中分別取出操作次數(shù)排名前10或前20的情況下,賦予前10或前20名中每個操作路徑隨機的權(quán)重,來生成隨機數(shù)量的隨機測試用例。
[0057]在另一種實現(xiàn)中,當(dāng)在步驟220中按照重點覆蓋策略從每個操作路徑分類中提取全部或部分熱點操作路徑時,針對所提取的每個熱點操作路徑生成隨機數(shù)量的隨機測試用例。
[0058]在再一種實現(xiàn)中,當(dāng)在步驟220中按照非重點覆蓋策略從每個操作路徑類別中分別取出非熱點操作路徑時,針對所提取的每個非熱點操作路徑生成隨機數(shù)量的隨機測試用例。
[0059]本領(lǐng)域技術(shù)人員可以理解,上面描述的各種提取待測試操作路徑的策略和分配權(quán)重的策略可以單獨使用,也可以結(jié)合使用,本申請在此方面沒有限制。例如,可以在提取熱點操作路徑,分配與熱點一致的權(quán)重,生成測試用例并執(zhí)行測試后,又提取非熱點操作路徑,分配隨機權(quán)重,生成相應(yīng)的測試用例以執(zhí)行測試。
[0060]從上面描述可以看出,本發(fā)明的實施例通過對收集自應(yīng)用軟件的用戶使用該應(yīng)用軟件的實際操作信息進(jìn)行大數(shù)據(jù)分析,對操作路徑進(jìn)行分類,然后分配適當(dāng)?shù)臋?quán)重生成多個測試用例執(zhí)行測試,實現(xiàn)了依據(jù)大數(shù)據(jù)統(tǒng)計的用戶操作習(xí)慣針對性地設(shè)計隨機測試用例,可以提高測試用例的生成效率和測試效率。進(jìn)一步地,根據(jù)本發(fā)明的一些實施例,按照應(yīng)用功能對操作路徑進(jìn)行分類并從中選擇待測試的操作路徑,可以在整體上提高功能測試的覆蓋率。
[0061]應(yīng)當(dāng)注意,盡管在附圖中以特定順序描述了本發(fā)明方法的操作,但是,這并非要求或者暗示必須按照該特定順序來執(zhí)行這些操作,或是必須執(zhí)行全部所示的操作才能實現(xiàn)期望的結(jié)果。相反,流程圖中描繪的步驟可以改變執(zhí)行順序。附加地或備選地,可以省略某些步驟,將多個步驟合并為一個步驟執(zhí)行,和/或?qū)⒁粋€步驟分解為多個步驟執(zhí)行。
[0062]進(jìn)一步參考圖4,其示出了根據(jù)本申請一個實施例的應(yīng)用軟件的測試裝置400的示例性結(jié)構(gòu)框圖。圖2所示的方法可以由圖4示出的測試裝置400來執(zhí)行。
[0063]如圖4所示,該測試裝置400包括:路徑分類裝置410,路徑提取裝置420和測試用例生成裝置430。路徑分類裝置410用于通過大數(shù)據(jù)分析,獲取用戶對應(yīng)用軟件的大量操作路徑,并對操作路徑進(jìn)行分類。路徑提取裝置420用于從每個操作路徑類別中提取待測試的操作路徑。測試用例生成裝置430用于針對待測試的操作路徑根據(jù)分配的權(quán)重生成多個測試用例并執(zhí)行測試。
[0064]在本發(fā)明的一個實施例中,路徑分類裝置410進(jìn)一步用于按照應(yīng)用軟件的功能模塊對操作路徑進(jìn)行分類。
[0065]在本發(fā)明的一個實施例中,路徑分類裝置420還用于確定每個操作路徑類別中的熱點操作路徑,熱點操作路徑是操作次數(shù)超過熱點閾值的操作路徑。
[0066]在本發(fā)明的一個實施例中,路徑提取裝置420進(jìn)一步用于:從每個操作路徑類別中分別取出操作次數(shù)排名前N的N個操作路徑;并且測試用例生成裝置430進(jìn)一步用于:針對所提取的每個操作路徑根據(jù)相同的權(quán)重生成相等數(shù)量的隨機測試用例;其中N為正整數(shù)。
[0067]在本發(fā)明的一個實施例中,路徑提取裝置420進(jìn)一步用于:從每個操作路徑類別中取出熱點操作路徑;并且測試用例生成裝置430進(jìn)一步用于:針對所提取的每個熱點操作路徑,根據(jù)與其所屬操作路徑類別中包含的熱點操作路徑數(shù)目對應(yīng)的權(quán)重生成對應(yīng)數(shù)量的隨機測試用例。
[0068]在本發(fā)明的一個實施例中,路徑提取裝置420進(jìn)一步用于:從每個操作路徑類別中取出熱點操作路徑;并且測試用例生成裝置430進(jìn)一步用于:針對所提取的每個熱點操作路徑,根據(jù)隨機的權(quán)重生成隨機數(shù)量的隨機測試用例。
[0069]在本發(fā)明的一個實施例中,路徑提取裝置420進(jìn)一步用于:從每個操作路徑類別中取出非熱點操作路徑;并且測試用例生成裝置430進(jìn)一步用于:針對所提取的每個非熱點操作路徑,根據(jù)隨機的權(quán)重生成隨機數(shù)量的隨機測試用例。
[0070]應(yīng)當(dāng)理解,測試裝置400中記載的諸模塊或單元與參考圖2描述的方法中的各個步驟相對應(yīng)。由此,上文針對方法描述的操作和特征同樣適用于系統(tǒng)400及其中包含的單元,在此不再贅述。
[0071]下面參考圖5,其示出了適于用來實現(xiàn)本申請實施例的測試裝置的計算機系統(tǒng)500的結(jié)構(gòu)示意圖,該計算機系統(tǒng)構(gòu)成測試應(yīng)用軟件的測試設(shè)備。
[0072]如圖5所示,計算機系統(tǒng)500包括中央處理單元(CPU)501,其可以根據(jù)存儲在只讀存儲器(R0M)502中的程序或者從存儲部分508加載到隨機訪問存儲器(RAM)503中的程序而執(zhí)行各種適當(dāng)?shù)膭幼骱吞幚?。在RAM 503中,還存儲有系統(tǒng)500操作所需的各種程序和數(shù)據(jù)。CPU 50KROM 502以及RAM 503通過總線504彼此相連。輸入/輸出(I/O)接口505也連接至總線 504。
[0073]以下部件連接至I/O接口505:包括鍵盤、鼠標(biāo)等的輸入部分506 ;包括諸如陰極射線管(CRT)、液晶顯示器(LCD)等以及揚聲器等的輸出部分507;包括硬盤等的存儲部分508;以及包括諸如LAN卡、調(diào)制解調(diào)器等的網(wǎng)絡(luò)接口卡的通信部分509。通信部分509經(jīng)由諸如因特網(wǎng)的網(wǎng)絡(luò)執(zhí)行通信處理。驅(qū)動器510也根據(jù)需要連接至I/O接口 505??刹鹦督橘|(zhì)511,諸如磁盤、光盤、磁光盤、半導(dǎo)體存儲器等等,根據(jù)需要安裝在驅(qū)動器510上,以便于從其上讀出的計算機程序根據(jù)需要被安裝入存儲部分508。
[0074]特別地,根據(jù)本公開的實施例,上文參考圖2描述的過程可以被實現(xiàn)為計算機軟件程序。例如,本公開的實施例包括一種計算機程序產(chǎn)品,其包括有形地包含在機器可讀介質(zhì)上的計算機程序,所述計算機程序包含用于執(zhí)行圖2的方法的程序代碼。在這樣的實施例中,該計算機程序可以通過通信部分509從網(wǎng)絡(luò)上被下載和安裝,和/或從可拆卸介質(zhì)511被安裝。
[0075]附圖中的流程圖和框圖,圖示了按照本發(fā)明各種實施例的系統(tǒng)、方法和計算機程序產(chǎn)品的可能實現(xiàn)的體系架構(gòu)、功能和操作。在這點上,流程圖或框圖中的每個方框可以代表一個模塊、程序段、或代碼的一部分,所述模塊、程序段、或代碼的一部分包含一個或多個用于實現(xiàn)規(guī)定的邏輯功能的可執(zhí)行指令。也應(yīng)當(dāng)注意,在有些作為替換的實現(xiàn)中,方框中所標(biāo)注的功能也可以以不同于附圖中所標(biāo)注的順序發(fā)生。例如,兩個接連地表示的方框?qū)嶋H上可以基本并行地執(zhí)行,它們有時也可以按相反的順序執(zhí)行,這依所涉及的功能而定。也要注意的是,框圖和/或流程圖中的每個方框、以及框圖和/或流程圖中的方框的組合,可以用執(zhí)行規(guī)定的功能或操作的專用的基于硬件的系統(tǒng)來實現(xiàn),或者可以用專用硬件與計算機指令的組合來實現(xiàn)。
[0076]描述于本申請實施例中所涉及到的單元或模塊可以通過軟件的方式實現(xiàn),也可以通過硬件的方式來實現(xiàn)。所描述的單元或模塊也可以設(shè)置在處理器中。這些單元或模塊的名稱在某種情況下并不構(gòu)成對該單元或模塊本身的限定。
[0077]作為另一方面,本申請還提供了一種計算機可讀存儲介質(zhì),該計算機可讀存儲介質(zhì)可以是上述實施例中所述裝置中所包含的計算機可讀存儲介質(zhì);也可以是單獨存在,未裝配入設(shè)備中的計算機可讀存儲介質(zhì)。計算機可讀存儲介質(zhì)存儲有一個或者一個以上程序,所述程序被一個或者一個以上的處理器用來執(zhí)行描述于本申請的測試方法。
[0078]以上描述僅為本申請的較佳實施例以及對所運用技術(shù)原理的說明。本領(lǐng)域技術(shù)人員應(yīng)當(dāng)理解,本申請中所涉及的發(fā)明范圍,并不限于上述技術(shù)特征的特定組合而成的技術(shù)方案,同時也應(yīng)涵蓋在不脫離所述發(fā)明構(gòu)思的情況下,由上述技術(shù)特征或其等同特征進(jìn)行任意組合而形成的其它技術(shù)方案。例如上述特征與本申請中公開的(但不限于)具有類似功能的技術(shù)特征進(jìn)行互相替換而形成的技術(shù)方案。
【主權(quán)項】
1.一種應(yīng)用軟件的測試方法,其特征在于,所述測試方法包括: 通過大數(shù)據(jù)分析,獲取用戶對所述應(yīng)用軟件的大量操作路徑,并對所述操作路徑進(jìn)行分類; 從每個操作路徑類別中提取待測試的操作路徑;以及 針對待測試的操作路徑根據(jù)分配的權(quán)重生成多個測試用例并執(zhí)行測試。2.根據(jù)權(quán)利要求1所述的測試方法,其特征在于,所述分類包括:按照所述應(yīng)用軟件的功能模塊對所述操作路徑進(jìn)行分類。3.根據(jù)權(quán)利要求1或2所述的測試方法,其特征在于,所述測試方法還包括: 確定每個操作路徑類別中的熱點操作路徑,所述熱點操作路徑是操作次數(shù)超過熱點閾值的操作路徑。4.根據(jù)權(quán)利要求1或2所述的測試方法,其特征在于, 所述提取待測試的操作路徑包括:從每個操作路徑類別中分別取出操作次數(shù)排名前N的N個操作路徑;并且 所述生成多個測試用例包括:針對所提取的每個操作路徑根據(jù)相同的權(quán)重生成相等數(shù)量的隨機測試用例; 其中N為正整數(shù)。5.根據(jù)權(quán)利要求3所述的測試方法,其特征在于, 所述提取待測試的操作路徑包括:從每個操作路徑類別中取出熱點操作路徑;并且所述生成多個測試用例包括:針對所提取的每個熱點操作路徑,根據(jù)與其所屬操作路徑類別中包含的熱點操作路徑數(shù)目對應(yīng)的權(quán)重生成對應(yīng)數(shù)量的隨機測試用例。6.根據(jù)權(quán)利要求3所述的測試方法,其特征在于, 所述提取待測試的操作路徑包括:從每個操作路徑類別中取出熱點操作路徑;并且所述生成多個測試用例包括:針對所提取的每個熱點操作路徑,根據(jù)隨機的權(quán)重生成隨機數(shù)量的隨機測試用例。7.根據(jù)權(quán)利要求3所述的測試方法,其特征在于, 所述提取待測試的操作路徑包括:從每個操作路徑類別中取出非熱點操作路徑;并且所述生成多個測試用例包括:針對所提取的每個非熱點操作路徑,根據(jù)隨機的權(quán)重生成隨機數(shù)量的隨機測試用例。8.一種應(yīng)用軟件的測試裝置,其特征在于,所述裝置包括: 路徑分類裝置,用于通過大數(shù)據(jù)分析,獲取用戶對所述應(yīng)用軟件的大量操作路徑,并對所述操作路徑進(jìn)行分類; 路徑提取裝置,用于從每個操作路徑類別中提取待測試的操作路徑;以及測試用例生成裝置,用于針對待測試的操作路徑根據(jù)分配的權(quán)重生成多個測試用例并執(zhí)行測試。9.根據(jù)權(quán)利要求8所述的測試裝置,其特征在于,所述路徑分類裝置進(jìn)一步用于按照所述應(yīng)用軟件的功能模塊對所述操作路徑進(jìn)行分類。10.根據(jù)權(quán)利要求8或9所述的測試裝置,其特征在于,所述路徑分類裝置還用于確定每個操作路徑類別中的熱點操作路徑,所述熱點操作路徑是操作次數(shù)超過熱點閾值的操作路徑。11.根據(jù)權(quán)利要求8或9所述的測試裝置,其特征在于, 所述路徑提取裝置進(jìn)一步用于:從每個操作路徑類別中分別取出操作次數(shù)排名前N的N個操作路徑;并且 所述測試用例生成裝置進(jìn)一步用于:針對所提取的每個操作路徑根據(jù)相同的權(quán)重生成相等數(shù)量的隨機測試用例; 其中N為正整數(shù)。12.根據(jù)權(quán)利要求10所述的測試裝置,其特征在于, 所述路徑提取裝置進(jìn)一步用于:從每個操作路徑類別中取出熱點操作路徑;并且 所述測試用例生成裝置進(jìn)一步用于:針對所提取的每個熱點操作路徑,根據(jù)與其所屬操作路徑類別中包含的熱點操作路徑數(shù)目對應(yīng)的權(quán)重生成對應(yīng)數(shù)量的隨機測試用例。13.根據(jù)權(quán)利要求10所述的測試方法,其特征在于, 所述路徑提取裝置進(jìn)一步用于:從每個操作路徑類別中取出熱點操作路徑;并且 所述測試用例生成裝置進(jìn)一步用于:針對所提取的每個熱點操作路徑,根據(jù)隨機的權(quán)重生成隨機數(shù)量的隨機測試用例。14.根據(jù)權(quán)利要求10所述的測試裝置,其特征在于, 所述路徑提取裝置進(jìn)一步用于:從每個操作路徑類別中取出非熱點操作路徑;并且 所述測試用例生成裝置進(jìn)一步用于:針對所提取的每個非熱點操作路徑,根據(jù)隨機的權(quán)重生成隨機數(shù)量的隨機測試用例。15.一種測試設(shè)備,包括處理器和存儲器;其特征在于: 所述存儲器包含可由所述處理器執(zhí)行的指令以使得所述處理器執(zhí)行: 通過大數(shù)據(jù)分析,獲取用戶對所述應(yīng)用軟件的大量操作路徑,并對所述操作路徑進(jìn)行分類; 從每個操作路徑類別中提取待測試的操作路徑;以及 針對待測試的操作路徑根據(jù)分配的權(quán)重生成多個測試用例并執(zhí)行測試。
【文檔編號】G06F11/36GK105893253SQ201610187836
【公開日】2016年8月24日
【申請日】2016年3月29日
【發(fā)明人】王海龍, 何軍, 李彥成
【申請人】百度在線網(wǎng)絡(luò)技術(shù)(北京)有限公司