一種測試軟件穩(wěn)定性的方法和裝置制造方法
【專利摘要】本發(fā)明提供了一種測試軟件穩(wěn)定性的方法和裝置。方法包括:獲得待測試軟件界面上的有效區(qū)域;在所述有效區(qū)域上進(jìn)行暴力點(diǎn)擊,獲得所述待測試軟件的穩(wěn)定性指標(biāo)。裝置包括:獲得模塊和測試模塊。本發(fā)明提供的方案,對待測試軟件的所有暴力點(diǎn)擊都是有效的暴力點(diǎn)擊,大大去除了點(diǎn)擊無效界面所浪費(fèi)的時(shí)間,使得對軟件穩(wěn)定性的測試更加高效可靠。
【專利說明】一種測試軟件穩(wěn)定性的方法和裝置
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及軟件測試領(lǐng)域,尤其涉及一種測試軟件穩(wěn)定性的方法和裝置。
【背景技術(shù)】
[0002]軟件的穩(wěn)定性測試主要是為了測試軟件的長期穩(wěn)定運(yùn)行能力,在軟件運(yùn)行過程中,對軟件進(jìn)行施壓,獲得軟件的性能指標(biāo)。穩(wěn)定性測試是概率性的檢測,就是說即使穩(wěn)定性測試通過,也不能保證軟件在實(shí)際的運(yùn)行過程中不出問題,因此,如何提高測試的可靠性便成了急需解決的問題。
【發(fā)明內(nèi)容】
[0003]本發(fā)明的目的在于提供一種測試軟件穩(wěn)定性的方法和裝置。
[0004]為達(dá)到上述目的,一方面,本發(fā)明提供了一種測試軟件穩(wěn)定性的方法,包括:
[0005]獲得待測試軟件界面上的有效區(qū)域;
[0006]在所述有效區(qū)域上進(jìn)行暴力點(diǎn)擊,獲得所述待測試軟件的穩(wěn)定性指標(biāo)。
[0007]另一方面,本發(fā)明還提供了一種測試軟件穩(wěn)定性的裝置,包括:
[0008]獲得模塊,用于獲得待測試軟件界面上的有效區(qū)域;
[0009]測試模塊,用于在所述有效區(qū)域上進(jìn)行暴力點(diǎn)擊,獲得所述待測試軟件的穩(wěn)定性指標(biāo)。
[0010]本發(fā)明提供的方案,在對軟件穩(wěn)定性進(jìn)行測試之前,首先獲得待測試軟件界面上的有效區(qū)域,對有效區(qū)域進(jìn)行暴力點(diǎn)擊,獲得待測試軟件的穩(wěn)定值指標(biāo)。使得對待測試軟件的所有暴力點(diǎn)擊都是有效的暴力點(diǎn)擊,大大去除了點(diǎn)擊無效界面所浪費(fèi)的時(shí)間,使得對軟件穩(wěn)定性的測試更加高效可靠。
【專利附圖】
【附圖說明】
[0011]通過閱讀參照以下附圖所作的對非限制性實(shí)施例所作的詳細(xì)描述,本發(fā)明的其它特征、目的和優(yōu)點(diǎn)將會(huì)變得更明顯:
[0012]圖1為本發(fā)明實(shí)施例一提供的測試軟件穩(wěn)定性的方法流程圖;
[0013]圖2為本發(fā)明實(shí)施例二提供的測試軟件穩(wěn)定性的裝置結(jié)構(gòu)示意圖。
【具體實(shí)施方式】
[0014]為使本發(fā)明的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(jié)合附圖對本發(fā)明的實(shí)施例作詳細(xì)描述。
[0015]下面詳細(xì)描述本發(fā)明的實(shí)施例,所述實(shí)施例的示例在附圖中示出,其中自始至終相同或類似的標(biāo)號表示相同或類似的元件或具有相同或類似功能的元件。下面通過參考附圖描述的實(shí)施例是示例性的,僅用于解釋本發(fā)明,而不能理解為對本發(fā)明的限制。相反,本發(fā)明的實(shí)施例包括落入所附加權(quán)利要求書的精神和內(nèi)涵范圍內(nèi)的所有變化、修改和等同物。
[0016]在本發(fā)明的描述中,需要理解的是,術(shù)語“第一”、“第二”等僅用于描述目的,而不能理解為指示或暗示相對重要性。在本發(fā)明的描述中,需要說明的是,除非另有明確的規(guī)定和限定,術(shù)語“相連”、“連接”應(yīng)做廣義理解,例如,可以是固定連接,也可以是可拆卸連接,或一體地連接;可以是機(jī)械連接,也可以是電連接;可以是直接相連,也可以通過中間媒介間接相連。對于本領(lǐng)域的普通技術(shù)人員而言,可以具體情況理解上述術(shù)語在本發(fā)明中的具體含義。此外,在本發(fā)明的描述中,除非另有說明,“多個(gè)”的含義是兩個(gè)或兩個(gè)以上。
[0017]流程圖中或在此以其他方式描述的任何過程或方法描述可以被理解為,表示包括一個(gè)或更多個(gè)用于實(shí)現(xiàn)特定邏輯功能或過程的步驟的可執(zhí)行指令的代碼的模塊、片段或部分,并且本發(fā)明的優(yōu)選實(shí)施方式的范圍包括另外的實(shí)現(xiàn),其中可以不按所示出或討論的順序,包括根據(jù)所涉及的功能按基本同時(shí)的方式或按相反的順序,來執(zhí)行功能,這應(yīng)被本發(fā)明的實(shí)施例所屬【技術(shù)領(lǐng)域】的技術(shù)人員所理解。
[0018]圖1為本發(fā)明實(shí)施例一提供的測試軟件穩(wěn)定性的方法流程圖,如圖1所示,該方法包括:
[0019]101、獲得待測試軟件界面上的有效區(qū)域;
[0020]軟件界面上可以區(qū)分為有效區(qū)域和無效區(qū)域。有效區(qū)域的理解包括但不限于:軟件界面上的視頻控件、圖像控件、按鈕、復(fù)選框、列表框、上下文菜單、日期控件、編輯框、繪圖控件、分組控件、圖標(biāo)、輸入框、標(biāo)簽、菜單控件、進(jìn)度條、滑動(dòng)條、單選框、標(biāo)簽頁、樹形列
表等等。
[0021]102、在有效區(qū)域上進(jìn)行暴力點(diǎn)擊,獲得待測試軟件的穩(wěn)定性指標(biāo)。
[0022]平均無故障時(shí)間(Mean Time To Failure,簡稱為:MTTF)是目前使用最為廣泛的一個(gè)衡量穩(wěn)定性的參數(shù)。MTTF值可以理解為待測試軟件在規(guī)定的環(huán)境下,正常工作到發(fā)生下一次故障的平均時(shí)間。
[0023]一種實(shí)施方式下,101中具體可以包括:
[0024]對于待測試軟件界面上的第N個(gè)像素點(diǎn),獲得鼠標(biāo)位于第N個(gè)像素點(diǎn)時(shí)第N個(gè)像素點(diǎn)的第一種界面狀態(tài),以及,鼠標(biāo)不位于第N個(gè)像素點(diǎn)時(shí)第N個(gè)像素點(diǎn)的第二種界面狀態(tài);N為自然數(shù);如果第一種界面狀態(tài)與第二種界面狀態(tài)不同,則第N個(gè)像素點(diǎn)屬于有效區(qū)域。
[0025]不斷變換N的數(shù)值,可以獲得整個(gè)待測試軟件界面上的全部有效區(qū)域。N的數(shù)值的變換,可以是規(guī)律的,例如從頭到尾、從尾到頭、逐行、逐列等等去遍歷所有像素點(diǎn),也可以是隨機(jī)的,隨機(jī)變換N的數(shù)值去遍歷所有像素點(diǎn)。
[0026]對于這種實(shí)施方式需要說明的是,可以調(diào)用相應(yīng)的API函數(shù)來獲得像素點(diǎn)的界面狀態(tài),該函數(shù)可以如下所示:
[0027]winAPI C0L0RREF GetPixel (
[0028]_In_HDC hdc,
[0029]—In—int nXPos,
[0030]—In—int nYPos
[0031]);
[0032]其中的hdc為設(shè)備環(huán)境句柄,nXPo為像素點(diǎn)的x坐標(biāo)邏輯單位,nYPo為像素點(diǎn)的y坐標(biāo)邏輯單位。
[0033]再一種實(shí)施方式下,101中具體可以包括:對于待測試軟件界面上的第M個(gè)像素點(diǎn),獲得鼠標(biāo)位于第M個(gè)像素點(diǎn)時(shí)的鼠標(biāo)指針I(yè)D,M為自然數(shù);如果鼠標(biāo)指針I(yè)D不是默認(rèn)ID,則第N個(gè)像素點(diǎn)屬于有效區(qū)域。
[0034]不斷變換M的數(shù)值,可以獲得整個(gè)待測試軟件界面上的全部有效區(qū)域。M的數(shù)值的變換,可以是規(guī)律的,例如從頭到尾、從尾到頭、逐行、逐列等等去遍歷所有像素點(diǎn),也可以是隨機(jī)的,隨機(jī)變換N的數(shù)值去遍歷所有像素點(diǎn)。
[0035]對于這種實(shí)施方式需要說明的是,可以通過調(diào)用相應(yīng)的函數(shù)來獲得像素點(diǎn)的鼠標(biāo)指針I(yè)D,該函數(shù)如下所示:
[0036]調(diào)用MouseGetCursor O函數(shù),返回的指針I(yè)D編號的含義分別為:
[0037]O=UNKNOffN (未知,包括指針和手型圖標(biāo))
[0038]1=APPSTARTING (后臺運(yùn)行)
[0039]2=ARR0W (正常選擇)
[0040]3=CR0SS (精確定位)
[0041]4=HELP (幫助選擇)
[0042]5=IBEAM (選定文本)
[0043]6=IC0N (圖標(biāo))
[0044]7=N0 (不可用)
[0045]8=SIZE (設(shè)置大小)
[0046]9=SIZEALL (移動(dòng))
[0047]IO=SIZENESff (東北西南沿對角線調(diào)整)
[0048]11=SIZENS (垂直調(diào)整)
[0049]12=SIZENWSE (西北東南沿對角線調(diào)整)
[0050]13=SIZEWE (水平調(diào)整)
[0051]14=UPARR0W (候選)
[0052]15=WAIT (忙碌)
[0053]16=HAND (手型)
[0054]其中,將指針I(yè)D編號2作為默認(rèn)ID。
[0055]進(jìn)一步的,該方法還可以包括:
[0056]對待測試軟件的性能指標(biāo)進(jìn)行監(jiān)控,如果監(jiān)控到性能指標(biāo)超過預(yù)設(shè)閥值,抓取事件痕跡日志,事件痕跡日志用于對待測試軟件的性能進(jìn)行分析;該性能指標(biāo)包括如下指標(biāo)的一種或多種:中央處理器CPU、內(nèi)存、虛存、句柄、線程、輸入輸出(Input Output,簡稱為:10)讀次數(shù)、IO讀大小、IO寫次數(shù)、IO寫大小。
[0057]本發(fā)明提供的方案,在對軟件穩(wěn)定性進(jìn)行測試之前,首先獲得待測試軟件界面上的有效區(qū)域,對有效區(qū)域進(jìn)行暴力點(diǎn)擊,獲得待測試軟件的穩(wěn)定值指標(biāo)。使得對待測試軟件的所有暴力點(diǎn)擊都是有效的暴力點(diǎn)擊,大大去除了點(diǎn)擊無效界面所浪費(fèi)的時(shí)間,使得對軟件穩(wěn)定性的測試更加高效可靠。進(jìn)一步的,在對穩(wěn)定性進(jìn)行測試的同時(shí),還可以獲得待測試軟件的性能指標(biāo),對待測試軟件給出更為全面并且準(zhǔn)確的評價(jià)。圖2為本發(fā)明實(shí)施例二提供的測試軟件穩(wěn)定性的裝置結(jié)構(gòu)示意圖,該裝置為上述方法的執(zhí)行主體,流程可參考上述方法實(shí)施例,此處不做贅述。參見圖2,該裝置可以包括:獲得模塊201和測試模塊202。其中,獲得模塊201用于獲得待測試軟件界面上的有效區(qū)域;測試模塊202用于在所述有效區(qū)域上進(jìn)行暴力點(diǎn)擊,獲得所述待測試軟件的穩(wěn)定性指標(biāo)。
[0058]一種實(shí)施方式下,獲得模塊201可以包括:
[0059]第一獲得單元,用于對于所述待測試軟件界面上的第N個(gè)像素點(diǎn),獲得鼠標(biāo)位于所述第N個(gè)像素點(diǎn)時(shí)所述第N個(gè)像素點(diǎn)的第一種界面狀態(tài),以及,鼠標(biāo)不位于所述第N個(gè)像素點(diǎn)時(shí)所述第N個(gè)像素點(diǎn)的第二種界面狀態(tài);N為自然數(shù);
[0060]第一確定單元,用于如果所述獲得模塊獲得的第一種界面狀態(tài)與第二種界面狀態(tài)不同,則確定所述第N個(gè)像素點(diǎn)屬于有效區(qū)域。
[0061]又一種實(shí)施方式下,獲得模塊201可以包括:
[0062]第二獲得單元,用于對于所述待測試軟件界面上的第M個(gè)像素點(diǎn),獲得鼠標(biāo)位于所述第M個(gè)像素點(diǎn)時(shí)的鼠標(biāo)指針I(yè)D, M為自然數(shù);
[0063]第二確定單元,用于如果所述鼠標(biāo)指針I(yè)D不是默認(rèn)ID,則確定所述第N個(gè)像素點(diǎn)屬于有效區(qū)域。
[0064]還一種實(shí)施方式下,該裝置還可以包括:
[0065]監(jiān)控模塊,用于對所述待測試軟件的性能指標(biāo)進(jìn)行監(jiān)控,如果監(jiān)控到所述性能指標(biāo)超過預(yù)設(shè)閥值,抓取事件痕跡日志,所述事件痕跡日志用于對所述待測試軟件的性能進(jìn)行分析;所述性能指標(biāo)包括如下指標(biāo)的一種或多種:CPU、內(nèi)存、虛存、句柄、線程、IO讀次數(shù)、IO讀大小、IO寫次數(shù)、IO寫大小。
[0066]本發(fā)明提供的方案,在對軟件穩(wěn)定性進(jìn)行測試之前,首先獲得待測試軟件界面上的有效區(qū)域,對有效區(qū)域進(jìn)行暴力點(diǎn)擊,獲得待測試軟件的穩(wěn)定值指標(biāo)。使得對待測試軟件的所有暴力點(diǎn)擊都是有效的暴力點(diǎn)擊,大大去除了點(diǎn)擊無效界面所浪費(fèi)的時(shí)間,使得對軟件穩(wěn)定性的測試更加高效可靠。進(jìn)一步的,在對穩(wěn)定性進(jìn)行測試的同時(shí),還可以獲得待測試軟件的性能指標(biāo),對待測試軟件給出更為全面并且準(zhǔn)確的評價(jià)。
[0067]還需要說明的是,本發(fā)明提供的方法可以實(shí)施為計(jì)算機(jī)程序軟件,例如根據(jù)本發(fā)明的實(shí)施例可以是一種計(jì)算機(jī)程序產(chǎn)品,運(yùn)行該程序產(chǎn)品使計(jì)算機(jī)執(zhí)行用于所示范的方法。所述計(jì)算機(jī)程序產(chǎn)品包括計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),該介質(zhì)上包含計(jì)算機(jī)程序邏輯或代碼部分,用于實(shí)現(xiàn)所述移動(dòng)終端的消息的內(nèi)容的處理方法。所述計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)可以是被安裝在計(jì)算機(jī)中的內(nèi)置介質(zhì)或者可從計(jì)算機(jī)主體拆卸的可移動(dòng)介質(zhì)(例如熱拔插技術(shù)存儲(chǔ)設(shè)備)。所述內(nèi)置介質(zhì)包括但不限于可重寫的非易失性存儲(chǔ)器,例如RAM、ROM、快閃存儲(chǔ)器和硬盤。所述可移動(dòng)介質(zhì)包括但不限于:光存儲(chǔ)媒體(例如⑶-ROM和DVD)、磁光存儲(chǔ)媒體(例如MO)、磁存儲(chǔ)媒體(例如盒帶或移動(dòng)硬盤)、具有內(nèi)置的可重寫的非易失性存儲(chǔ)器的媒體(例如存儲(chǔ)卡)和具有內(nèi)置ROM的媒體(例如ROM盒)。
[0068]本領(lǐng)域技術(shù)人員應(yīng)當(dāng)理解,任何具有適當(dāng)編程裝置的計(jì)算機(jī)系統(tǒng)都將能夠執(zhí)行包含在程序產(chǎn)品中的本發(fā)明的方法的諸步驟。盡管本說明書中描述的多數(shù)【具體實(shí)施方式】都側(cè)重于軟件程序,但是作為固件和硬件實(shí)現(xiàn)本發(fā)明提供的方法的替代實(shí)施例同樣在本發(fā)明要求保護(hù)的范圍之內(nèi)。
[0069]以上所揭露的僅為本發(fā)明的一些較佳實(shí)施例而已,當(dāng)然不能以此來限定本發(fā)明之權(quán)利范圍,因此依本發(fā)明權(quán)利要求所作的等同變化,仍屬本發(fā)明所涵蓋的范圍。
【權(quán)利要求】
1.一種測試軟件穩(wěn)定性的方法,其特征在于,包括: 獲得待測試軟件界面上的有效區(qū)域; 在所述有效區(qū)域上進(jìn)行暴力點(diǎn)擊,獲得所述待測試軟件的穩(wěn)定性指標(biāo)。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述獲得待測試軟件界面上的有效區(qū)域,包括: 對于所述待測試軟件界面上的第N個(gè)像素點(diǎn),獲得鼠標(biāo)位于所述第N個(gè)像素點(diǎn)時(shí)所述第N個(gè)像素點(diǎn)的第一種界面狀態(tài),以及,鼠標(biāo)不位于所述第N個(gè)像素點(diǎn)時(shí)所述第N個(gè)像素點(diǎn)的第二種界面狀態(tài);N為自然數(shù); 如果所述第一種界面狀態(tài)與第二種界面狀態(tài)不同,則所述第N個(gè)像素點(diǎn)屬于有效區(qū)域。
3.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述獲得待測試軟件界面上的有效區(qū)域,包括: 對于所述待測試軟件界面上的第M個(gè)像素點(diǎn),獲得鼠標(biāo)位于所述第M個(gè)像素點(diǎn)時(shí)的鼠標(biāo)指針I(yè)D,M為自然數(shù); 如果所述鼠標(biāo)指針I(yè)D不是默認(rèn)ID,則所述第N個(gè)像素點(diǎn)屬于有效區(qū)域。
4.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述方法還包括: 對所述待測試軟件的性能指標(biāo)進(jìn)行監(jiān)控,如果監(jiān)控到所述性能指標(biāo)超過預(yù)設(shè)閥值,抓取事件痕跡日志,所述事件痕跡日志用于對所述待測試軟件的性能進(jìn)行分析;所述性能指標(biāo)包括如下指標(biāo)的一種或多種:CPU、內(nèi)存、虛存、句柄、線程、IO讀次數(shù)、IO讀大小、IO寫次數(shù)、IO寫大小。
5.一種測試軟件穩(wěn)定性的裝置,其特征在于,包括: 獲得模塊,用于獲得待測試軟件界面上的有效區(qū)域; 測試模塊,用于在所述有效區(qū)域上進(jìn)行暴力點(diǎn)擊,獲得所述待測試軟件的穩(wěn)定性指標(biāo)。
6.根據(jù)權(quán)利要求5所述的裝置,其特征在于,所述獲得模塊包括: 第一獲得單元,用于對于所述待測試軟件界面上的第N個(gè)像素點(diǎn),獲得鼠標(biāo)位于所述第N個(gè)像素點(diǎn)時(shí)所述第N個(gè)像素點(diǎn)的第一種界面狀態(tài),以及,鼠標(biāo)不位于所述第N個(gè)像素點(diǎn)時(shí)所述第N個(gè)像素點(diǎn)的第二種界面狀態(tài);N為自然數(shù); 第一確定單元,用于如果所述獲得模塊獲得的第一種界面狀態(tài)與第二種界面狀態(tài)不同,則確定所述第N個(gè)像素點(diǎn)屬于有效區(qū)域。
7.根據(jù)權(quán)利要求5所述的裝置,其特征在于,所述獲得模塊包括: 第二獲得單元,用于對于所述待測試軟件界面上的第M個(gè)像素點(diǎn),獲得鼠標(biāo)位于所述第M個(gè)像素點(diǎn)時(shí)的鼠標(biāo)指針I(yè)D, M為自然數(shù); 第二確定單元,用于如果所述鼠標(biāo)指針I(yè)D不是默認(rèn)ID,則確定所述第N個(gè)像素點(diǎn)屬于有效區(qū)域。
8.根據(jù)權(quán)利要求5所述的裝置,其特征在于,所述裝置還包括: 監(jiān)控模塊,用于對所述待測試軟件的性能指標(biāo)進(jìn)行監(jiān)控,如果監(jiān)控到所述性能指標(biāo)超過預(yù)設(shè)閥值,抓取事件痕跡日志,所述事件痕跡日志用于對所述待測試軟件的性能進(jìn)行分析;所述性能指標(biāo)包括如下指標(biāo)的一種或多種:CPU、內(nèi)存、虛存、句柄、線程、IO讀次數(shù)、IO讀大小、IO寫次數(shù)、IO寫大小。
【文檔編號】G06F11/36GK103593290SQ201310573509
【公開日】2014年2月19日 申請日期:2013年11月13日 優(yōu)先權(quán)日:2013年11月13日
【發(fā)明者】彭云鵬, 郭明浩, 康煥平 申請人:安一恒通(北京)科技有限公司