本發(fā)明涉及計算機技術(shù)領(lǐng)域,尤其涉及一種測試方法及裝置。
背景技術(shù):
當(dāng)前,經(jīng)常需要利用測試用例對數(shù)據(jù)進行測試,例如,對編寫的計算機程序進行測試,當(dāng)需要利用測試用例對數(shù)據(jù)進行測試時,首先需要將數(shù)據(jù)初始化入數(shù)據(jù)庫中,然后利用測試用例對初始化入數(shù)據(jù)庫中的該數(shù)據(jù)進行測試。
然而,有時候需要在不同的運行環(huán)境中分別利用測試用例對該數(shù)據(jù)進行測試,例如不僅在sit運行環(huán)境中利用測試用例對該數(shù)據(jù)進行測試,還需要在dev運行環(huán)境中用測試用例對該數(shù)據(jù)進行測試等;這些不同的運行環(huán)境共享該數(shù)據(jù)庫。
其中,在每一個運行環(huán)境中利用測試用例對該數(shù)據(jù)進行測試時,均需要先將該數(shù)據(jù)初始化入該數(shù)據(jù)庫中,然后才能對初始化入該數(shù)據(jù)庫中的該數(shù)據(jù)進行測試。然而,在該數(shù)據(jù)庫中無法同時初始化兩個完全相同的數(shù)據(jù)。
因此,當(dāng)需要在某一個運行環(huán)境中利用測試用例對該數(shù)據(jù)進行測試時,從在該一個運行環(huán)境中將該數(shù)據(jù)初始化入共享數(shù)據(jù)庫中之后,如果需要在另一個運行環(huán)境中利用測試用例對該數(shù)據(jù)進行測試時,由于在共享數(shù)據(jù)庫中無法同時初始化兩個完全相同的數(shù)據(jù),則就無法在另一個運行環(huán)境中將該數(shù)據(jù)初始化入共享數(shù)據(jù)庫,進而造成無法在另一個運行環(huán)境中利用測試用例對該數(shù)據(jù)進行測試,導(dǎo)致測試失敗。也即,需要待當(dāng)將在該某一個運行環(huán)境中初始化入數(shù)據(jù)庫的該數(shù)據(jù)刪除之后,才能在另一個運行環(huán)境中將該數(shù)據(jù)初始化入共享數(shù)據(jù)庫,這樣才能在另一個運行環(huán)境中利用測試用例對該數(shù)據(jù)進行測試。無法同時在不同的運行環(huán)境中分別利用測試用例對完全相同的兩個數(shù)據(jù)進行測試。
因此,如何實現(xiàn)同時在不同的運行環(huán)境中分別利用測試用例對完全相同的兩個數(shù)據(jù)進行測試是一個亟待解決的技術(shù)問題。
技術(shù)實現(xiàn)要素:
為克服相關(guān)技術(shù)中存在的問題,本發(fā)明提供一種測試方法及裝置。
根據(jù)本發(fā)明實施例的第一方面,提供一種測試方法,所述方法包括:
當(dāng)需要在當(dāng)前運行環(huán)境中利用測試用例對待測試數(shù)據(jù)進行測試時,獲取所述當(dāng)前運行環(huán)境的環(huán)境配置信息;不同的運行環(huán)境的環(huán)境配置信息不同;
在所述待測試數(shù)據(jù)中,將所述待測試數(shù)據(jù)的屬性信息更新為所述當(dāng)前運行環(huán)境的環(huán)境配置信息;
將所述更新了屬性信息的待測試數(shù)據(jù)初始化入共享數(shù)據(jù)庫;
在所述當(dāng)前運行環(huán)境中利用所述測試用例對初始化入所述共享數(shù)據(jù)庫的所述待測試數(shù)據(jù)進行測試。
其中,所述在所述待測試數(shù)據(jù)中,將所述待測試數(shù)據(jù)的屬性信息更新為所述當(dāng)前運行環(huán)境的環(huán)境配置信息,包括:
獲取所述待測試數(shù)據(jù)中的預(yù)設(shè)數(shù)據(jù)字段;
判斷所述預(yù)設(shè)數(shù)據(jù)字段中是否存儲有內(nèi)容;
當(dāng)所述預(yù)設(shè)數(shù)據(jù)字段中未存儲內(nèi)容時,將所述當(dāng)前運行環(huán)境的環(huán)境配置信息存儲在所述預(yù)設(shè)數(shù)據(jù)字段中;
當(dāng)所述預(yù)設(shè)數(shù)據(jù)字段中存儲了內(nèi)容時,將所述預(yù)設(shè)數(shù)據(jù)字段中存儲的內(nèi)容替換為所述當(dāng)前運行環(huán)境的環(huán)境配置信息。
其中,所述在所述待測試數(shù)據(jù)中,將所述待測試數(shù)據(jù)的屬性信息更新為所述當(dāng)前運行環(huán)境的環(huán)境配置信息,包括:
在所述待測試數(shù)據(jù)中創(chuàng)建一個新的數(shù)據(jù)字段;
在所述新的數(shù)據(jù)字段中存儲所述當(dāng)前運行環(huán)境的環(huán)境配置信息。
進一步地,所述方法還包括:
當(dāng)在所述當(dāng)前運行環(huán)境中利用所述測試用例對初始化入所述共享數(shù)據(jù)庫的所述待測試數(shù)據(jù)測試完畢并得到測試結(jié)果時,將所述測試結(jié)果的屬性信息更新為所述當(dāng)前運行環(huán)境的環(huán)境配置信息;
將更新了屬性信息的所述測試結(jié)果存儲在所述共享數(shù)據(jù)庫中。
進一步地,所述方法還包括:
對存儲在所述共享數(shù)據(jù)庫中的、更新了屬性信息的所述測試結(jié)果進行校驗;
在校驗完畢之后,刪除初始化入所述共享數(shù)據(jù)庫的、屬性信息為所述當(dāng)前運行環(huán)境的環(huán)境配置信息的所述待測試數(shù)據(jù),以及,刪除存儲在所述共享數(shù)據(jù)庫中的、屬性信息為所述當(dāng)前運行環(huán)境的環(huán)境配置信息的所述測試結(jié)果。
根據(jù)本發(fā)明實施例的第二方面,提供一種測試裝置,所述裝置包括:
獲取模塊,用于當(dāng)需要在當(dāng)前運行環(huán)境中利用測試用例對待測試數(shù)據(jù)進行測試時,獲取所述當(dāng)前運行環(huán)境的環(huán)境配置信息;不同的運行環(huán)境的環(huán)境配置信息不同;
第一更新模塊,用于在所述待測試數(shù)據(jù)中,將所述待測試數(shù)據(jù)的屬性信息更新為所述當(dāng)前運行環(huán)境的環(huán)境配置信息;
初始化模塊,用于將所述更新了屬性信息的待測試數(shù)據(jù)初始化入共享數(shù)據(jù)庫;
測試模塊,用于在所述當(dāng)前運行環(huán)境中利用所述測試用例對初始化入所述共享數(shù)據(jù)庫的所述待測試數(shù)據(jù)進行測試。
其中,所述第一更新模塊包括:
獲取單元,用于獲取所述待測試數(shù)據(jù)中的預(yù)設(shè)數(shù)據(jù)字段;
判斷單元,用于判斷所述預(yù)設(shè)數(shù)據(jù)字段中是否存儲有內(nèi)容;
第一存儲單元,用于當(dāng)所述預(yù)設(shè)數(shù)據(jù)字段中未存儲內(nèi)容時,將所述當(dāng)前運行環(huán)境的環(huán)境配置信息存儲在所述預(yù)設(shè)數(shù)據(jù)字段中;
替換單元,用于當(dāng)所述預(yù)設(shè)數(shù)據(jù)字段中存儲了內(nèi)容時,將所述預(yù)設(shè)數(shù)據(jù)字段中存儲的內(nèi)容替換為所述當(dāng)前運行環(huán)境的環(huán)境配置信息。
其中,所述第一更新模塊包括:
創(chuàng)建單元,用于在所述待測試數(shù)據(jù)中創(chuàng)建一個新的數(shù)據(jù)字段;
第二存儲單元,用于在所述新的數(shù)據(jù)字段中存儲所述當(dāng)前運行環(huán)境的環(huán)境配置信息。
進一步地,所述裝置還包括:
第二更新模塊,用于當(dāng)在所述當(dāng)前運行環(huán)境中利用所述測試用例對初始化入所述共享數(shù)據(jù)庫的所述待測試數(shù)據(jù)測試完畢并得到測試結(jié)果時,將所述測試結(jié)果的屬性信息更新為所述當(dāng)前運行環(huán)境的環(huán)境配置信息;
存儲模塊,用于將更新了屬性信息的所述測試結(jié)果存儲在所述共享數(shù)據(jù)庫中。
進一步地,所述裝置還包括:
校驗?zāi)K,用于對存儲在所述共享數(shù)據(jù)庫中的、更新了屬性信息的所述測試結(jié)果進行校驗;
刪除模塊,用于在校驗完畢之后,刪除初始化入所述共享數(shù)據(jù)庫的、屬性信息為所述當(dāng)前運行環(huán)境的環(huán)境配置信息的所述待測試數(shù)據(jù),以及,刪除存儲在所述共享數(shù)據(jù)庫中的、屬性信息為所述當(dāng)前運行環(huán)境的環(huán)境配置信息的所述測試結(jié)果。
本發(fā)明的實施例提供的技術(shù)方案可以包括以下有益效果:
在本發(fā)明實施例中,當(dāng)需要在當(dāng)前運行環(huán)境中利用測試用例對待測試數(shù)據(jù)進行測試時,獲取當(dāng)前運行環(huán)境的環(huán)境配置信息;不同的運行環(huán)境的環(huán)境配置信息不同。在待測試數(shù)據(jù)中,將待測試數(shù)據(jù)的屬性信息更新為當(dāng)前運行環(huán)境的環(huán)境配置信息。將更新了屬性信息的待測試數(shù)據(jù)初始化入共享數(shù)據(jù)庫。在當(dāng)前運行環(huán)境中利用測試用例對初始化入共享數(shù)據(jù)庫的待測試數(shù)據(jù)進行測試。
當(dāng)本地存在多個不同的運行環(huán)境時,多個不同的運行環(huán)境共享該共享數(shù)據(jù)庫,在每一個運行環(huán)境中利用測試用例對待測試數(shù)據(jù)進行測試的過程中,都需要先將待測試數(shù)據(jù)初始化入共享數(shù)據(jù)庫中,然后才能對初始化入共享數(shù)據(jù)庫中的待測試數(shù)據(jù)進行測試。然而,在共享數(shù)據(jù)庫中無法同時初始化兩個完全相同的數(shù)據(jù)。
如此,在現(xiàn)有技術(shù)中,當(dāng)需要在某一個運行環(huán)境中利用測試用例對某一待測試數(shù)據(jù)進行測試時,從在該一個運行環(huán)境中將該待測試數(shù)據(jù)初始化入共享數(shù)據(jù)庫中至刪除初始化入共享數(shù)據(jù)庫中的該待測試數(shù)據(jù)之間的這段時間,如果需要在另一個運行環(huán)境中利用測試用例對該待測試數(shù)據(jù)進行測試,由于在共享數(shù)據(jù)庫中無法同時初始化兩個完全相同的數(shù)據(jù),則就無法在另一個運行環(huán)境中將該待測試數(shù)據(jù)初始化入共享數(shù)據(jù)庫,進而造成無法在另一個運行環(huán)境中利用測試用例對該待測試數(shù)據(jù)進行測試,導(dǎo)致測試失敗。也即,需要待將在該某一個運行環(huán)境中刪除初始化入數(shù)據(jù)庫的該數(shù)據(jù)之后,才能在另一個運行環(huán)境中將該數(shù)據(jù)初始化入共享數(shù)據(jù)庫,這樣才能在另一個運行環(huán)境中利用測試用例對該數(shù)據(jù)進行測試。
也即,在現(xiàn)有技術(shù)中,無法同時在不同的運行環(huán)境中分別利用測試用例對完全相同的兩個數(shù)據(jù)進行測試。
而在本發(fā)明實施例中,當(dāng)需要在某一運行環(huán)境中利用測試用例對某一待測試數(shù)據(jù)進行測試時,獲取該某一運行環(huán)境的環(huán)境配置信息;不同的運行環(huán)境的環(huán)境配置信息不同;在該某一待測試數(shù)據(jù)中,將該某一待測試數(shù)據(jù)的屬性信息更新為該某一運行環(huán)境的環(huán)境配置信息,再將更新了屬性信息的該某一待測試數(shù)據(jù)初始化入共享數(shù)據(jù)庫。從在該某一運行環(huán)境將更新了屬性信息的該某一待測試數(shù)據(jù)初始化入共享數(shù)據(jù)庫至刪除初始化入共享數(shù)據(jù)庫中的更新了屬性信息的該某一待測試數(shù)據(jù)之間的這段時間內(nèi),如果需要在另一運行環(huán)境中利用測試用例對另一待測試數(shù)據(jù)進行測試,則獲取該另一運行環(huán)境的環(huán)境配置信息;在該另一待測試數(shù)據(jù)中,將該另一待測試數(shù)據(jù)的屬性信息更新為該另一運行環(huán)境的環(huán)境配置信息。
無論未更新屬性信息的該某一待測試數(shù)據(jù)與未更新屬性信息的該另一待測試數(shù)據(jù)是否完全相同,由于該某一運行環(huán)境的環(huán)境配置信息與該另一運行環(huán)境的環(huán)境配置信息不同,則更新了屬性信息的該某一待測試數(shù)據(jù)的屬性信息與更新了屬性信息了該另一待測試數(shù)據(jù) 的屬性信息不相同,因此,更新了屬性信息的該某一待測試數(shù)據(jù)與更新了屬性信息了該另一待測試數(shù)據(jù)不完全相同。
所以,從在該某一運行環(huán)境將更新了屬性信息的該某一待測試數(shù)據(jù)初始化入共享數(shù)據(jù)庫至刪除初始化入共享數(shù)據(jù)庫中的更新了屬性信息的該某一待測試數(shù)據(jù)之間的這段時間內(nèi),也可以在該另一運行環(huán)境成功地將更新了屬性信息的該另一待測試數(shù)據(jù)初始化入共享數(shù)據(jù)庫,進而可以在該另一運行環(huán)境中成功地利用測試用例對初始化入共享數(shù)據(jù)庫的、更新了屬性信息的該另一待測試數(shù)據(jù)進行測試。
因此,相比于現(xiàn)有技術(shù),本發(fā)明實施例可以同時在不同的運行環(huán)境中分別利用測試用例對完全相同的兩個數(shù)據(jù)進行測試。
應(yīng)當(dāng)理解的是,以上的一般描述和后文的細(xì)節(jié)描述僅是示例性和解釋性的,并不能限制本發(fā)明。
附圖說明
此處的附圖被并入說明書中并構(gòu)成本說明書的一部分,示出了符合本發(fā)明的實施例,并與說明書一起用于解釋本發(fā)明的原理。
圖1是根據(jù)一示例性實施例示出的一種測試方法的流程圖;
圖2是根據(jù)一示例性實施例示出的一種測試方法的流程圖;
圖3是根據(jù)一示例性實施例示出的一種測試方法的流程圖;
圖4是根據(jù)一示例性實施例示出的一種測試裝置的框圖。
具體實施方式
這里將詳細(xì)地對示例性實施例進行說明,其示例表示在附圖中。下面的描述涉及附圖時,除非另有表示,不同附圖中的相同數(shù)字表示相同或相似的要素。以下示例性實施例中所描述的實施方式并不代表與本發(fā)明相一致的所有實施方式。相反,它們僅是與如所附權(quán)利要求書中所詳述的、本發(fā)明的一些方面相一致的裝置和方法的例子。
圖1是根據(jù)一示例性實施例示出的一種測試方法的流程圖,如圖1所示,該方法包括以下步驟。
在步驟s101中,當(dāng)需要在當(dāng)前運行環(huán)境中利用測試用例對待測試數(shù)據(jù)進行測試時,獲取當(dāng)前運行環(huán)境的環(huán)境配置信息;不同的運行環(huán)境的環(huán)境配置信息不同。
在本發(fā)明實施例中,技術(shù)人員在本地事先會為每一個運行環(huán)境都設(shè)置一個配置信息,且為不同的運行環(huán)境設(shè)置的環(huán)境配置信息不同,也即,任意兩個運行環(huán)境的環(huán)境配置信息都不同。
運行環(huán)境的環(huán)境配置信息可以為運行環(huán)境名稱或編號等,當(dāng)然也可以為其他內(nèi)容,本發(fā)明對此不加以限定,此處只需滿足不同的運行環(huán)境的環(huán)境配置信息不同即可。
例如,sit運行環(huán)境的環(huán)境配置信息為sittnt,dev運行環(huán)境的環(huán)境配置信息為devtnt。
在步驟s102中,在待測試數(shù)據(jù)中,將待測試數(shù)據(jù)的屬性信息更新為當(dāng)前運行環(huán)境的環(huán)境配置信息。
在本發(fā)明實施例中,本步驟可以通過如下兩種方式實現(xiàn)。
一種方式、包括如下步驟:
11、獲取待測試數(shù)據(jù)中的預(yù)設(shè)數(shù)據(jù)字段。
預(yù)設(shè)數(shù)據(jù)字段為待測試數(shù)據(jù)中的已存在的多個不同的數(shù)據(jù)字段中的一個數(shù)據(jù)字段,例如,用于存儲待測試數(shù)據(jù)的所有者的所有者字段、用于存儲生成待測試數(shù)據(jù)的生成時間的時間字段或用于存儲生成待測試數(shù)據(jù)的生成地址的地址字段等等。
12、判斷預(yù)設(shè)數(shù)據(jù)字段中是否存儲有內(nèi)容。
在本發(fā)明實施例中,待測試數(shù)據(jù)中的預(yù)設(shè)數(shù)據(jù)字段中可能存儲了內(nèi)容,也可能未存儲內(nèi)容。
例如,假設(shè)預(yù)設(shè)數(shù)據(jù)字段為所有者字段,在最初生成待測試數(shù)據(jù)時,如果沒有獲取到待測試數(shù)據(jù)的所有者,則就不會在待測試數(shù)據(jù)中的所有者字段中存儲待測試數(shù)據(jù)的所有者,這樣待測試數(shù)據(jù)的所有者字段中就不會存儲任何內(nèi)容。在最初生成待測試數(shù)據(jù)時,如果獲取到了待測試數(shù)據(jù)的所有者,則就會在待測試數(shù)據(jù)中的所有者字段中存儲待測試數(shù)據(jù)的所有者,這樣待測試數(shù)據(jù)的所有者字段中就存儲了內(nèi)容。
13、當(dāng)預(yù)設(shè)數(shù)據(jù)字段中未存儲內(nèi)容時,將當(dāng)前運行環(huán)境的環(huán)境配置信息存儲在預(yù)設(shè)數(shù)據(jù)字段中,以實現(xiàn)在待測試數(shù)據(jù)中,將待測試數(shù)據(jù)的屬性信息更新為當(dāng)前運行環(huán)境的環(huán)境配置信息。
在本發(fā)明實施例中,當(dāng)預(yù)設(shè)數(shù)據(jù)字段中未存儲內(nèi)容時,就可以將當(dāng)前運行環(huán)境的環(huán)境配置信息存儲在預(yù)設(shè)數(shù)據(jù)字段中,如此實現(xiàn)將待測試數(shù)據(jù)的屬性信息更新為當(dāng)前運行環(huán)境的環(huán)境配置信息,進而實現(xiàn)在待測試數(shù)據(jù)中,將待測試數(shù)據(jù)的屬性信息更新為當(dāng)前運行環(huán)境的環(huán)境配置信息
14、當(dāng)預(yù)設(shè)數(shù)據(jù)字段中存儲了內(nèi)容時,將預(yù)設(shè)數(shù)據(jù)字段中存儲的內(nèi)容替換為當(dāng)前運行 環(huán)境的環(huán)境配置信息,以實現(xiàn)在待測試數(shù)據(jù)中,將待測試數(shù)據(jù)的屬性信息更新為當(dāng)前運行環(huán)境的環(huán)境配置信息。
在本發(fā)明實施例中,當(dāng)預(yù)設(shè)數(shù)據(jù)字段中存儲了內(nèi)容時,可以將預(yù)設(shè)存儲字段中存儲的內(nèi)容刪除,再將當(dāng)前運行環(huán)境的環(huán)境配置信息存儲在預(yù)設(shè)數(shù)據(jù)字段中,這樣就可以實現(xiàn)將預(yù)設(shè)數(shù)據(jù)字段中存儲的內(nèi)容替換為當(dāng)前運行環(huán)境的環(huán)境配置信息,進而實現(xiàn)在待測試數(shù)據(jù)中,將待測試數(shù)據(jù)的屬性信息更新為當(dāng)前運行環(huán)境的環(huán)境配置信息。
另一種方式、包括如下步驟:
21、在待測試數(shù)據(jù)中創(chuàng)建一個新的數(shù)據(jù)字段。
22、在新的數(shù)據(jù)字段中存儲當(dāng)前運行環(huán)境的環(huán)境配置信息,以實現(xiàn)在待測試數(shù)據(jù)中,將待測試數(shù)據(jù)的屬性信息更新為當(dāng)前運行環(huán)境的環(huán)境配置信息。
在本發(fā)明實施例中,創(chuàng)建的新該新的數(shù)據(jù)字段中并沒有存儲任何內(nèi)容,因此此時可以將當(dāng)前運行環(huán)境的環(huán)境配置信息存儲在創(chuàng)建的該新的數(shù)據(jù)字段中,如此實現(xiàn)在待測試數(shù)據(jù)中,將待測試數(shù)據(jù)的屬性信息更新為當(dāng)前運行環(huán)境的環(huán)境配置信息。
在步驟s103中,將更新了屬性信息的待測試數(shù)據(jù)初始化入共享數(shù)據(jù)庫。
在步驟s104中,在當(dāng)前運行環(huán)境中利用測試用例對初始化入共享數(shù)據(jù)庫的待測試數(shù)據(jù)進行測試。
在本發(fā)明實施例中,當(dāng)需要在當(dāng)前運行環(huán)境中利用測試用例對待測試數(shù)據(jù)進行測試時,獲取當(dāng)前運行環(huán)境的環(huán)境配置信息;不同的運行環(huán)境的環(huán)境配置信息不同。在待測試數(shù)據(jù)中,將待測試數(shù)據(jù)的屬性信息更新為當(dāng)前運行環(huán)境的環(huán)境配置信息。將更新了屬性信息的待測試數(shù)據(jù)初始化入共享數(shù)據(jù)庫。在當(dāng)前運行環(huán)境中利用測試用例對初始化入共享數(shù)據(jù)庫的待測試數(shù)據(jù)進行測試。
當(dāng)本地存在多個不同的運行環(huán)境時,多個不同的運行環(huán)境共享該共享數(shù)據(jù)庫,在每一個運行環(huán)境中利用測試用例對待測試數(shù)據(jù)進行測試的過程中,都需要先將待測試數(shù)據(jù)初始化入共享數(shù)據(jù)庫中,然后才能對初始化入共享數(shù)據(jù)庫中的待測試數(shù)據(jù)進行測試。然而,在共享數(shù)據(jù)庫中無法同時初始化兩個完全相同的數(shù)據(jù)。
如此,在現(xiàn)有技術(shù)中,當(dāng)需要在某一個運行環(huán)境中利用測試用例對某一待測試數(shù)據(jù)進行測試時,從在該一個運行環(huán)境中將該待測試數(shù)據(jù)初始化入共享數(shù)據(jù)庫中至刪除初始化入共享數(shù)據(jù)庫中的該待測試數(shù)據(jù)之間的這段時間,如果需要在另一個運行環(huán)境中利用測試用例對該待測試數(shù)據(jù)進行測試,由于在共享數(shù)據(jù)庫中無法同時初始化兩個完全相同的數(shù)據(jù),則就無法在另一個運行環(huán)境中將該待測試數(shù)據(jù)初始化入共享數(shù)據(jù)庫,進而造成無法在另一個運行環(huán)境中利用測試用例對該待測試數(shù)據(jù)進行測試,導(dǎo)致測試失敗。也即,需要待將在 該某一個運行環(huán)境中刪除初始化入數(shù)據(jù)庫的該數(shù)據(jù)之后,才能在另一個運行環(huán)境中將該數(shù)據(jù)初始化入共享數(shù)據(jù)庫,這樣才能在另一個運行環(huán)境中利用測試用例對該數(shù)據(jù)進行測試。
也即,在現(xiàn)有技術(shù)中,無法同時在不同的運行環(huán)境中分別利用測試用例對完全相同的兩個數(shù)據(jù)進行測試。
而在本發(fā)明實施例中,當(dāng)需要在某一運行環(huán)境中利用測試用例對某一待測試數(shù)據(jù)進行測試時,獲取該某一運行環(huán)境的環(huán)境配置信息;不同的運行環(huán)境的環(huán)境配置信息不同;在該某一待測試數(shù)據(jù)中,將該某一待測試數(shù)據(jù)的屬性信息更新為該某一運行環(huán)境的環(huán)境配置信息,再將更新了屬性信息的該某一待測試數(shù)據(jù)初始化入共享數(shù)據(jù)庫。從在該某一運行環(huán)境將更新了屬性信息的該某一待測試數(shù)據(jù)初始化入共享數(shù)據(jù)庫至刪除初始化入共享數(shù)據(jù)庫中的更新了屬性信息的該某一待測試數(shù)據(jù)之間的這段時間內(nèi),如果需要在另一運行環(huán)境中利用測試用例對另一待測試數(shù)據(jù)進行測試,則獲取該另一運行環(huán)境的環(huán)境配置信息;在該另一待測試數(shù)據(jù)中,將該另一待測試數(shù)據(jù)的屬性信息更新為該另一運行環(huán)境的環(huán)境配置信息。
無論未更新屬性信息的該某一待測試數(shù)據(jù)與未更新屬性信息的該另一待測試數(shù)據(jù)是否完全相同,由于該某一運行環(huán)境的環(huán)境配置信息與該另一運行環(huán)境的環(huán)境配置信息不同,則更新了屬性信息的該某一待測試數(shù)據(jù)的屬性信息與更新了屬性信息了該另一待測試數(shù)據(jù)的屬性信息不相同,因此,更新了屬性信息的該某一待測試數(shù)據(jù)與更新了屬性信息了該另一待測試數(shù)據(jù)不完全相同。
所以,從在該某一運行環(huán)境將更新了屬性信息的該某一待測試數(shù)據(jù)初始化入共享數(shù)據(jù)庫至刪除初始化入共享數(shù)據(jù)庫中的更新了屬性信息的該某一待測試數(shù)據(jù)之間的這段時間內(nèi),也可以在該另一運行環(huán)境成功地將更新了屬性信息的該另一待測試數(shù)據(jù)初始化入共享數(shù)據(jù)庫,進而可以在該另一運行環(huán)境中成功地利用測試用例對初始化入共享數(shù)據(jù)庫的、更新了屬性信息的該另一待測試數(shù)據(jù)進行測試。
因此,相比于現(xiàn)有技術(shù),本發(fā)明實施例可以同時在不同的運行環(huán)境中分別利用測試用例對完全相同的兩個數(shù)據(jù)進行測試。
在前述實施例中,當(dāng)在當(dāng)前運行環(huán)境中利用測試用例對初始化入共享數(shù)據(jù)庫的待測試數(shù)據(jù)測試完畢之后,就會得到對初始化入共享數(shù)據(jù)庫的待測試數(shù)據(jù)進行測試的測試結(jié)果,為了能夠?qū)υ摐y試結(jié)果進行校驗。
進一步地,在本發(fā)明另一實施例中,參見圖2,該方法還包括:
在步驟s201中,當(dāng)在當(dāng)前運行環(huán)境中利用測試用例對初始化入共享數(shù)據(jù)庫的待測試數(shù) 據(jù)測試完畢并得到測試結(jié)果時,在該測試結(jié)果中,將該測試結(jié)果的屬性信息更新為當(dāng)前運行環(huán)境的環(huán)境配置信息。
其中,不同的運行環(huán)境的環(huán)境配置信息不同。
本步驟中,將該測試結(jié)果的屬性信息更新為當(dāng)前運行環(huán)境的環(huán)境配置信息的具體步驟可以參見上述步驟s102的“在待測試數(shù)據(jù)中,將待測試數(shù)據(jù)的屬性信息更新為當(dāng)前運行環(huán)境的環(huán)境配置信息”的具體流程,在此不做詳述。
在步驟s202中,將更新了屬性信息的該測試結(jié)果存儲在共享數(shù)據(jù)庫中。
當(dāng)將更新了屬性信息的該測試結(jié)果存儲在共享數(shù)據(jù)庫中之后,進一步地,在本發(fā)明又一實施例中,參見圖3,該方法還包括:
在步驟s301中,對存儲在共享數(shù)據(jù)庫中的、更新了屬性信息的該測試結(jié)果進行校驗。
在步驟s302中,在校驗完畢之后,刪除初始化入共享數(shù)據(jù)庫的、屬性信息為當(dāng)前運行環(huán)境的環(huán)境配置信息的待測試數(shù)據(jù),以及,刪除存儲在共享數(shù)據(jù)庫中的、屬性信息為當(dāng)前運行環(huán)境的環(huán)境配置信息的該測試結(jié)果。
其中,在圖2和圖3所示的實施例中,當(dāng)?shù)玫綔y試結(jié)果之后,需要將測試結(jié)果存儲在共享數(shù)據(jù)庫中,之后再對存儲在共享數(shù)據(jù)庫中的測試結(jié)果進行校驗,校驗完畢之后,再刪除初始化入共享數(shù)據(jù)庫的、屬性信息為當(dāng)前運行環(huán)境的環(huán)境配置信息的待測試數(shù)據(jù),以及,刪除存儲在共享數(shù)據(jù)庫中的、屬性信息為當(dāng)前運行環(huán)境的環(huán)境配置信息的該測試結(jié)果。
當(dāng)需要在某一個運行環(huán)境中刪除初始化入共享數(shù)據(jù)庫的某一個待測試數(shù)據(jù)時,會根據(jù)特定的條件進行刪除,例如,根據(jù)數(shù)據(jù)的屬性信息進行刪除。假設(shè),需要刪除的該待測試數(shù)據(jù)的屬性信息為aaa,則當(dāng)在該運行環(huán)境中根據(jù)屬性信息aaa在共享數(shù)據(jù)庫中刪除數(shù)據(jù)時,由于需要刪除的該待測試數(shù)據(jù)的屬性信息為aaa,因此會從共享數(shù)據(jù)庫中刪除該待測試數(shù)據(jù)。
但是,如果此時在其他運行環(huán)境中已經(jīng)將其他待測試數(shù)據(jù)初始化入共享數(shù)據(jù)庫中,該其他待測試數(shù)據(jù)與需要刪除的該待測試數(shù)據(jù)不完全相同,但是該其他數(shù)據(jù)的屬性信息與需要刪除的該待測試數(shù)據(jù)的屬性信息均為屬性信息aaa,則當(dāng)在該運行環(huán)境中根據(jù)屬性信息aaa在共享數(shù)據(jù)庫中刪除數(shù)據(jù)時,不僅會從共享數(shù)據(jù)庫中刪除該待測試數(shù)據(jù),而且同時還會在共享數(shù)據(jù)庫中刪除在其他運行環(huán)境中初始化入共享數(shù)據(jù)庫中的該其他待測試數(shù)據(jù)。
如果此時在其他運行環(huán)境中還未利用測試用例對初始化入共享數(shù)據(jù)庫中的該其他待測試數(shù)據(jù)進行測試,由于此時在該某一運行環(huán)境中已經(jīng)刪除了初始化入共享數(shù)據(jù)庫的該其他待測試數(shù)據(jù),則之后在其他運行環(huán)境中就無法利用測試用例對初始化入共享數(shù)據(jù)庫中的該其他待測試數(shù)據(jù)進行測試,進而導(dǎo)致對該其他待測試數(shù)據(jù)測試失敗。
而在本發(fā)明實施例中,由于在前述實施例中,每當(dāng)需要在一個運行環(huán)境中將待測試數(shù)據(jù)初始化入共享數(shù)據(jù)庫之前,都首先需要在待測試數(shù)據(jù)中,將待測試數(shù)據(jù)的屬性信息更新為當(dāng)前運行環(huán)境的環(huán)境配置信息,然后再將更新了屬性信息的待測試數(shù)據(jù)初始化入共享數(shù)據(jù)庫中,由于不同的運行環(huán)境的環(huán)境配置信息不同,因此在不同的運行環(huán)境中初始化入共享數(shù)據(jù)庫中的待測試數(shù)據(jù)的屬性信息不同。也即,在所有初始化入共享數(shù)據(jù)庫中的待測試數(shù)據(jù)中,任意兩個待測試數(shù)據(jù)的屬性信息不同。
這樣,當(dāng)需要在某一運行環(huán)境中刪除初始化入共享數(shù)據(jù)庫的某一個待測試數(shù)據(jù)時,僅僅會刪除初始化入共享數(shù)據(jù)庫的屬性信息為該某一運行環(huán)境的環(huán)境配置信息的待測試數(shù)據(jù),而不會誤刪除在其他運行環(huán)境中初始化入共享數(shù)據(jù)庫中的其他待測試數(shù)據(jù),進而可以避免之后在其他運行環(huán)境中需要利用測試用例對初始化入共享數(shù)據(jù)庫中的該其他待測試數(shù)據(jù)進行測試時出現(xiàn)測試失敗的情況。
其次,在本發(fā)明實施例中,每當(dāng)在一個運行環(huán)境中需要將某一測試結(jié)果存儲在共享數(shù)據(jù)庫之前,都需要在該某一測試結(jié)果中,將該某一測試結(jié)果的屬性信息更新為當(dāng)前運行環(huán)境的環(huán)境配置信息,然后再將更新了屬性信息的該某一測試結(jié)果存儲在共享數(shù)據(jù)庫中,由于不同的運行環(huán)境的環(huán)境配置信息不同,因此在不同的運行環(huán)境中存儲在共享數(shù)據(jù)庫中的測試結(jié)果的屬性信息不同,或者說在不同的運行環(huán)境中在共享數(shù)據(jù)庫中存儲的測試結(jié)果不完全相同。也即,在存儲在共享數(shù)據(jù)庫中的所有測試結(jié)果中,任意兩個測試結(jié)果的屬性信息不同。
這樣,當(dāng)在該某一運行環(huán)境中對該某一測試結(jié)果測試完畢之后,就需要在該某一運行環(huán)境中刪除存儲在共享數(shù)據(jù)庫的某一測試結(jié)果,及時共享數(shù)據(jù)庫中還存儲了在其他運行環(huán)境中存儲的其他測試結(jié)果,由于該某一運行環(huán)境的環(huán)境配置信息與該其他運行環(huán)境的環(huán)境配置信息不同,因此,該某一測試結(jié)果的屬性信息與該其他測試結(jié)果的屬性信息不同,以該某一運行環(huán)境的環(huán)境配置信息為屬性信息在共享數(shù)據(jù)庫中刪除測試結(jié)果時,僅僅會刪除屬性信息為該某一運行環(huán)境的環(huán)境配置信息的測試結(jié)果,也即僅僅會刪除該某一測試結(jié)果,而不會誤刪除該其他測試結(jié)果。避免出現(xiàn)該某一測試結(jié)果與該其他測試結(jié)果雖然不完全相同但屬性信息相同,導(dǎo)致以該某一運行環(huán)境的環(huán)境配置信息為屬性信息在共享數(shù)據(jù)庫中刪除測試結(jié)果時,不僅會將該某一測試結(jié)果刪除而且還會將該其他測試結(jié)果刪除,以使之后無法在其他運行環(huán)境中對該其他測試結(jié)果進行校驗而導(dǎo)致校驗失敗的情況。
圖4是根據(jù)一示例性實施例示出的一種測試裝置的框圖。參照圖4,該裝置包括:
獲取模塊11,用于當(dāng)需要在當(dāng)前運行環(huán)境中利用測試用例對待測試數(shù)據(jù)進行測試時,獲取所述當(dāng)前運行環(huán)境的環(huán)境配置信息;不同的運行環(huán)境的環(huán)境配置信息不同;
第一更新模塊12,用于在所述待測試數(shù)據(jù)中,將所述待測試數(shù)據(jù)的屬性信息更新為所述當(dāng)前運行環(huán)境的環(huán)境配置信息;
初始化模塊13,用于將所述更新了屬性信息的待測試數(shù)據(jù)初始化入共享數(shù)據(jù)庫;
測試模塊14,用于在所述當(dāng)前運行環(huán)境中利用所述測試用例對初始化入所述共享數(shù)據(jù)庫的所述待測試數(shù)據(jù)進行測試。
其中,所述第一更新模塊12包括:
獲取單元,用于獲取所述待測試數(shù)據(jù)中的預(yù)設(shè)數(shù)據(jù)字段;
判斷單元,用于判斷所述預(yù)設(shè)數(shù)據(jù)字段中是否存儲有內(nèi)容;
第一存儲單元,用于當(dāng)所述預(yù)設(shè)數(shù)據(jù)字段中未存儲內(nèi)容時,將所述當(dāng)前運行環(huán)境的環(huán)境配置信息存儲在所述預(yù)設(shè)數(shù)據(jù)字段中;
替換單元,用于當(dāng)所述預(yù)設(shè)數(shù)據(jù)字段中存儲了內(nèi)容時,將所述預(yù)設(shè)數(shù)據(jù)字段中存儲的內(nèi)容替換為所述當(dāng)前運行環(huán)境的環(huán)境配置信息。
其中,所述第一更新模塊12包括:
創(chuàng)建單元,用于在所述待測試數(shù)據(jù)中創(chuàng)建一個新的數(shù)據(jù)字段;
第二存儲單元,用于在所述新的數(shù)據(jù)字段中存儲所述當(dāng)前運行環(huán)境的環(huán)境配置信息。
進一步地,所述裝置還包括:
第二更新模塊,用于當(dāng)在所述當(dāng)前運行環(huán)境中利用所述測試用例對初始化入所述共享數(shù)據(jù)庫的所述待測試數(shù)據(jù)測試完畢并得到測試結(jié)果時,將所述測試結(jié)果的屬性信息更新為所述當(dāng)前運行環(huán)境的環(huán)境配置信息;
存儲模塊,用于將更新了屬性信息的所述測試結(jié)果存儲在所述共享數(shù)據(jù)庫中。
進一步地,所述裝置還包括:
校驗?zāi)K,用于對存儲在所述共享數(shù)據(jù)庫中的、更新了屬性信息的所述測試結(jié)果進行校驗;
刪除模塊,用于在校驗完畢之后,刪除初始化入所述共享數(shù)據(jù)庫的、屬性信息為所述當(dāng)前運行環(huán)境的環(huán)境配置信息的所述待測試數(shù)據(jù),以及,刪除存儲在所述共享數(shù)據(jù)庫中的、屬性信息為所述當(dāng)前運行環(huán)境的環(huán)境配置信息的所述測試結(jié)果。
在本發(fā)明實施例中,當(dāng)需要在當(dāng)前運行環(huán)境中利用測試用例對待測試數(shù)據(jù)進行測試時,獲取當(dāng)前運行環(huán)境的環(huán)境配置信息;不同的運行環(huán)境的環(huán)境配置信息不同。在待測試數(shù)據(jù)中,將待測試數(shù)據(jù)的屬性信息更新為當(dāng)前運行環(huán)境的環(huán)境配置信息。將更新了屬性信息的 待測試數(shù)據(jù)初始化入共享數(shù)據(jù)庫。在當(dāng)前運行環(huán)境中利用測試用例對初始化入共享數(shù)據(jù)庫的待測試數(shù)據(jù)進行測試。
當(dāng)本地存在多個不同的運行環(huán)境時,多個不同的運行環(huán)境共享該共享數(shù)據(jù)庫,在每一個運行環(huán)境中利用測試用例對待測試數(shù)據(jù)進行測試的過程中,都需要先將待測試數(shù)據(jù)初始化入共享數(shù)據(jù)庫中,然后才能對初始化入共享數(shù)據(jù)庫中的待測試數(shù)據(jù)進行測試。然而,在共享數(shù)據(jù)庫中無法同時初始化兩個完全相同的數(shù)據(jù)。
如此,在現(xiàn)有技術(shù)中,當(dāng)需要在某一個運行環(huán)境中利用測試用例對某一待測試數(shù)據(jù)進行測試時,從在該一個運行環(huán)境中將該待測試數(shù)據(jù)初始化入共享數(shù)據(jù)庫中至刪除初始化入共享數(shù)據(jù)庫中的該待測試數(shù)據(jù)之間的這段時間,如果需要在另一個運行環(huán)境中利用測試用例對該待測試數(shù)據(jù)進行測試,由于在共享數(shù)據(jù)庫中無法同時初始化兩個完全相同的數(shù)據(jù),則就無法在另一個運行環(huán)境中將該待測試數(shù)據(jù)初始化入共享數(shù)據(jù)庫,進而造成無法在另一個運行環(huán)境中利用測試用例對該待測試數(shù)據(jù)進行測試,導(dǎo)致測試失敗。也即,需要待將在該某一個運行環(huán)境中刪除初始化入數(shù)據(jù)庫的該數(shù)據(jù)之后,才能在另一個運行環(huán)境中將該數(shù)據(jù)初始化入共享數(shù)據(jù)庫,這樣才能在另一個運行環(huán)境中利用測試用例對該數(shù)據(jù)進行測試。
也即,在現(xiàn)有技術(shù)中,無法同時在不同的運行環(huán)境中分別利用測試用例對完全相同的兩個數(shù)據(jù)進行測試。
而在本發(fā)明實施例中,當(dāng)需要在某一運行環(huán)境中利用測試用例對某一待測試數(shù)據(jù)進行測試時,獲取該某一運行環(huán)境的環(huán)境配置信息;不同的運行環(huán)境的環(huán)境配置信息不同;在該某一待測試數(shù)據(jù)中,將該某一待測試數(shù)據(jù)的屬性信息更新為該某一運行環(huán)境的環(huán)境配置信息,再將更新了屬性信息的該某一待測試數(shù)據(jù)初始化入共享數(shù)據(jù)庫。從在該某一運行環(huán)境將更新了屬性信息的該某一待測試數(shù)據(jù)初始化入共享數(shù)據(jù)庫至刪除初始化入共享數(shù)據(jù)庫中的更新了屬性信息的該某一待測試數(shù)據(jù)之間的這段時間內(nèi),如果需要在另一運行環(huán)境中利用測試用例對另一待測試數(shù)據(jù)進行測試,則獲取該另一運行環(huán)境的環(huán)境配置信息;在該另一待測試數(shù)據(jù)中,將該另一待測試數(shù)據(jù)的屬性信息更新為該另一運行環(huán)境的環(huán)境配置信息。
無論未更新屬性信息的該某一待測試數(shù)據(jù)與未更新屬性信息的該另一待測試數(shù)據(jù)是否完全相同,由于該某一運行環(huán)境的環(huán)境配置信息與該另一運行環(huán)境的環(huán)境配置信息不同,則更新了屬性信息的該某一待測試數(shù)據(jù)的屬性信息與更新了屬性信息了該另一待測試數(shù)據(jù)的屬性信息不相同,因此,更新了屬性信息的該某一待測試數(shù)據(jù)與更新了屬性信息了該另一待測試數(shù)據(jù)不完全相同。
所以,從在該某一運行環(huán)境將更新了屬性信息的該某一待測試數(shù)據(jù)初始化入共享數(shù)據(jù)庫至刪除初始化入共享數(shù)據(jù)庫中的更新了屬性信息的該某一待測試數(shù)據(jù)之間的這段時間 內(nèi),也可以在該另一運行環(huán)境成功地將更新了屬性信息的該另一待測試數(shù)據(jù)初始化入共享數(shù)據(jù)庫,進而可以在該另一運行環(huán)境中成功地利用測試用例對初始化入共享數(shù)據(jù)庫的、更新了屬性信息的該另一待測試數(shù)據(jù)進行測試。
因此,相比于現(xiàn)有技術(shù),本發(fā)明實施例可以同時在不同的運行環(huán)境中分別利用測試用例對完全相同的兩個數(shù)據(jù)進行測試。
關(guān)于上述實施例中的裝置,其中各個模塊執(zhí)行操作的具體方式已經(jīng)在有關(guān)該方法的實施例中進行了詳細(xì)描述,此處將不做詳細(xì)闡述說明。
本領(lǐng)域技術(shù)人員在考慮說明書及實踐這里公開的發(fā)明后,將容易想到本發(fā)明的其它實施方案。本申請旨在涵蓋本發(fā)明的任何變型、用途或者適應(yīng)性變化,這些變型、用途或者適應(yīng)性變化遵循本發(fā)明的一般性原理并包括本發(fā)明未公開的本技術(shù)領(lǐng)域中的公知常識或慣用技術(shù)手段。說明書和實施例僅被視為示例性的,本發(fā)明的真正范圍和精神由所附的權(quán)利要求指出。
應(yīng)當(dāng)理解的是,本發(fā)明并不局限于上面已經(jīng)描述并在附圖中示出的精確結(jié)構(gòu),并且可以在不脫離其范圍進行各種修改和改變。本發(fā)明的范圍僅由所附的權(quán)利要求來限制。