專利名稱:一種自動(dòng)化測(cè)試方法和設(shè)備的制作方法
技術(shù)領(lǐng)域:
本申請(qǐng)涉及計(jì)算機(jī)技術(shù)領(lǐng)域,尤其涉及一種自動(dòng)化測(cè)試方法和設(shè)備。
背景技術(shù):
在自動(dòng)化測(cè)試技術(shù)中,需要使用測(cè)試用例對(duì)被測(cè)對(duì)象進(jìn)行測(cè)試,并根據(jù)測(cè)試結(jié)果進(jìn)行斷言,進(jìn)而確定被測(cè)對(duì)象是否處于正常運(yùn)行的狀態(tài)。在一個(gè)測(cè)試用例的執(zhí)行過(guò)程中,首先向被測(cè)對(duì)象發(fā)起測(cè)試請(qǐng)求,等待被測(cè)對(duì)象根據(jù)接收到的測(cè)試請(qǐng)求進(jìn)行計(jì)算操作或是業(yè)務(wù)處理操作后返回測(cè)試結(jié)果,并根據(jù)返回的測(cè)試結(jié)果進(jìn)行斷言。在測(cè)試用例的執(zhí)行過(guò)程中,被測(cè)對(duì)象進(jìn)行計(jì)算操作或是業(yè)務(wù)處理操作需要占用一段時(shí)間,在該段時(shí)間內(nèi),測(cè)試用例將會(huì)一直處于等待狀態(tài),持續(xù)占用系統(tǒng)資源。傳統(tǒng)的自動(dòng)化測(cè)試方案采用的是串行測(cè)試,將待執(zhí)行的測(cè)試用例進(jìn)行排序,在前一個(gè)測(cè)試用例執(zhí)行完成之后再執(zhí)行下一個(gè)測(cè)試用例。在串行測(cè)試方式下,如果前一個(gè)測(cè)試用例在執(zhí)行過(guò)程中需要等待較長(zhǎng)的時(shí)間才能得到被測(cè)對(duì)象返回的測(cè)試結(jié)果,后一個(gè)測(cè)試用例只能等待前一個(gè)測(cè)試用例完成后才能執(zhí)行,因此在串行測(cè)試方式下,測(cè)試過(guò)程的效率低下。為了解決測(cè)試過(guò)程效率低下的問(wèn)題,目前提出了一種并行測(cè)試方式,即多進(jìn)程或者多臺(tái)計(jì)算機(jī)網(wǎng)絡(luò)分布式并行執(zhí)行測(cè)試用例的方式。在并行測(cè)試方式下,多個(gè)測(cè)試用例同時(shí)執(zhí)行,則一個(gè)測(cè)試用例在等待測(cè)試結(jié)果的過(guò)程中,不會(huì)阻塞其他測(cè)試用例的執(zhí)行。但是, 測(cè)試用例在等待測(cè)試結(jié)果時(shí)會(huì)一直占用系統(tǒng)資源,如果測(cè)試用例等待的時(shí)間較長(zhǎng),則這種并行測(cè)試方式將會(huì)浪費(fèi)大量的系統(tǒng)資源,特別是對(duì)于需要使用大量的測(cè)試用例對(duì)被測(cè)對(duì)象進(jìn)行測(cè)試時(shí),因系統(tǒng)資源被等待測(cè)試結(jié)果的測(cè)試用例占用,從而導(dǎo)致系統(tǒng)資源利用效率低下。綜上所述,目前的自動(dòng)化測(cè)試技術(shù)中,存在測(cè)試用例在等待測(cè)試結(jié)果的過(guò)程中浪費(fèi)系統(tǒng)資源的問(wèn)題。申請(qǐng)內(nèi)容本申請(qǐng)的目的在于,提供一種自動(dòng)化測(cè)試方法和設(shè)備,用以解決現(xiàn)有技術(shù)中存在的測(cè)試用例在等待測(cè)試結(jié)果的過(guò)程中浪費(fèi)系統(tǒng)資源的問(wèn)題。一種自動(dòng)化測(cè)試的方法,包括步驟1)、執(zhí)行測(cè)試用例,根據(jù)測(cè)試用例向被測(cè)對(duì)象發(fā)起測(cè)試請(qǐng)求;步驟2)、停止執(zhí)行所述測(cè)試用例;步驟3)、根據(jù)設(shè)定的觸發(fā)條件,執(zhí)行停止的測(cè)試用例對(duì)應(yīng)的斷言用例。一種自動(dòng)化測(cè)試設(shè)備,包括測(cè)試用例執(zhí)行模塊,用于執(zhí)行測(cè)試用例,并根據(jù)測(cè)試用例向被測(cè)對(duì)象發(fā)起測(cè)試請(qǐng)求;停止模塊,用于在發(fā)起測(cè)試請(qǐng)求之后,停止執(zhí)行測(cè)試用例;斷言用例執(zhí)行模塊,用于根據(jù)設(shè)定的觸發(fā)條件,執(zhí)行停止的測(cè)試用例對(duì)應(yīng)的斷言用例。本申請(qǐng)有益效果如下本申請(qǐng)將測(cè)試過(guò)程中的用例劃分為測(cè)試用例和斷言用例兩部分,在測(cè)試用例執(zhí)行完畢后停止該測(cè)試用例,在停止測(cè)試用例之后再執(zhí)行對(duì)應(yīng)的斷言用例,進(jìn)而確定被測(cè)對(duì)象的狀態(tài)。由于本申請(qǐng)方案中將測(cè)試用例和斷言用例作為兩個(gè)獨(dú)立的用例,在測(cè)試用例執(zhí)行完畢后停止該測(cè)試用例,因此避免了在等待被測(cè)設(shè)備返回測(cè)試結(jié)果的過(guò)程中占用系統(tǒng)資源,減少了系統(tǒng)資源的浪費(fèi)。
圖1為本申請(qǐng)實(shí)施例一執(zhí)行自動(dòng)化測(cè)試的方法示意圖;圖2為本申請(qǐng)實(shí)施例二配置文件的結(jié)構(gòu)示意圖;圖3為本申請(qǐng)實(shí)施例二執(zhí)行自動(dòng)化測(cè)試的方法示意圖;圖4為本申請(qǐng)實(shí)施例三配置文件的結(jié)構(gòu)示意圖;圖5為本申請(qǐng)實(shí)施例三執(zhí)行自動(dòng)化測(cè)試的方法示意圖;圖6為本申請(qǐng)實(shí)施例四自動(dòng)化測(cè)試設(shè)備結(jié)構(gòu)示意圖。
具體實(shí)施例方式本申請(qǐng)?zhí)岢鰧y(cè)試過(guò)程中的用例劃分為測(cè)試用例和斷言用例兩部分,并對(duì)針對(duì)同一測(cè)試過(guò)程的測(cè)試用例和斷言用例關(guān)聯(lián)在一起,在對(duì)被測(cè)對(duì)象進(jìn)行測(cè)試時(shí),執(zhí)行完成測(cè)試用例之后停止該測(cè)試用例,以達(dá)到釋放系統(tǒng)資源的目的;停止測(cè)試用例之后再執(zhí)行對(duì)應(yīng)的斷言用例,確定被測(cè)對(duì)象的狀態(tài)。通過(guò)本申請(qǐng)的方案,在等待測(cè)試結(jié)果時(shí),測(cè)試用例無(wú)需占用系統(tǒng)資源,減少了系統(tǒng)資源浪費(fèi)。下面結(jié)合說(shuō)明書附圖對(duì)本申請(qǐng)的方案進(jìn)行詳細(xì)說(shuō)明。實(shí)施例一如圖1所示,為本申請(qǐng)實(shí)施例一中執(zhí)行自動(dòng)化測(cè)試的方法示意圖,所述方法包括以下步驟步驟101 服務(wù)器執(zhí)行測(cè)試用例,根據(jù)測(cè)試用例向被測(cè)對(duì)象發(fā)起測(cè)試請(qǐng)求。根據(jù)被測(cè)對(duì)象測(cè)試需求的不同,設(shè)計(jì)不同的測(cè)試用例,在服務(wù)器端啟動(dòng)這些測(cè)試用例時(shí),根據(jù)測(cè)試用例向被測(cè)對(duì)象發(fā)起相應(yīng)的測(cè)試請(qǐng)求,被測(cè)對(duì)象收到測(cè)試請(qǐng)求后執(zhí)行相應(yīng)的計(jì)算操作或是業(yè)務(wù)處理操作。此時(shí),服務(wù)器可對(duì)當(dāng)前執(zhí)行的測(cè)試用例的執(zhí)行狀態(tài)進(jìn)行監(jiān)控,包括但不限于監(jiān)控測(cè)試用例是否處于運(yùn)行狀態(tài)和/或監(jiān)控測(cè)試用例占用的系統(tǒng)資源(包括系統(tǒng)的CPU、內(nèi)存等)等。本實(shí)施例中的服務(wù)器是自動(dòng)化測(cè)試過(guò)程的發(fā)起者,同時(shí)也是對(duì)自動(dòng)化測(cè)試過(guò)程進(jìn)行實(shí)時(shí)監(jiān)控的監(jiān)控者。服務(wù)器可能需要執(zhí)行多個(gè)測(cè)試用例,因此可能需要對(duì)多個(gè)被測(cè)對(duì)象發(fā)起測(cè)試請(qǐng)求,也可能需要針對(duì)一個(gè)被測(cè)對(duì)象發(fā)起多個(gè)測(cè)試請(qǐng)求,這些測(cè)試用例可以采用并行的方式執(zhí)行。 步驟102 停止執(zhí)行測(cè)試用例。 該步驟中,服務(wù)器還可對(duì)被測(cè)對(duì)象進(jìn)行監(jiān)控,判斷被測(cè)對(duì)象是否正確接收到測(cè)試請(qǐng)求,若是,則停止執(zhí)行被測(cè)對(duì)象已成功接收的測(cè)試請(qǐng)求對(duì)應(yīng)的測(cè)試用例;否則,確定被測(cè)對(duì)象處于非正常狀態(tài),停止執(zhí)行該測(cè)試用例,并且可設(shè)定不再執(zhí)行該測(cè)試用例對(duì)應(yīng)的斷言用例。具體地,監(jiān)控被測(cè)對(duì)象是否正確接收到測(cè)試請(qǐng)求包括但不限于以下方式對(duì)被測(cè)對(duì)象針對(duì)測(cè)試請(qǐng)求返回的響應(yīng)進(jìn)行實(shí)時(shí)監(jiān)控,當(dāng)被測(cè)對(duì)象針對(duì)某一個(gè)或多個(gè)測(cè)試請(qǐng)求返回響應(yīng)時(shí),表明該測(cè)試請(qǐng)求已被被測(cè)對(duì)象成功接收;如果未監(jiān)控到被測(cè)對(duì)象針對(duì)測(cè)試請(qǐng)求返回的響應(yīng),則表明該測(cè)試請(qǐng)求未被被測(cè)對(duì)象成功接收。已經(jīng)成功接收到測(cè)試請(qǐng)求的被測(cè)對(duì)象將在后臺(tái)進(jìn)行計(jì)算操作或是業(yè)務(wù)處理操作, 服務(wù)器端對(duì)應(yīng)的測(cè)試用例運(yùn)行或停止都不會(huì)對(duì)被測(cè)對(duì)象產(chǎn)生影響,因此服務(wù)器可停止被測(cè)對(duì)象已成功接收的測(cè)試請(qǐng)求對(duì)應(yīng)的測(cè)試用例,釋放該停止的測(cè)試用例占用的系統(tǒng)資源,這樣可避免現(xiàn)有技術(shù)中因等待被測(cè)對(duì)象的測(cè)試結(jié)果而造成測(cè)試用例占用系統(tǒng)資源的問(wèn)題,大幅提高了服務(wù)器端系統(tǒng)資源的利用率。步驟103 根據(jù)設(shè)定的斷言用例的觸發(fā)條件,執(zhí)行該停止的測(cè)試用例對(duì)應(yīng)的斷言用例。在步驟102中雖然停止執(zhí)行測(cè)試用例,但被測(cè)對(duì)象仍然在繼續(xù)執(zhí)行計(jì)算操作或是業(yè)務(wù)處理操作。為了進(jìn)一步確定被測(cè)對(duì)象是否處于正常運(yùn)行的狀態(tài),在停止執(zhí)行測(cè)試用例之后,建立停止的測(cè)試用例對(duì)應(yīng)的斷言用例的觸發(fā)條件,在斷言用例的觸發(fā)條件滿足時(shí)執(zhí)
行停止的測(cè)試用例對(duì)應(yīng)的斷言用例,利用該斷言用例對(duì)被測(cè)對(duì)象返回的測(cè)試結(jié)果進(jìn)行斷 、
曰ο在本實(shí)施例一中,停止測(cè)試用例之后觸發(fā)對(duì)應(yīng)的斷言用例的觸發(fā)條件包括但不限于以下兩種第一種觸發(fā)條件將每個(gè)測(cè)試用例對(duì)應(yīng)的異步回調(diào)間隔作為觸發(fā)條件,所述異步回調(diào)間隔是指測(cè)試用例停止執(zhí)行至對(duì)應(yīng)的斷言用例開始執(zhí)行之間的時(shí)間間隔。在該異步回調(diào)間隔內(nèi),停止執(zhí)行異步回調(diào)間隔對(duì)應(yīng)的測(cè)試用例且未執(zhí)行對(duì)應(yīng)的斷言用例,由被測(cè)對(duì)象在后臺(tái)執(zhí)行計(jì)算操作或是業(yè)務(wù)處理操作,這樣可有效地減少系統(tǒng)資源的占用。第二種觸發(fā)條件將接收到被測(cè)對(duì)象返回的測(cè)試結(jié)果作為觸發(fā)條件。也就是說(shuō),在停止執(zhí)行測(cè)試用例且被測(cè)對(duì)象返回測(cè)試結(jié)果之前,不執(zhí)行對(duì)應(yīng)的斷言用例,以減少系統(tǒng)資源的占用;在被測(cè)對(duì)象返回測(cè)試結(jié)果后,執(zhí)行對(duì)應(yīng)的斷言用例,這樣能夠在最短的時(shí)間內(nèi)執(zhí)行斷言用例,提高了自動(dòng)化測(cè)試的效率。通過(guò)實(shí)施例一的方案,將測(cè)試用例和斷言用例異步執(zhí)行,在等待被測(cè)對(duì)象返回測(cè)試結(jié)果時(shí),測(cè)試用例不再占用系統(tǒng)資源,減少了系統(tǒng)資源浪費(fèi);進(jìn)一步地,在測(cè)試用例停止后,使用上述第一種斷言用例的觸發(fā)條件觸發(fā)斷言用例時(shí),能夠使斷言用例在系統(tǒng)處于相對(duì)空閑的狀態(tài)被調(diào)用;使用上述第二種斷言用例的觸發(fā)條件觸發(fā)斷言用例時(shí),由于被測(cè)對(duì)象已完成計(jì)算操作或業(yè)務(wù)操作,在保證系統(tǒng)資源高效的利用率的情況下,提高了測(cè)試效率。實(shí)施例二本實(shí)施例二以異步回調(diào)間隔作為觸發(fā)條件對(duì)實(shí)施例一的方案進(jìn)行詳細(xì)說(shuō)明。在本實(shí)施例二中,通過(guò)配置文件預(yù)先對(duì)測(cè)試用例和對(duì)應(yīng)的斷言用例進(jìn)行資源配置,如圖2所示,為配置文件的結(jié)構(gòu)示意圖,對(duì)本配置文件的說(shuō)明如下配置文件中包含測(cè)試用例注冊(cè)表、斷言用例注冊(cè)表和異步斷言規(guī)則表。測(cè)試用例注冊(cè)表中記錄了每個(gè)測(cè)試用例的名稱、位置和請(qǐng)求超時(shí)時(shí)長(zhǎng)。其中,測(cè)試用例的名稱唯一表示測(cè)試用例;測(cè)試用例的位置表示服務(wù)器調(diào)用測(cè)試用例時(shí)的訪問(wèn)地址; 請(qǐng)求超時(shí)時(shí)長(zhǎng)表示針對(duì)測(cè)試用例的測(cè)試請(qǐng)求向被測(cè)對(duì)象發(fā)送后,收到被測(cè)對(duì)象響應(yīng)的最大延遲時(shí)長(zhǎng)。斷言用例注冊(cè)表中也記錄了每個(gè)斷言用例的名稱、位置和斷言超時(shí)時(shí)長(zhǎng)。其中, 斷言用例的名稱唯一表示斷言用例;斷言用例的位置表示服務(wù)器調(diào)用斷言用例時(shí)的訪問(wèn)地址;斷言超時(shí)時(shí)長(zhǎng)表示調(diào)用斷言用例后接收被測(cè)對(duì)象發(fā)送的測(cè)試結(jié)果的最大延遲時(shí)長(zhǎng)。異步斷言規(guī)則表中記錄了測(cè)試用例和斷言用例的對(duì)應(yīng)關(guān)系,以及測(cè)試用例與異步回調(diào)時(shí)間間隔的對(duì)應(yīng)關(guān)系。在對(duì)測(cè)試用例和對(duì)應(yīng)的斷言用例進(jìn)行資源配置后,可以將配置文件存儲(chǔ)在服務(wù)器或者能夠與服務(wù)器進(jìn)行通信的其它存儲(chǔ)設(shè)備中,然后進(jìn)行自動(dòng)化測(cè)試操作。如圖3所示,本實(shí)施例二的方案包括以下步驟步驟301 服務(wù)器執(zhí)行測(cè)試用例,根據(jù)執(zhí)行的測(cè)試用例向被測(cè)對(duì)象發(fā)起測(cè)試請(qǐng)求。在本步驟之前,服務(wù)器可以加載配置文件,執(zhí)行執(zhí)行測(cè)試用例注冊(cè)表中的測(cè)試用例,根據(jù)測(cè)試用例向被測(cè)對(duì)象發(fā)起測(cè)試請(qǐng)求。在本實(shí)施例中,測(cè)試用例采用并行的方式執(zhí)行。并可以設(shè)置請(qǐng)求并行池,所述請(qǐng)求并行池用于記錄待執(zhí)行的測(cè)試用例的測(cè)試請(qǐng)求。服務(wù)器為請(qǐng)求并行池中的每一個(gè)測(cè)試請(qǐng)求分配系統(tǒng)資源,每當(dāng)有新的測(cè)試用例需要執(zhí)行時(shí),向請(qǐng)求并行池中增加該新的測(cè)試用例的測(cè)試請(qǐng)求;當(dāng)有測(cè)試用例執(zhí)行完畢時(shí),從請(qǐng)求并行池中刪除執(zhí)行完畢的測(cè)試用例的測(cè)試請(qǐng)求,并收回對(duì)應(yīng)的已經(jīng)分配系統(tǒng)資源。服務(wù)器根據(jù)加載的配置文件中的請(qǐng)求超時(shí)時(shí)長(zhǎng),判斷是否有測(cè)試用例執(zhí)行完成, 若是,則執(zhí)行步驟302 ;否則,繼續(xù)對(duì)測(cè)試用例的執(zhí)行狀態(tài)進(jìn)行監(jiān)控。服務(wù)器判斷是否有測(cè)試用例執(zhí)行完成的具體實(shí)現(xiàn)方式為首先,從配置文件中讀取執(zhí)行的測(cè)試用例對(duì)應(yīng)的請(qǐng)求超時(shí)時(shí)長(zhǎng)。然后,在發(fā)起測(cè)試請(qǐng)求時(shí),啟動(dòng)計(jì)時(shí)器,針對(duì)每個(gè)測(cè)試用例,判斷在測(cè)試用例對(duì)應(yīng)的請(qǐng)求超時(shí)時(shí)長(zhǎng)到達(dá)之前是否接收到該測(cè)試用例對(duì)應(yīng)的測(cè)試請(qǐng)求的響應(yīng);若接收到,則表示被測(cè)對(duì)象成功接收測(cè)試請(qǐng)求,此時(shí),該測(cè)試用例執(zhí)行完畢,執(zhí)行步驟302 ;否則,繼續(xù)對(duì)是否接收到測(cè)試請(qǐng)求的響應(yīng)進(jìn)行監(jiān)控,如果在請(qǐng)求超時(shí)時(shí)長(zhǎng)到達(dá)時(shí)仍未接收到響應(yīng),表示被測(cè)對(duì)象未成功接收測(cè)試請(qǐng)求(傳輸故障或是被測(cè)對(duì)象非正常運(yùn)行),則停止未接收到響應(yīng)的測(cè)試請(qǐng)求對(duì)應(yīng)的測(cè)試用例,停止的測(cè)試用例所測(cè)試的被測(cè)對(duì)象處于非正常狀態(tài)。此時(shí),確定被測(cè)對(duì)象處于非正常狀態(tài)后,可以繼續(xù)執(zhí)行后續(xù)步驟,也可以不再執(zhí)行停止的測(cè)試用例對(duì)應(yīng)的斷言用例。步驟302 停止執(zhí)行完成的測(cè)試用例。在一個(gè)測(cè)試用例執(zhí)行完成后,從請(qǐng)求并行池中刪除完成的測(cè)試用例對(duì)應(yīng)的測(cè)試請(qǐng)求,并釋放為該測(cè)試請(qǐng)求分配的資源。步驟303 服務(wù)器以異步回調(diào)間隔作為觸發(fā)條件,執(zhí)行停止的測(cè)試用例對(duì)應(yīng)的斷
言用例。服務(wù)器根據(jù)所述配置文件的異步斷言規(guī)則表,得到該停止執(zhí)行的測(cè)試用例所對(duì)應(yīng)的異步回調(diào)間隔和斷言用例。在本步驟中,可以設(shè)定一個(gè)斷言并行表,將停止的測(cè)試用例對(duì)應(yīng)的異步回調(diào)間隔和對(duì)應(yīng)的斷言用例的相關(guān)信息記錄在斷言并行表中,所述相關(guān)信息包括斷言用例的名稱、 地址和斷言超時(shí)時(shí)長(zhǎng)等。當(dāng)服務(wù)器從配置文件中讀取停止的測(cè)試用例對(duì)應(yīng)的異步回調(diào)間隔和斷言用例后,向斷言并行表中增加異步回調(diào)間隔和對(duì)應(yīng)的斷言用例的相關(guān)信息;當(dāng)有斷言用例執(zhí)行完畢時(shí),從斷言并行表中刪除執(zhí)行完畢的斷言用例和對(duì)應(yīng)的異步回調(diào)間隔。確定異步回調(diào)間隔之后,利用所述異步回調(diào)間隔觸發(fā)斷言用例的方案為首先,判斷當(dāng)前時(shí)刻與停止執(zhí)行測(cè)試用例時(shí)刻之間的第一時(shí)長(zhǎng)是否不小于該測(cè)試用例對(duì)應(yīng)的異步回調(diào)間隔;若是,表示在停止測(cè)試用例之后等待的時(shí)長(zhǎng)不小于異步回調(diào)間隔,可以在當(dāng)前時(shí)刻立即執(zhí)行停止的測(cè)試用例對(duì)應(yīng)的斷言用例;否則,表示在停止測(cè)試用例之后等待的時(shí)長(zhǎng)過(guò)短,還未達(dá)到異步回調(diào)間隔,則繼續(xù)等待第二時(shí)長(zhǎng)后再執(zhí)行停止的測(cè)試用例對(duì)應(yīng)的斷言用例,所述第一時(shí)長(zhǎng)與第二時(shí)長(zhǎng)之和不小于該測(cè)試用例對(duì)應(yīng)的異步回調(diào)間隔。在觸發(fā)了斷言用例之后,具體執(zhí)行所述斷言用例的方案為首先,根據(jù)斷言用例注冊(cè)表或斷言并行表中斷言用例與斷言超時(shí)時(shí)長(zhǎng)的對(duì)應(yīng)關(guān)系,確定執(zhí)行的斷言用例對(duì)應(yīng)的斷言超時(shí)時(shí)長(zhǎng)。然后,針對(duì)每個(gè)斷言用例,判斷在斷言用例對(duì)應(yīng)的斷言超時(shí)時(shí)長(zhǎng)到達(dá)之前是否接收到測(cè)試結(jié)果;若是,表示被測(cè)對(duì)象正常地返回了測(cè)試結(jié)果,則斷言用例根據(jù)測(cè)試結(jié)果進(jìn)行斷言,確定被測(cè)對(duì)象的狀態(tài);否則,表示被測(cè)對(duì)象未正常返回測(cè)試結(jié)果(傳輸故障或是被測(cè)對(duì)象非正常運(yùn)行),確定其對(duì)應(yīng)的被測(cè)對(duì)象處于非正常狀態(tài)。步驟304 服務(wù)器判斷測(cè)試用例是否全部執(zhí)行完畢;若是,則執(zhí)行步驟305 ;否則, 轉(zhuǎn)至步驟301,繼續(xù)執(zhí)行請(qǐng)求并行池中未執(zhí)行的測(cè)試請(qǐng)求。并且可繼續(xù)監(jiān)控請(qǐng)求并行池中測(cè)試用例的執(zhí)行完成狀態(tài)。在本實(shí)施例中,服務(wù)器可以根據(jù)請(qǐng)求并行池中是否還有待執(zhí)行的測(cè)試用例來(lái)判斷測(cè)試用例是否全部執(zhí)行完畢。步驟305 服務(wù)器判斷斷言用例是否全部執(zhí)行完成,若是,則停止自動(dòng)化測(cè)試操作;否則,跳轉(zhuǎn)至步驟303,繼續(xù)執(zhí)行斷言并行表未執(zhí)行的斷言用例。并且可繼續(xù)監(jiān)控正在執(zhí)行的斷言用例的完成狀態(tài)。在本實(shí)施例中,服務(wù)器可以根據(jù)斷言并行表中是否還有待執(zhí)行的斷言用例來(lái)判斷斷言用例是否全部執(zhí)行完畢。通過(guò)實(shí)施例二的方案,通過(guò)配置文件中已記錄的異步回調(diào)間隔作為執(zhí)行斷言用例的觸發(fā)條件,使得自動(dòng)化測(cè)試實(shí)現(xiàn)方式簡(jiǎn)便,過(guò)程更加高效。實(shí)施例三本實(shí)施例三以接收被測(cè)對(duì)象返回的測(cè)試結(jié)果作為觸發(fā)條件對(duì)實(shí)施例一的方案進(jìn)行詳細(xì)說(shuō)明。在本實(shí)施例三中,需要對(duì)測(cè)試用例和對(duì)應(yīng)的斷言用例進(jìn)行資源配置,如圖4所示, 為配置文件的結(jié)構(gòu)示意圖,對(duì)本配置文件的說(shuō)明如下配置文件中包含測(cè)試用例注冊(cè)表、斷言用例注冊(cè)表和異步斷言規(guī)則表。測(cè)試用例注冊(cè)表中記錄的信息與圖2中測(cè)試用例注冊(cè)表的信息相同;斷言用例注冊(cè)表中也記錄的信息與圖2中斷言用例注冊(cè)表的信息相同;異步斷言規(guī)則表中記錄了測(cè)試用例和斷言用例的對(duì)應(yīng)關(guān)系。
在對(duì)測(cè)試用例和對(duì)應(yīng)的斷言用例進(jìn)行資源配置后,可以進(jìn)行自動(dòng)化測(cè)試操作,如圖5所示,包括以下步驟(步驟501 步驟502與實(shí)施例二中步驟301 步驟302相同)步驟501 服務(wù)器執(zhí)行測(cè)試用例,根據(jù)執(zhí)行的測(cè)試用例向被測(cè)對(duì)象發(fā)起測(cè)試請(qǐng)求。步驟502 停止執(zhí)行完成的測(cè)試用例。本步驟可以與實(shí)施例二類似地維護(hù)一個(gè)斷言并行表,將從配置文件中讀取的停止執(zhí)行的測(cè)試用例對(duì)應(yīng)的斷言用例的相關(guān)信息記錄在斷言并行表中,所述相關(guān)信息包括斷言用例的名稱、地址和斷言超時(shí)時(shí)長(zhǎng)等。步驟503 服務(wù)器接收被測(cè)對(duì)象返回的測(cè)試結(jié)果作為觸發(fā)條件,執(zhí)行停止的測(cè)試用例對(duì)應(yīng)的斷言用例。服務(wù)器判斷是否接收到停止的測(cè)試用例所測(cè)試的被測(cè)對(duì)象返回的測(cè)試結(jié)果;若是,則執(zhí)行停止的測(cè)試用例對(duì)應(yīng)的斷言用例;否則,確定所述被測(cè)對(duì)象處于非正常狀態(tài)。在本步驟中,可以進(jìn)一步判斷在停止的測(cè)試用例之后,是否在設(shè)定時(shí)長(zhǎng)內(nèi)收到停止的測(cè)試用例所測(cè)試的被測(cè)對(duì)象返回的測(cè)試結(jié)果;若是,則執(zhí)行停止的測(cè)試用例對(duì)應(yīng)的斷言用例;否則,確定所述被測(cè)對(duì)象處于非正常狀態(tài)。在確定被測(cè)對(duì)象處于非正常狀態(tài)之后, 可以繼續(xù)執(zhí)行后續(xù)步驟,也可以不再執(zhí)行停止的測(cè)試用例對(duì)應(yīng)的斷言用例。實(shí)施例三的步驟504 步驟505與實(shí)施例二中步驟304 步驟305相同。步驟504 服務(wù)器判斷測(cè)試用例是否全部執(zhí)行完畢;若是,則執(zhí)行步驟505 ;否則, 轉(zhuǎn)至步驟501。在本實(shí)施例中,服務(wù)器可以根據(jù)請(qǐng)求并行池中是否還有待執(zhí)行的測(cè)試用例來(lái)判斷測(cè)試用例是否全部執(zhí)行完畢。步驟505 服務(wù)器判斷斷言用例是否全部執(zhí)行完成,若是,則停止自動(dòng)化測(cè)試操作;否則,跳轉(zhuǎn)至步驟503,繼續(xù)執(zhí)行斷言用例。在本實(shí)施例中,服務(wù)器可以根據(jù)斷言并行表中是否還有待執(zhí)行的斷言用例來(lái)判斷斷言用例是否全部執(zhí)行完畢。通過(guò)本實(shí)施例三的方案,在確定被測(cè)對(duì)象已經(jīng)完成計(jì)算操作和業(yè)務(wù)處理的情況下調(diào)用斷言用例,在最短的時(shí)間內(nèi)正確執(zhí)行斷言,提高了自動(dòng)化測(cè)試的效率。實(shí)施例四本實(shí)施例四提供一種自動(dòng)化測(cè)試設(shè)備,如圖6所示,包括測(cè)試用例執(zhí)行模塊11、停止模塊12和斷言用例執(zhí)行模塊13,其中測(cè)試用例執(zhí)行模塊11用于執(zhí)行測(cè)試用例,并根據(jù)測(cè)試用例向被測(cè)對(duì)象發(fā)起測(cè)試請(qǐng)求;停止模塊12用于在發(fā)起測(cè)試請(qǐng)求之后,停止執(zhí)行測(cè)試用例;斷言用例執(zhí)行模塊13用于在停止執(zhí)行測(cè)試用例之后,根據(jù)設(shè)定的觸發(fā)條件,執(zhí)行停止的測(cè)試用例對(duì)應(yīng)的斷言用例。所述觸發(fā)條件為停止執(zhí)行的測(cè)試用例對(duì)應(yīng)的異步回調(diào)間隔或接收到被測(cè)對(duì)象返回的測(cè)試結(jié)果,因此,所述停止模塊12可以是當(dāng)被測(cè)對(duì)象正確接收到所述測(cè)試請(qǐng)求時(shí),或者是等待異步回調(diào)間隔后,停止執(zhí)行被測(cè)對(duì)象已成功接收的測(cè)試請(qǐng)求對(duì)應(yīng)的測(cè)試用例。具體地,所述停止模塊12包括請(qǐng)求超時(shí)時(shí)長(zhǎng)判斷模塊201、測(cè)試用例停止模塊202 和測(cè)試用例非正常狀態(tài)確定模塊203,其中請(qǐng)求超時(shí)時(shí)長(zhǎng)判斷模塊201用于判斷在每個(gè)測(cè)試用例對(duì)應(yīng)的請(qǐng)求超時(shí)時(shí)長(zhǎng)到達(dá)之前是否接收到該測(cè)試用例對(duì)應(yīng)的測(cè)試請(qǐng)求的響應(yīng),若是觸發(fā)測(cè)試用例停止模塊202,否則,觸發(fā)測(cè)試用例非正常狀態(tài)確定模塊203 ;測(cè)試用例停止模塊202用于停止接收到響應(yīng)的測(cè)試請(qǐng)求對(duì)應(yīng)的該測(cè)試用例;測(cè)試用例非正常狀態(tài)確定模塊203用于停止未接收到響應(yīng)的測(cè)試請(qǐng)求對(duì)應(yīng)的測(cè)試用例,并確定停止的測(cè)試用例所測(cè)試的被測(cè)對(duì)象處于非正常狀態(tài)。具體地,所述測(cè)試用例執(zhí)行模塊11包括配置文件加載模塊204、測(cè)試用例并行執(zhí)行模塊205和測(cè)試請(qǐng)求發(fā)起模塊206,其中配置文件加載模塊204用于加載配置文件,所述配置文件用于預(yù)先對(duì)測(cè)試用例和對(duì)應(yīng)的斷言用例進(jìn)行資源配置,其中包含測(cè)試用例注冊(cè)表、斷言用例注冊(cè)表和異步斷言規(guī)則表;測(cè)試用例并行執(zhí)行模塊205用于并行執(zhí)行測(cè)試用例注冊(cè)表中的測(cè)試用例;測(cè)試請(qǐng)求發(fā)起模塊206用于根據(jù)測(cè)試用例向被測(cè)對(duì)象發(fā)起測(cè)試請(qǐng)求。其中,所述停止模塊12具體用于根據(jù)測(cè)試用例注冊(cè)表中的各測(cè)試用例及其對(duì)應(yīng)的請(qǐng)求超時(shí)時(shí)長(zhǎng),判斷是否有測(cè)試用例執(zhí)行完成,若是,則停止執(zhí)行完成的測(cè)試用例;否則, 繼續(xù)對(duì)測(cè)試用例的執(zhí)行狀態(tài)進(jìn)行監(jiān)控。具體地,所述斷言用例執(zhí)行模塊13包括觸發(fā)條件判斷模塊207和觸發(fā)執(zhí)行模塊 208,其中觸發(fā)條件判斷模塊207用于根據(jù)異步斷言規(guī)則表中測(cè)試用例與斷言用例的對(duì)應(yīng)關(guān)系判斷是否滿足觸發(fā)條件;觸發(fā)執(zhí)行模塊208用于在滿足所述觸發(fā)條件時(shí),執(zhí)行停止的測(cè)試用例對(duì)應(yīng)的斷言用例。所述測(cè)試用例執(zhí)行模塊11還包括請(qǐng)求并行池模塊209,用于通過(guò)設(shè)定的請(qǐng)求并行池記錄待執(zhí)行的測(cè)試用例的測(cè)試請(qǐng)求,當(dāng)有新的測(cè)試用例需要執(zhí)行時(shí),向所述請(qǐng)求并行池中增加該新的測(cè)試用例的測(cè)試請(qǐng)求并分配系統(tǒng)資源;當(dāng)有測(cè)試用例執(zhí)行完畢時(shí),從請(qǐng)求并行池中刪除執(zhí)行完畢的測(cè)試用例的測(cè)試請(qǐng)求,并收回為執(zhí)行完畢的測(cè)試請(qǐng)求分配的系統(tǒng)資源。所述斷言用例執(zhí)行模塊13還包括斷言并行表模塊210,用于設(shè)定斷言并行表,將停止的測(cè)試用例對(duì)應(yīng)的異步回調(diào)間隔和對(duì)應(yīng)的斷言用例的相關(guān)信息記錄在該斷言并行表中,當(dāng)從配置文件中讀取停止的測(cè)試用例對(duì)應(yīng)的異步回調(diào)間隔和斷言用例后,向斷言并行表中增加異步回調(diào)間隔和對(duì)應(yīng)的斷言用例的相關(guān)信息;當(dāng)有斷言用例執(zhí)行完畢時(shí),從斷言并行表中刪除執(zhí)行完畢的斷言用例和對(duì)應(yīng)的異步回調(diào)間隔。其中,所述測(cè)試用例執(zhí)行模塊11還包括請(qǐng)求用例執(zhí)行完畢判斷模塊211,用于判斷請(qǐng)求并行池中是否還有需要執(zhí)行的測(cè)試請(qǐng)求,若是,則繼續(xù)執(zhí)行執(zhí)行測(cè)試用例;否則,觸發(fā)斷言用例執(zhí)行完畢判斷模塊212。所述斷言用例執(zhí)行模塊13還包括斷言用例執(zhí)行完畢判斷模塊212,用于判斷斷言并行表中是否還有未執(zhí)行的斷言用例,若是,則繼續(xù)執(zhí)行停止的測(cè)試用例對(duì)應(yīng)的斷言用例; 否則,結(jié)束自動(dòng)化測(cè)試。所述斷言用例執(zhí)行模塊13包括斷言超時(shí)時(shí)長(zhǎng)判斷模塊213、觸發(fā)斷言用例模塊 214和斷言用例非正常狀態(tài)確定模塊215,其中斷言超時(shí)時(shí)長(zhǎng)判斷模塊213用于針對(duì)每個(gè)斷言用例,判斷在斷言用例對(duì)應(yīng)的斷言超時(shí)時(shí)長(zhǎng)到達(dá)之前是否接收到測(cè)試結(jié)果,若是,觸發(fā)斷言用例模塊214,否則,觸發(fā)斷言用例非正常狀態(tài)確定模塊215;斷言用例模塊214用于根據(jù)接收到的測(cè)試結(jié)果執(zhí)行該斷言用例;斷言用例非正常狀態(tài)確定模塊215用于確定未接收到測(cè)試結(jié)果的斷言用例對(duì)應(yīng)的被測(cè)對(duì)象處于非正常狀態(tài)。所述斷言用例執(zhí)行模塊13還可以是具體用于判斷當(dāng)前時(shí)刻與停止執(zhí)行測(cè)試用例時(shí)刻之間的第一時(shí)長(zhǎng)是否不小于該測(cè)試用例對(duì)應(yīng)的異步回調(diào)間隔,若是,則執(zhí)行停止的測(cè)試用例對(duì)應(yīng)的斷言用例,否則,等待第二時(shí)長(zhǎng)后執(zhí)行停止的測(cè)試用例對(duì)應(yīng)的斷言用例,所述第一時(shí)長(zhǎng)與第二時(shí)長(zhǎng)之和不小于該測(cè)試用例對(duì)應(yīng)的異步回調(diào)間隔。通過(guò)本申請(qǐng)?zhí)峁┑姆椒ê驮O(shè)備,將測(cè)試用例和斷言用例并行執(zhí)行,解決了串行傳輸時(shí)的阻塞問(wèn)題;同時(shí),在等待被測(cè)對(duì)象返回測(cè)試結(jié)果時(shí),停止測(cè)試用例,減少了系統(tǒng)資源浪費(fèi);并且,通過(guò)異步回調(diào)斷言用例,斷言用例在系統(tǒng)空閑或是在被測(cè)對(duì)象已完成計(jì)算操作或業(yè)務(wù)操作的情況下被調(diào)用,在保證系統(tǒng)資源高效的利用率的情況下,提高了測(cè)試效率。 本領(lǐng)域內(nèi)的技術(shù)人員應(yīng)明白,本申請(qǐng)的實(shí)施例可提供為方法、系統(tǒng)、或計(jì)算機(jī)程序產(chǎn)品。因此,本申請(qǐng)可采用完全硬件實(shí)施例、完全軟件實(shí)施例、或結(jié)合軟件和硬件方面的實(shí)施例的形式。而且,本申請(qǐng)可采用在一個(gè)或多個(gè)其中包含有計(jì)算機(jī)可用程序代碼的計(jì)算機(jī)可用存儲(chǔ)介質(zhì)(包括但不限于磁盤存儲(chǔ)器、CD-ROM、光學(xué)存儲(chǔ)器等)上實(shí)施的計(jì)算機(jī)程序產(chǎn)品的形式。本申請(qǐng)是參照根據(jù)本申請(qǐng)實(shí)施例的方法、設(shè)備(系統(tǒng))、和計(jì)算機(jī)程序產(chǎn)品的流程圖和/或方框圖來(lái)描述的。應(yīng)理解可由計(jì)算機(jī)程序指令實(shí)現(xiàn)流程圖和/或方框圖中的每一流程和/或方框、以及流程圖和/或方框圖中的流程和/或方框的結(jié)合??商峁┻@些計(jì)算機(jī)程序指令到通用計(jì)算機(jī)、專用計(jì)算機(jī)、嵌入式處理機(jī)或其他可編程數(shù)據(jù)處理設(shè)備的處理器以產(chǎn)生一個(gè)機(jī)器,使得通過(guò)計(jì)算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備的處理器執(zhí)行的指令產(chǎn)生用于實(shí)現(xiàn)在流程圖一個(gè)流程或多個(gè)流程和/或方框圖一個(gè)方框或多個(gè)方框中指定的功能的裝置。這些計(jì)算機(jī)程序指令也可存儲(chǔ)在能引導(dǎo)計(jì)算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備以特定方式工作的計(jì)算機(jī)可讀存儲(chǔ)器中,使得存儲(chǔ)在該計(jì)算機(jī)可讀存儲(chǔ)器中的指令產(chǎn)生包括指令裝置的制造品,該指令裝置實(shí)現(xiàn)在流程圖一個(gè)流程或多個(gè)流程和/或方框圖一個(gè)方框或多個(gè)方框中指定的功能。這些計(jì)算機(jī)程序指令也可裝載到計(jì)算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備上,使得在計(jì)算機(jī)或其他可編程設(shè)備上執(zhí)行一系列操作步驟以產(chǎn)生計(jì)算機(jī)實(shí)現(xiàn)的處理,從而在計(jì)算機(jī)或其他可編程設(shè)備上執(zhí)行的指令提供用于實(shí)現(xiàn)在流程圖一個(gè)流程或多個(gè)流程和/或方框圖一個(gè)方框或多個(gè)方框中指定的功能的步驟。盡管已描述了本申請(qǐng)的優(yōu)選實(shí)施例,但本領(lǐng)域內(nèi)的技術(shù)人員一旦得知了基本創(chuàng)造性概念,則可對(duì)這些實(shí)施例做出另外的變更和修改。所以,所附權(quán)利要求意欲解釋為包括優(yōu)選實(shí)施例以及落入本申請(qǐng)范圍的所有變更和修改。顯然,本領(lǐng)域的技術(shù)人員可以對(duì)本申請(qǐng)進(jìn)行各種改動(dòng)和變形而不脫離本申請(qǐng)的精神和范圍。這樣,倘若本申請(qǐng)的這些修改和變形屬于本申請(qǐng)權(quán)利要求及其等同技術(shù)的范圍之內(nèi),則本申請(qǐng)也意圖包含這些改動(dòng)和變形在內(nèi)。
權(quán)利要求
1.一種自動(dòng)化測(cè)試的方法,其特征在于包括步驟1、執(zhí)行測(cè)試用例,根據(jù)測(cè)試用例向被測(cè)對(duì)象發(fā)起測(cè)試請(qǐng)求;步驟2、停止執(zhí)行所述測(cè)試用例;步驟3、根據(jù)設(shè)定的觸發(fā)條件,執(zhí)行停止的測(cè)試用例對(duì)應(yīng)的斷言用例。
2.如權(quán)利要求1所述的方法,其特征在于,設(shè)定測(cè)試用例對(duì)應(yīng)的測(cè)試請(qǐng)求的請(qǐng)求超時(shí)時(shí)長(zhǎng),所述步驟2具體為針對(duì)每個(gè)測(cè)試用例,判斷在請(qǐng)求超時(shí)時(shí)長(zhǎng)到達(dá)之前是否接收到對(duì)應(yīng)測(cè)試請(qǐng)求的響應(yīng), 若接收到,則停止執(zhí)行所述測(cè)試用例;否則,確定該測(cè)試用例所測(cè)試的被測(cè)對(duì)象處于非正常狀態(tài),停止執(zhí)行所述測(cè)試用例。
3.如權(quán)利要求2所述的方法,其特征在于通過(guò)配置文件預(yù)先對(duì)測(cè)試用例和對(duì)應(yīng)的斷言用例進(jìn)行資源配置,配置文件中包含測(cè)試用例注冊(cè)表、斷言用例注冊(cè)表和異步斷言規(guī)則表;所述步驟1具體為,加載該配置文件,并行執(zhí)行測(cè)試用例注冊(cè)表中的測(cè)試用例,根據(jù)測(cè)試用例向被測(cè)對(duì)象發(fā)起測(cè)試請(qǐng)求;所述步驟2具體為,根據(jù)測(cè)試用例注冊(cè)表中的各測(cè)試用例及其對(duì)應(yīng)的請(qǐng)求超時(shí)時(shí)長(zhǎng), 判斷是否有測(cè)試用例執(zhí)行完成,若是,則停止執(zhí)行完成的測(cè)試用例;否則,繼續(xù)對(duì)測(cè)試用例的執(zhí)行狀態(tài)進(jìn)行監(jiān)控;所述步驟3具體為,根據(jù)異步斷言規(guī)則表中測(cè)試用例與斷言用例的對(duì)應(yīng)關(guān)系,當(dāng)滿足觸發(fā)條件時(shí),執(zhí)行停止的測(cè)試用例對(duì)應(yīng)的斷言用例。
4.如權(quán)利要求3所述的方法,其特征在于,通過(guò)設(shè)定請(qǐng)求并行池記錄待執(zhí)行的測(cè)試用例的測(cè)試請(qǐng)求,當(dāng)有新的測(cè)試用例需要執(zhí)行時(shí),向所述請(qǐng)求并行池中增加該新的測(cè)試用例的測(cè)試請(qǐng)求并分配系統(tǒng)資源;當(dāng)有測(cè)試用例執(zhí)行完畢時(shí),從請(qǐng)求并行池中刪除執(zhí)行完畢的測(cè)試用例的測(cè)試請(qǐng)求,并收回為執(zhí)行完畢的測(cè)試請(qǐng)求分配的系統(tǒng)資源。
5.如權(quán)利要求4所述的方法,其特征在于,所述步驟3中還包括設(shè)定斷言并行表,將停止的測(cè)試用例對(duì)應(yīng)的異步回調(diào)間隔和對(duì)應(yīng)的斷言用例的相關(guān)信息記錄在該斷言并行表中,當(dāng)從配置文件中讀取停止的測(cè)試用例對(duì)應(yīng)的異步回調(diào)間隔和斷言用例后,向斷言并行表中增加異步回調(diào)間隔和對(duì)應(yīng)的斷言用例的相關(guān)信息;當(dāng)有斷言用例執(zhí)行完畢時(shí),從斷言并行表中刪除執(zhí)行完畢的斷言用例和對(duì)應(yīng)的異步回調(diào)間隔。
6.如權(quán)利要求1所述的方法,其特征在于,所述步驟3中的所述觸發(fā)條件為停止執(zhí)行的測(cè)試用例對(duì)應(yīng)的異步回調(diào)間隔或接收到被測(cè)對(duì)象返回的測(cè)試結(jié)果。
7.如權(quán)利要求1所述的方法,其特征在于,所述步驟3具體為設(shè)定斷言用例對(duì)應(yīng)的斷言超時(shí)時(shí)長(zhǎng),針對(duì)每個(gè)斷言用例,判斷在斷言超時(shí)時(shí)長(zhǎng)到達(dá)之前是否接收到該斷言用例對(duì)應(yīng)的測(cè)試結(jié)果,若是,則根據(jù)接收到的測(cè)試結(jié)果執(zhí)行該斷言用例;否則,確定未接收到測(cè)試結(jié)果的斷言用例對(duì)應(yīng)的被測(cè)對(duì)象處于非正常狀態(tài)。
8.如權(quán)利要求5所述的方法,其特征在于,所述步驟3之后還包括步驟4、判斷請(qǐng)求并行池中是否還有需要執(zhí)行的測(cè)試請(qǐng)求,若是,則執(zhí)行步驟1 ;否則, 執(zhí)行步驟5 ;步驟5、判斷斷言并行表中是否還有未執(zhí)行的斷言用例;若是,則執(zhí)行步驟3 ;否則,結(jié)束自動(dòng)化測(cè)試。
9.一種自動(dòng)化測(cè)試設(shè)備,其特征在于包括測(cè)試用例執(zhí)行模塊,用于執(zhí)行測(cè)試用例,并根據(jù)測(cè)試用例向被測(cè)對(duì)象發(fā)起測(cè)試請(qǐng)求; 停止模塊,用于在發(fā)起測(cè)試請(qǐng)求之后,停止執(zhí)行測(cè)試用例;斷言用例執(zhí)行模塊,用于根據(jù)設(shè)定的觸發(fā)條件,執(zhí)行停止的測(cè)試用例對(duì)應(yīng)的斷言用例。
10.如權(quán)利要求9所述的設(shè)備,其特征在于,所述停止模塊包括請(qǐng)求超時(shí)時(shí)長(zhǎng)判斷模塊,用于判斷在每個(gè)測(cè)試用例對(duì)應(yīng)的請(qǐng)求超時(shí)時(shí)長(zhǎng)到達(dá)之前是否接收到該測(cè)試用例對(duì)應(yīng)的測(cè)試請(qǐng)求的響應(yīng),若是,則觸發(fā)測(cè)試用例停止模塊,否則,觸發(fā)測(cè)試用例非正常狀態(tài)確定模塊;測(cè)試用例停止模塊,用于停止接收到響應(yīng)的測(cè)試請(qǐng)求對(duì)應(yīng)的該測(cè)試用例; 測(cè)試用例非正常狀態(tài)確定模塊,用于停止未接收到響應(yīng)的測(cè)試請(qǐng)求對(duì)應(yīng)的測(cè)試用例, 并確定停止的測(cè)試用例所測(cè)試的被測(cè)對(duì)象處于非正常狀態(tài)。
11.如權(quán)利要求9或10所述的設(shè)備,其特征在于, 所述測(cè)試用例執(zhí)行模塊包括配置文件加載模塊,用于加載配置文件,所述配置文件用于預(yù)先對(duì)測(cè)試用例和對(duì)應(yīng)的斷言用例進(jìn)行資源配置,其中包含測(cè)試用例注冊(cè)表、斷言用例注冊(cè)表和異步斷言規(guī)則表; 測(cè)試用例并行執(zhí)行模塊,用于并行執(zhí)行測(cè)試用例注冊(cè)表中的測(cè)試用例; 測(cè)試請(qǐng)求發(fā)起模塊,用于根據(jù)測(cè)試用例向被測(cè)對(duì)象發(fā)起測(cè)試請(qǐng)求; 所述停止模塊,具體用于根據(jù)測(cè)試用例注冊(cè)表中的各測(cè)試用例及其對(duì)應(yīng)的請(qǐng)求超時(shí)時(shí)長(zhǎng),判斷是否有測(cè)試用例執(zhí)行完成,若是,則停止執(zhí)行完成的測(cè)試用例;否則,繼續(xù)對(duì)測(cè)試用例的執(zhí)行狀態(tài)進(jìn)行監(jiān)控;所述斷言用例執(zhí)行模塊包括觸發(fā)條件判斷模塊,用于根據(jù)異步斷言規(guī)則表中測(cè)試用例與斷言用例的對(duì)應(yīng)關(guān)系判斷是否滿足觸發(fā)條件;觸發(fā)執(zhí)行模塊,用于在滿足所述觸發(fā)條件時(shí),執(zhí)行停止的測(cè)試用例對(duì)應(yīng)的斷言用例。
12.如權(quán)利要求11所述的設(shè)備,其特征在于, 所述測(cè)試用例執(zhí)行模塊還包括請(qǐng)求并行池模塊,用于通過(guò)設(shè)定的請(qǐng)求并行池記錄待執(zhí)行的測(cè)試用例的測(cè)試請(qǐng)求,當(dāng)有新的測(cè)試用例需要執(zhí)行時(shí),向所述請(qǐng)求并行池中增加該新的測(cè)試用例的測(cè)試請(qǐng)求并分配系統(tǒng)資源;當(dāng)有測(cè)試用例執(zhí)行完畢時(shí),從請(qǐng)求并行池中刪除執(zhí)行完畢的測(cè)試用例的測(cè)試請(qǐng)求,并收回為執(zhí)行完畢的測(cè)試請(qǐng)求分配的系統(tǒng)資源。
13.如權(quán)利要求12所述的設(shè)備,其特征在于, 所述斷言用例執(zhí)行模塊還包括斷言并行表模塊,用于設(shè)定斷言并行表,將停止的測(cè)試用例對(duì)應(yīng)的異步回調(diào)間隔和對(duì)應(yīng)的斷言用例的相關(guān)信息記錄在該斷言并行表中,當(dāng)從配置文件中讀取停止的測(cè)試用例對(duì)應(yīng)的異步回調(diào)間隔和斷言用例后,向斷言并行表中增加異步回調(diào)間隔和對(duì)應(yīng)的斷言用例的相關(guān)信息;當(dāng)有斷言用例執(zhí)行完畢時(shí),從斷言并行表中刪除執(zhí)行完畢的斷言用例和對(duì)應(yīng)的異步回調(diào)間隔。
14.如權(quán)利要求13所述的設(shè)備,其特征在于, 所述測(cè)試用例執(zhí)行模塊還包括請(qǐng)求用例執(zhí)行完畢判斷模塊,用于判斷請(qǐng)求并行池中是否還有需要執(zhí)行的測(cè)試請(qǐng)求, 若是,則繼續(xù)執(zhí)行執(zhí)行測(cè)試用例;否則,觸發(fā)斷言用例執(zhí)行完畢判斷模塊; 所述斷言用例執(zhí)行模塊還包括斷言用例執(zhí)行完畢判斷模塊,用于判斷斷言并行表中是否還有未執(zhí)行的斷言用例,若是,則繼續(xù)執(zhí)行停止的測(cè)試用例對(duì)應(yīng)的斷言用例;否則,結(jié)束自動(dòng)化測(cè)試。
15.如權(quán)利要求9所述的設(shè)備,其特征在于, 所述斷言用例執(zhí)行模塊包括斷言超時(shí)時(shí)長(zhǎng)判斷模塊,用于針對(duì)每個(gè)斷言用例,判斷在斷言用例對(duì)應(yīng)的斷言超時(shí)時(shí)長(zhǎng)到達(dá)之前是否接收到測(cè)試結(jié)果,若是,觸發(fā)斷言用例模塊,否則,觸發(fā)斷言用例非正常狀態(tài)確定模塊;斷言用例模塊,用于根據(jù)接收到的測(cè)試結(jié)果執(zhí)行該斷言用例; 斷言用例非正常狀態(tài)確定模塊,用于確定未接收到測(cè)試結(jié)果的斷言用例對(duì)應(yīng)的被測(cè)對(duì)象處于非正常狀態(tài)。
全文摘要
本發(fā)明公開了一種自動(dòng)化測(cè)試方法和設(shè)備,主要內(nèi)容包括將測(cè)試過(guò)程中的用例劃分為測(cè)試用例和斷言用例兩部分,在測(cè)試用例執(zhí)行完畢后停止該測(cè)試用例,在停止測(cè)試用例之后建立起對(duì)應(yīng)的斷言用例執(zhí)行條件,在所述條件滿足時(shí)再執(zhí)行對(duì)應(yīng)的斷言用例,進(jìn)而確定被測(cè)對(duì)象的狀態(tài)。由于本發(fā)明方案中將測(cè)試用例和斷言用例作為兩個(gè)獨(dú)立的用例,在測(cè)試用例執(zhí)行完畢后停止該測(cè)試用例,因此,避免了在等待被測(cè)設(shè)備返回測(cè)試結(jié)果的過(guò)程中占用系統(tǒng)資源,減少了系統(tǒng)資源的浪費(fèi)。
文檔編號(hào)G06F11/36GK102222036SQ20101015000
公開日2011年10月19日 申請(qǐng)日期2010年4月14日 優(yōu)先權(quán)日2010年4月14日
發(fā)明者曾一迅 申請(qǐng)人:阿里巴巴集團(tuán)控股有限公司