本申請涉及計算機技術領域,尤其涉及一種測試方法和裝置。
背景技術:
隨著互聯(lián)網(wǎng)技術的快速發(fā)展,各種軟件和應用系統(tǒng)的功能變得越來越強大,很多軟件和應用系統(tǒng)都需要大量的測試腳本來進行功能測試。然而,隨著測試腳本的增多,測試效率逐漸降低。
技術實現(xiàn)要素:
有鑒于此,本申請?zhí)峁┮环N測試方法和裝置。
具體地,本申請是通過如下技術方案實現(xiàn)的:
一種測試方法,所述方法包括:
創(chuàng)建一個或多個任務,所述一個或多個任務對應一個或多個文件變量;
基于所述一個或多個任務,執(zhí)行對應文件變量指向的測試套件,所述測試套件中包括有待測試對象的一個或多個測試用例。
可選的,所述創(chuàng)建多個任務,包括:
根據(jù)用戶的指令創(chuàng)建一個第一任務,所述第一任務對應第一文件變量;
獲取所述第一文件變量映射的N個第二文件變量,其中,N為大于1的自然數(shù);
創(chuàng)建一個或多個第二任務,所述第二任務的數(shù)量為N與1的差值,并分別為所述第一任務和所述一個或多個第二任務指定對應的第二文件變量;
所述基于所述多個任務,執(zhí)行對應文件變量指向的測試套件,包括:
基于所述第一任務和所述一個或多個第二任務,并行執(zhí)行對應的第二文件變量指向的測試套件。
可選的,所述分別為所述第一任務和所述一個或多個第二任務指定對應的第二文件變量,包括:
隨機為所述第一任務和所述一個或多個第二任務指定對應的第二文件變量。
可選的,所述方法還包括:
保存第一文件變量與所述N個第二文件變量的映射關系。
可選的,所述測試套件中包括有所述待測試對象在同一應用場景中的一個或多個測試用例。
一種測試裝置,所述裝置包括:
創(chuàng)建單元,創(chuàng)建一個或多個任務,所述一個或多個任務對應一個或多個文件變量;
執(zhí)行單元,基于所述一個或多個任務,執(zhí)行對應文件變量指向的測試套件,所述測試套件中包括有待測試對象的一個或多個測試用例。
可選的,所述創(chuàng)建單元,具體根據(jù)用戶的指令創(chuàng)建一個第一任務,所述第一任務對應第一文件變量;獲取所述第一文件變量映射的N個第二文件變量,其中,N為大于1的自然數(shù);創(chuàng)建一個或多個第二任務,所述第二任務的數(shù)量為N與1的差值,并分別為所述第一任務和所述一個或多個第二任務指定對應的第二文件變量;
所述執(zhí)行單元,具體基于所述第一任務和所述一個或多個第二任務,并行執(zhí)行對應的第二文件變量指向的測試套件。
可選的,所述創(chuàng)建單元,具體隨機為所述第一任務和所述一個或多個第二任務指定對應的第二文件變量。
可選的,所述裝置還包括:
保存單元,保存第一文件變量與所述N個第二文件變量的映射關系。
可選的,所述測試套件中包括有所述待測試對象在同一應用場景中的一 個或多個測試用例。
由以上描述可以看出,本申請可以將待測試對象的多個測試用例分別定義到不同的測試套件中,在對待測試對象進行測試時,可以創(chuàng)建多個任務,每個任務通過執(zhí)行各自文件變量指向的測試套件以實現(xiàn)對待測試對象的并行測試,減少測試時間,進而提高測試效率。同時,本申請在對待測試對象的部分應用場景進行測試時,可以通過創(chuàng)建一個或多個任務來實現(xiàn),無需對待測試對象進行完整測試,提高測試效率。
附圖說明
圖1是本申請一示例性實施例示出的一種測試方法的流程示意圖。
圖2是本申請一示例性實施例示出的另一種測試方法的流程示意圖。
圖3是本申請一示例性實施例示出的一種測試裝置所在終端的一硬件結(jié)構(gòu)圖。
圖4是本申請一示例性實施例示出的一種測試裝置的結(jié)構(gòu)框圖。
具體實施方式
這里將詳細地對示例性實施例進行說明,其示例表示在附圖中。下面的描述涉及附圖時,除非另有表示,不同附圖中的相同數(shù)字表示相同或相似的要素。以下示例性實施例中所描述的實施方式并不代表與本申請相一致的所有實施方式。相反,它們僅是與如所附權(quán)利要求書中所詳述的、本申請的一些方面相一致的裝置和方法的例子。
在本申請使用的術語是僅僅出于描述特定實施例的目的,而非旨在限制本申請。在本申請和所附權(quán)利要求書中所使用的單數(shù)形式的“一種”、“所述”和“該”也旨在包括多數(shù)形式,除非上下文清楚地表示其他含義。還應當理解,本文中使用的術語“和/或”是指并包含一個或多個相關聯(lián)的列出項目的任何或所有可能組合。
應當理解,盡管在本申請可能采用術語第一、第二、第三等來描述各種 信息,但這些信息不應限于這些術語。這些術語僅用來將同一類型的信息彼此區(qū)分開。例如,在不脫離本申請范圍的情況下,第一信息也可以被稱為第二信息,類似地,第二信息也可以被稱為第一信息。取決于語境,如在此所使用的詞語“如果”可以被解釋成為“在……時”或“當……時”或“響應于確定”。
目前,測試人員通常會將待測試對象的所有測試腳本進行排序,比如:將一個軟件或者一個應用系統(tǒng)的所有測試腳本按照需求進行排序或者是隨機排序,并將這些測試腳本定義到一個或者多個測試套件中,然后順序執(zhí)行這些測試套件以對所述待測試對象進行測試。
然而,在這樣的實現(xiàn)方式中,進行測試時的最小維度為軟件或者應用系統(tǒng),且所有測試套件只能串行執(zhí)行。當待測試對象比較簡單時,執(zhí)行所有測試套件的耗時通常會比較短,但是對于一個較為復雜的測試對象,比如:一個中大型的應用系統(tǒng),執(zhí)行所有測試套件的耗時會非常長。
針對上述問題,本申請?zhí)峁┮环N測試方案,可以有減少測試時間,提高測試效率。
圖1是本申請一示例性實施例示出的一種測試方法的流程示意圖。
請參考圖1,所述測試方法可以應用在測試平臺中,包括有以下步驟:
步驟101,創(chuàng)建一個或多個任務,所述一個或多個任務對應一個或多個文件變量。
在本實施例中,測試平臺可以根據(jù)用戶的指令進行任務的創(chuàng)建,比如:當接收到的用戶創(chuàng)建一個任務的指令時,創(chuàng)建一個任務,當接收到的用戶創(chuàng)建多個任務的指令時,創(chuàng)建多個任務,其中,每個任務都對應有一個文件變量,所述文件變量可以由用戶進行輸入。
可選的,在本申請另一實施例中,測試平臺也可以根據(jù)用戶創(chuàng)建一個任務的指令創(chuàng)建一個任務,然后在該任務對應的文件變量映射有的多個文件變量時,根據(jù)所述多個文件變量的數(shù)量再繼續(xù)進行任務的創(chuàng)建,并將所述多個文件變量分別一一指定給創(chuàng)建后的多個任務。
步驟102,基于所述一個或多個任務,執(zhí)行對應文件變量指向的測試套件,所述測試套件中包括有待測試對象的一個或多個測試用例。
在本實施例中,所述待測試對象通常為待測試的軟件或者為待測試的應用系統(tǒng),測試人員可以預先根據(jù)待測試對象所能應用到的應用場景,為所述待測試對象設置一個或多個測試用例,然后將根據(jù)所述測試用例編寫的所有測試腳本定義到一個或者多個測試套件中。其中,每個測試套件中包括有所述待測試對象的一個或多個測試用例。
基于前述步驟101,在本步驟中,每個任務執(zhí)行對應文件變量指向的測試套件。具體地,當步驟101中創(chuàng)建一個任務時,該任務執(zhí)行其對應文件變量指向的測試套件,可以實現(xiàn)對待測試對象某一應用場景或功能的測試。當步驟102中創(chuàng)建多個任務時,每個任務執(zhí)行各自對應文件變量指向的測試套件,可以多任務并行對所述待測試對象進行完整測試。
由以上描述可以看出,本申請可以將待測試對象的多個測試用例分別定義到不同的測試套件中,在對待測試對象進行測試時,可以創(chuàng)建多個任務,每個任務通過執(zhí)行各自文件變量指向的測試套件以實現(xiàn)對待測試對象的并行測試,減少測試時間,進而提高測試效率。同時,本申請在對待測試對象的部分應用場景進行測試時,可以通過創(chuàng)建一個或多個任務來實現(xiàn),無需對待測試對象進行完整測試,提高測試效率。
下面結(jié)合具體的實施例來描述本申請的實現(xiàn)過程。
圖2是本申請一示例性實施例示出的另一種測試方法的流程示意圖。
請參考圖2,所述測試方法可以應用在測試平臺中,包括有以下步驟:
步驟201,保存第一文件變量與N個第二文件變量的映射關系。
在本實施例中,針對某待測試對象,測試人員可以根據(jù)所述待測試對象所能應用到的應用場景預先將所有測試腳本定義到N個測試套件中,其中,每個測試套件用于對所述待測試對象的一個或者多個應用場景進行測試,每個測試套件都是一個獨立的文件,對應有唯一的一個文件變量。在本實施例中,將所述N個測試套件對應的N個文件變量稱為第二文件變量,N為大于 1的自然數(shù)。另一方面,為便于測試,測試人員還可以設置一個第一文件變量,所述第一文件變量所指向的文件中保存有所述N個第二文件變量,測試平臺保存所述第一文件變量,即保存所述第一文件變量與所述N個第二文件變量的映射關系。
步驟202,根據(jù)用戶的指令創(chuàng)建一個第一任務,所述第一任務對應第一文件變量。
在本實施例中,當用戶想要對某待測試對象進行完整的測試時,用戶輸入創(chuàng)建一個任務的指令,并輸入所述待測試對象的第一文件變量,測試平臺根據(jù)該指令創(chuàng)建一個任務,并可以獲取到用戶輸入的所述第一文件變量。在本實施例中,所述用戶可以為測試人員,并將測試平臺創(chuàng)建的所述任務稱為第一任務。
步驟203,獲取所述第一文件變量映射的N個第二文件變量。
基于前述步驟202,測試平臺在獲取到所述第一文件變量后,可以從所述第一文件變量指向的文件中獲取到所述第一文件變量映射的N個第二文件變量。
步驟204,創(chuàng)建一個或多個第二任務,所述第二任務的數(shù)量為N與1的差值,并分別為所述第一任務和所述一個或多個第二任務指定對應的第二文件變量。
基于前述步驟203,在獲取到所述N個第二文件變量后,根據(jù)所述第二文件變量的數(shù)量N,再創(chuàng)建N-1個第二任務,由于N的取值為大于1的自然數(shù),所以所述第二任務的數(shù)量大于等于1。然后分別為所述第一任務和所述N個第二任務指定對應的第二文件變量,以動態(tài)地為每個任務指定測試入口的文件變量。在本實施例中,可以隨機將所述N個第二文件變量指定給所述第一任務和所述N-1個第二任務,以實現(xiàn)測試平臺創(chuàng)建的每個任務都對應有一個第二文件變量。
步驟205,基于所述第一任務和所述一個或多個第二任務,并行執(zhí)行對應的第二文件變量指向的測試套件。
基于前述步驟204,在為所述第一任務和所述一個或多個第二任務指定對應的第二文件變量之后,所述第一任務和所述一個或多個第二任務執(zhí)行各自第二文件變量指向的測試套件,從而實現(xiàn)多任務并行對所述待測試對象進行完整的測試。
由以上描述可以看出,本申請可以將待測試對象的多個測試用例分別定義到不同的測試套件中,在對待測試對象進行測試時,可以創(chuàng)建多個任務,每個任務通過執(zhí)行各自文件變量指向的測試套件以實現(xiàn)對待測試對象的并行測試,減少測試時間,進而提高測試效率。
與前述測試方法的實施例相對應,本申請還提供了測試裝置的實施例。
本申請測試裝置的實施例可以應用在測試平臺上。裝置實施例可以通過軟件實現(xiàn),也可以通過硬件或者軟硬件結(jié)合的方式實現(xiàn)。以軟件實現(xiàn)為例,作為一個邏輯意義上的裝置,是通過其所在測試平臺的處理器將非易失性存儲器中對應的計算機程序指令讀取到內(nèi)存中運行形成的。從硬件層面而言,如圖3所示,為本申請測試裝置所在測試平臺的一種硬件結(jié)構(gòu)圖,除了圖3所示的處理器、內(nèi)存、網(wǎng)絡接口、以及非易失性存儲器之外,實施例中裝置所在的測試平臺通常根據(jù)該測試平臺的實際功能,還可以包括其他硬件,對此不再贅述。
請參考圖4,圖4是本申請一示例性實施例示出的一種測試裝置的結(jié)構(gòu)框圖。所述測試裝置300可以包括:創(chuàng)建單元301、執(zhí)行單元302以及保存單元303。
其中,所述創(chuàng)建單元301,創(chuàng)建一個或多個任務,所述一個或多個任務對應一個或多個文件變量;
所述執(zhí)行單元302,基于所述一個或多個任務,執(zhí)行對應文件變量指向的測試套件,所述測試套件中包括有待測試對象的一個或多個測試用例。
可選的,所述創(chuàng)建單元301,具體根據(jù)用戶的指令創(chuàng)建一個第一任務,所述第一任務對應第一文件變量;獲取所述第一文件變量映射的N個第二文件變量,其中,N為大于1的自然數(shù);創(chuàng)建一個或多個第二任務,所述第二 任務的數(shù)量為N與1的差值,并分別為所述第一任務和所述一個或多個第二任務指定對應的第二文件變量;
所述執(zhí)行單元302,具體基于所述第一任務和所述一個或多個第二任務,并行執(zhí)行對應的第二文件變量指向的測試套件。
可選的,所述創(chuàng)建單元301,具體隨機為所述第一任務和所述一個或多個第二任務指定對應的第二文件變量。
所述保存單元303,保存第一文件變量與所述N個第二文件變量的映射關系。
可選的,所述測試套件中包括有所述待測試對象在同一應用場景中的一個或多個測試用例。
上述裝置中各個單元的功能和作用的實現(xiàn)過程具體詳見上述方法中對應步驟的實現(xiàn)過程,在此不再贅述。
對于裝置實施例而言,由于其基本對應于方法實施例,所以相關之處參見方法實施例的部分說明即可。以上所描述的裝置實施例僅僅是示意性的,其中所述作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個地方,或者也可以分布到多個網(wǎng)絡單元上??梢愿鶕?jù)實際的需要選擇其中的部分或者全部模塊來實現(xiàn)本申請方案的目的。本領域普通技術人員在不付出創(chuàng)造性勞動的情況下,即可以理解并實施。
以上所述僅為本申請的較佳實施例而已,并不用以限制本申請,凡在本申請的精神和原則之內(nèi),所做的任何修改、等同替換、改進等,均應包含在本申請保護的范圍之內(nèi)。