專利名稱:一種代碼測試方法及系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及軟件測試領(lǐng)域,具體而言,涉及一種代碼測試方法及系統(tǒng)。
背景技術(shù):
軟件測試就是利用測試工具按照測試方案和流程對產(chǎn)品進(jìn)行功能和性能測試,甚至根據(jù)需要編寫不同的測試工具,設(shè)計(jì)和維護(hù)測試系統(tǒng),對測試方案可能出現(xiàn)的問題進(jìn)行分析和評估。測試過程按4個步驟進(jìn)行,即單元測試、集成測試、確認(rèn)測試和系統(tǒng)測試,以下對這四個步驟進(jìn)行簡要介紹:單元測試:又稱模塊測試,是針對軟件設(shè)計(jì)的最小單位軟件模塊,進(jìn)行正確性檢驗(yàn)的測試工作。其目的在于發(fā)現(xiàn)各模塊內(nèi)部可能存在的各種差錯。單元測試需要從軟件的內(nèi)部結(jié)構(gòu)出發(fā)設(shè)計(jì)測試用例。多個模塊可以平行地獨(dú)立進(jìn)行單元測試。集成測試:在單元測試的基礎(chǔ)上,需要將所有模塊按照設(shè)計(jì)要求組裝成為子系統(tǒng)或系統(tǒng)。子系統(tǒng)的集成測試特別稱為部件測試,它所做的工作是要找出集成后的子系統(tǒng)與系統(tǒng)需求規(guī)格說明之間的不一致。確認(rèn)測試:又稱有效性測試。任務(wù)是驗(yàn)證軟件的功能和性能及其它特性是否與用戶的要求一致。對軟件的功能和性能要求在軟件需求規(guī)格說明書中已經(jīng)明確規(guī)定。它包含的信息就是軟件確認(rèn)測試的基礎(chǔ)。系統(tǒng)測試:是將通過確認(rèn)測試的軟件,作為整個基于計(jì)算機(jī)系統(tǒng)的一個元素,與計(jì)算機(jī)硬件、外設(shè)、某些支持軟件、數(shù)據(jù)和人員等其它系統(tǒng)元素結(jié)合在一起,在實(shí)際運(yùn)行環(huán)境下,對計(jì)算機(jī)系統(tǒng)進(jìn)行一系列的組裝測試和確認(rèn)測試。系統(tǒng)測試的目的在于通過與系統(tǒng)的需求定義作比較,發(fā)現(xiàn)軟件與系統(tǒng)的定義不符合或與之矛盾的地方。其中,軟件測試中還可以分為白盒測試和黑盒測試,其中白盒測試也稱結(jié)構(gòu)測試或邏輯驅(qū)動測試,它是按照軟件內(nèi)部的結(jié)構(gòu)測試軟件,通過測試來檢測產(chǎn)品內(nèi)部動作是否按照設(shè)計(jì)規(guī)格說明書的規(guī)定正常進(jìn)行,檢驗(yàn)軟件中的每條通路是否都能按預(yù)定要求正確工作。黑盒測試,也稱功能測試,它是通過測試來檢測每個功能是否都能正常使用。在測試中,把軟件看作一個不能打開的黑盒子,在完全不考慮軟件內(nèi)部結(jié)構(gòu)和內(nèi)部特性的情況下,在軟件接口進(jìn)行測試,它只檢查軟件功能是否按照需求規(guī)格說明書的規(guī)定正常使用,軟件是否能適當(dāng)?shù)亟邮蛰斎霐?shù)據(jù)而產(chǎn)生正確的輸出信息?,F(xiàn)有技術(shù)中,在進(jìn)行軟件測試時,傳統(tǒng)方法是采用白盒測試,由軟件測試工程師編寫測試腳本手工進(jìn)行測試,但這種測試方法效率不高。在對移動終端進(jìn)行測試時,多為黑盒測試,手工在各種平臺上進(jìn)行測試,操作繁瑣而效率很低。且現(xiàn)有技術(shù)中進(jìn)行多平臺測試環(huán)境的部署時需要在多種測試環(huán)境上進(jìn)行測試,即根據(jù)測試人員的操作將軟件依次在不同平臺上進(jìn)行多次測試,不能夠自動進(jìn)行多平臺的測試,而這樣通常要占用大量的時間和精力,導(dǎo)致了軟件的測試效率低的問題,從以上描述可以看出,現(xiàn)有技術(shù)中的軟件測試效率低,對測試人員來說費(fèi)時費(fèi)力。此外,由于要進(jìn)行多次測試操作,操作過程比較復(fù)雜,且測試過程中產(chǎn)生誤差的概率增大,進(jìn)而會導(dǎo)致軟件的測試的準(zhǔn)確率較低。
發(fā)明內(nèi)容
本發(fā)明提供了一種代碼測試方法及系統(tǒng),用以解決現(xiàn)有技術(shù)中的代碼測試效率低的問題。根據(jù)本發(fā)明的一個方面,提供了一種代碼測試方法,包括:將代碼依次部署在多種運(yùn)行平臺上進(jìn)行編譯;根據(jù)編譯產(chǎn)生的結(jié)果判斷所述代碼的編譯是否通過;如果是,則將所述代碼依次部署在多種運(yùn)行平臺上進(jìn)行測試。進(jìn)一步地,上述方法還包括:在對所述代碼進(jìn)行測試的過程中對所述代碼的運(yùn)行界面進(jìn)行截圖。進(jìn)一步地,所述將所述代碼依次部署在多種運(yùn)行平臺上進(jìn)行測試包括:將所述代碼依次部署在多種運(yùn)行平臺上進(jìn)行單元測試;根據(jù)單元測試產(chǎn)生的結(jié)果判斷所述代碼的單元測試是否通過;如果是,則將所述代碼依次部署到多種運(yùn)行平臺上進(jìn)行黑盒測試。進(jìn)一步地,所述方法還包括:在將所述代碼部署在多種平臺上進(jìn)行編譯之前,還包括:檢測代碼版本控制系統(tǒng)中的代碼是否有新增、修改或者刪除;如果是,則執(zhí)行將代碼部署在多種平臺上進(jìn)行編譯的步驟。進(jìn)一步地,所述方法用于在移動終端上進(jìn)行代碼測試。根據(jù)本發(fā)明的另一個方面,提供了一種代碼測試系統(tǒng),包括:編譯模塊,用于將代碼依次部署在多種運(yùn)行平臺上進(jìn)行編譯;判斷模塊,用于根據(jù)編譯產(chǎn)生的結(jié)果判斷所述代碼的編譯是否通過;測試模塊,用于當(dāng)所述判斷模塊的判斷結(jié)果為是時,將所述代碼依次部署在多種運(yùn)行平臺上進(jìn)行測試。進(jìn)一步地,所述系統(tǒng)還包括:截圖模塊,用于在所述代碼進(jìn)行測試的過程中對所述代碼的運(yùn)行界面進(jìn)行截圖。進(jìn)一步地,所述測試模塊包括:第一測試單元,用于將所述代碼依次部署在多種運(yùn)行平臺上進(jìn)行單元測試;判斷單元,用于根據(jù)單元測試產(chǎn)生的結(jié)果判斷所述代碼的單元測試是否通過;第二測試單元,用于當(dāng)所述判斷單元的判斷結(jié)果為是時,將所述代碼依次部署到多種運(yùn)行平臺上進(jìn)行黑盒測試。進(jìn)一步地,所述系統(tǒng)還包括:檢測模塊,用于在所述編譯模塊將所述代碼部署在多種平臺上進(jìn)行編譯之前,檢測代碼版本控制系統(tǒng)中的代碼是否有新增、修改或者刪除;執(zhí)行模塊,用于當(dāng)所述檢測模塊的檢測結(jié)果為所述版本控制系統(tǒng)中有新增加的代碼時,執(zhí)行將代碼部署在多種平臺上進(jìn)行編譯的步驟。進(jìn)一步地,所述系統(tǒng)用于在移動終端上進(jìn)行代碼測試。與現(xiàn)有技術(shù)相比,本發(fā)明可以自動進(jìn)行多平臺編譯以及根據(jù)編譯結(jié)果進(jìn)行多平臺測試,使代碼的測試更加智能化,提高了測試效率,此外,通過對新增代碼的自動檢測、從而對新增加的代碼進(jìn)行多自動平臺的編譯及測試減小了軟件測試操作的復(fù)雜程度,同時,在代碼的測試過程中對其運(yùn)行界面進(jìn)行截圖,可以方便判斷用戶界面是否符合預(yù)期效果,從而提高了代碼測試的精確度,保證了代碼測試數(shù)據(jù)的真實(shí)可靠性。
圖1是根據(jù)本發(fā)明實(shí)施例1的代碼測試方法的流程圖2是根據(jù)本發(fā)明實(shí)施例2的代碼測試方法的流程圖;圖3是根據(jù)本發(fā)明實(shí)施例3的代碼測試系統(tǒng)的結(jié)構(gòu)示意圖;圖4是根據(jù)本發(fā)明實(shí)施例3的測試模塊的結(jié)構(gòu)示意圖;圖5是根據(jù)本發(fā)明實(shí)施例3的另一種代碼測試系統(tǒng)的結(jié)構(gòu)示意圖;圖6是根據(jù)本發(fā)明實(shí)施例3的又一種代碼測試系統(tǒng)的結(jié)構(gòu)示意圖;以及圖7是根據(jù)本發(fā)明實(shí)施例4的代碼測試系統(tǒng)的信令流程圖。
具體實(shí)施例方式本發(fā)明提供代碼測試的方法及系統(tǒng),可以自動地對代碼進(jìn)行多平臺編譯及測試,并可以根據(jù)代碼多平臺編譯的結(jié)果決定代碼是否進(jìn)行多平臺測試,使代碼的測試更加智能化,提高了代碼測試的效率。為使本發(fā)明的上述目的、特征和優(yōu)點(diǎn)能夠更加明顯易懂,下面結(jié)合附圖和具體實(shí)施方式
對本發(fā)明實(shí)施例作進(jìn)一步詳細(xì)的說明。實(shí)施例1圖1是根據(jù)本發(fā)明實(shí)施例1的代碼測試方法的流程圖。如圖1所示,本實(shí)施例的代碼測試方法包括以下步驟:步驟101:將代碼依次部署在多種運(yùn)行平臺上進(jìn)行編譯。其中,在將代碼部署在多種平臺上進(jìn)行編譯之前,該方法還可以包括:檢測版本控制系統(tǒng)中是否有新增加的代碼;如果是,則執(zhí)行將代碼部署在多種平臺上進(jìn)行編譯的步驟。具體地,可以將代碼在不同的操作平臺上進(jìn)行測試,例如,在Windows XP、Vista、Linux、Android、MaC、UniX等操作系統(tǒng)上進(jìn)行測試,檢驗(yàn)其是否能在各種不同的操作系統(tǒng)上運(yùn)行。步驟102:根據(jù)編譯產(chǎn)生的結(jié)果判斷代碼的編譯是否通過。步驟103:如果是,則將代碼依次部署在多種運(yùn)行平臺上進(jìn)行測試。具體地,上述將代碼依次部署在多種運(yùn)行平臺上進(jìn)行測試可以包括:將代碼依次部署在多種運(yùn)行平臺上進(jìn)行單元測試;根據(jù)單元測試產(chǎn)生的結(jié)果判斷代碼的單元測試是否通過;如果是,則將代碼依次部署到多種運(yùn)行平臺上進(jìn)行黑盒測試。其中,對于可以運(yùn)行在瀏覽器中的代碼,可以對其進(jìn)行多瀏覽器測試,例如,可以在IE、Firefox, Chrome以及Maxton等瀏覽器上測試,檢驗(yàn)其是否能夠正常運(yùn)。此外,該方法可以用于在移動終端上進(jìn)行代碼測試。具體地,可以將相關(guān)的瀏覽器頁面或用戶界面封裝在測試用例庫中,從而在檢驗(yàn)相應(yīng)的瀏覽器界面或用戶界面,只需將所對應(yīng)的測試用例輸入到系統(tǒng)中,即可自動完成多平臺多瀏覽器上的測試,基于此,也可在移動終端模擬器上進(jìn)行測試,有效地提高多平臺特別是移動終端軟件測試的效率,有效地保障了軟件的質(zhì)量;同時,也保證了軟件測試數(shù)據(jù)的真實(shí)可靠性,提高了多平臺軟件測試的全面性。實(shí)施例2圖2是根據(jù)本發(fā)明實(shí)施例2的代碼測試方法的流程圖。如圖2所示,該方法包括以下步驟:步驟201:將代碼依次部署在多種運(yùn)行平臺上進(jìn)行編譯。其中,在將代碼部署在多種平臺上進(jìn)行編譯之前,該方法還可以包括:檢測版本控制系統(tǒng)中是否有新增加的代碼;如果是,則執(zhí)行將代碼部署在多種平臺上進(jìn)行編譯的步驟。
步驟202:根據(jù)編譯產(chǎn)生的結(jié)果判斷代碼的編譯是否通過。步驟203:如果是,則將代碼依次部署在多種運(yùn)行平臺上進(jìn)行測試。具體地,上述將代碼依次部署在多種運(yùn)行平臺上進(jìn)行測試可以包括:將代碼依次部署在多種運(yùn)行平臺上進(jìn)行單元測試;根據(jù)單元測試產(chǎn)生的結(jié)果判斷代碼的單元測試是否通過;如果是,則將代碼依次部署到多種運(yùn)行平臺上進(jìn)行黑盒測試,優(yōu)選地,在上述單元測試后可以進(jìn)行代碼覆蓋率分析并生成報(bào)表,這樣可以便于測試人員對測試數(shù)據(jù)進(jìn)行分析。步驟204:在對代碼進(jìn)行測試的過程中對代碼的運(yùn)行界面進(jìn)行截圖。通過對代碼的運(yùn)行界面進(jìn)行截圖可以方便判斷用戶界面是否符合預(yù)期效果,在上述對代碼的運(yùn)行界面進(jìn)行截圖后,可以根據(jù)截圖生成報(bào)表,并將報(bào)表返回給用戶界面,這樣可以使測試人員更加直觀的了解到測試數(shù)據(jù)。實(shí)施例3圖3是根據(jù)本發(fā)明實(shí)施例3的代碼測試系統(tǒng)的結(jié)構(gòu)示意圖。如圖3所示,該代碼測試系統(tǒng)300包括以下模塊:編譯模塊301,用于將代碼依次部署在多種運(yùn)行平臺上進(jìn)行編譯;判斷模塊302,用于根據(jù)編譯產(chǎn)生的結(jié)果判斷代碼的編譯是否通過;測試模塊303,用于當(dāng)判斷模塊的判斷結(jié)果為是時,將代碼依次部署在多種運(yùn)行平臺上進(jìn)行測試。圖4是根據(jù)本發(fā)明實(shí)施例3的測試模塊的結(jié)構(gòu)示意圖。如圖4所示,上述測試模塊303可以包括:第一測試單元401,用于將代碼依次部署在多種運(yùn)行平臺上進(jìn)行單元測試;判斷單元402,用于根據(jù)單元測試產(chǎn)生的結(jié)果判斷代碼的單元測試是否通過;第二測試單元403,用于當(dāng)判斷單元的判斷結(jié)果為是時,將代碼依次部署到多種運(yùn)行平臺上進(jìn)行黑盒測試。圖5是根據(jù)本發(fā)明實(shí)施例3的另一種代碼測試系統(tǒng)的結(jié)構(gòu)示意圖。如圖5所示,該代碼測試系統(tǒng)500除了包括上述圖3中各模塊外還可以包括以下模塊:截圖模塊501,用于在代碼進(jìn)行測試的過程中對代碼的運(yùn)行界面進(jìn)行截圖,通過該模塊在對代碼測試的過程中對代碼的運(yùn)行界面進(jìn)行截圖可以方便判斷用戶界面是否符合預(yù)期效果。上述兩種系統(tǒng)均可以用于在移動終端上進(jìn)行代碼測試。圖6是根據(jù)本發(fā)明實(shí)施例3的又一種代碼測試系統(tǒng)的結(jié)構(gòu)示意圖。如圖6所示,該代碼測試系統(tǒng)600除了包括上述圖3中各模塊外,還可以包括以下模塊:檢測模塊601,用于在編譯模塊將代碼部署在多種平臺上進(jìn)行編譯之前,檢測版本控制系統(tǒng)中是否有新增加的代碼;執(zhí)行模塊602,用于當(dāng)檢測模塊的檢測結(jié)果為版本控制系統(tǒng)中有新增加的代碼時,執(zhí)行將代碼部署在多種平臺上進(jìn)行編譯的步驟。優(yōu)選地,該系統(tǒng)可以用于在移動終端上進(jìn)行代碼測試。實(shí)施例4本實(shí)施例中的代碼測試系統(tǒng)也可以由測試管理模塊、編譯管理模塊、單元測試管理模塊、代碼版本控制系統(tǒng)以及結(jié)果產(chǎn)生模塊構(gòu)成。圖7是根據(jù)本發(fā)明實(shí)施例4的代碼測試系統(tǒng)的信令流程圖。如圖7所示,多平臺代碼測試的實(shí)現(xiàn)可以分為四個階段:檢測代碼更新;進(jìn)行多平臺編譯;進(jìn)行多平臺單元測試;進(jìn)行多平臺多瀏覽器自動黑盒測試。由測試管理模塊按以下步驟發(fā)起流程:1、測試管理模塊定時檢測是否有更新的代碼。2、如有更新的代碼,部署代碼在多平臺,進(jìn)行多平臺編譯,并產(chǎn)生詳細(xì)編譯報(bào)告。3、編譯完成后,進(jìn)行多平臺測試,并產(chǎn)生詳細(xì)測試分析報(bào)告。4、進(jìn)行多平臺多瀏覽器黑盒測試,并進(jìn)行界面截圖,然后產(chǎn)生相應(yīng)報(bào)表供測試人員檢測。需要說明的是,在本文中,諸如第一和第二等之類的關(guān)系術(shù)語僅僅用來將一個實(shí)體或者操作與另一個實(shí)體或操作區(qū)分開來,而不一定要求或者暗示這些實(shí)體或操作之間存在任何這種實(shí)際的關(guān)系或者順序。而且,術(shù)語“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、物品或者設(shè)備不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、物品或者設(shè)備
所固有的要素。在沒有更多限制的情況下,由語句“包括一個......”限定的要素,并不排
除在包括所述要素的過程、方法、物品或者設(shè)備中還存在另外的相同要素。以上所述僅為本發(fā)明的較佳實(shí)施例而已,并非用于限定本發(fā)明的保護(hù)范圍。凡在本發(fā)明的精神和原則之內(nèi)所作的任何修改、等同替換、改進(jìn)等,均包含在本發(fā)明的保護(hù)范圍內(nèi)。
權(quán)利要求
1.一種代碼測試方法,其特征在于,包括: 將代碼依次部署在多種運(yùn)行平臺上進(jìn)行編譯; 根據(jù)編譯產(chǎn)生的結(jié)果判斷所述代碼的編譯是否通過; 如果是,則將所述代碼依次部署在多種運(yùn)行平臺上進(jìn)行測試。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述方法還包括: 在對所述代碼進(jìn)行測試的過程中對所述代碼的運(yùn)行界面進(jìn)行截圖。
3.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述將所述代碼依次部署在多種運(yùn)行平臺上進(jìn)行測試包括: 將所述代碼依次部署在多種運(yùn)行平臺上進(jìn)行單元測試; 根據(jù)單元測試產(chǎn)生的結(jié)果判斷所述代碼的單元測試是否通過; 如果是,則將所述代碼依次部署到多種運(yùn)行平臺上進(jìn)行黑盒測試。
4.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述方法還包括: 在將所述代碼部署在多種平臺上進(jìn)行編譯之前,還包括: 檢測代碼版本控制系統(tǒng)中的代碼是否有新增、修改或者刪除; 如果是,則執(zhí)行將代碼部署在多種平臺上進(jìn)行編譯的步驟。
5.根據(jù)權(quán)利要求1至4任意一項(xiàng)所述的方法,其特征在于,所述方法用于在移動終端上進(jìn)行代碼測試。
6.一種代碼測試系統(tǒng),其特征在于,包括: 編譯模塊,用于將代碼依次部署在多種運(yùn)行平臺上進(jìn)行編譯; 判斷模塊,用于根據(jù)編譯產(chǎn)生的結(jié)果判斷所述代碼的編譯是否通過; 測試模塊,用于當(dāng)所述判斷模塊的判斷結(jié)果為是時,將所述代碼依次部署在多種運(yùn)行平臺上進(jìn)行測試。
7.根據(jù)權(quán)利要求6所述的系統(tǒng),其特征在于,所述系統(tǒng)還包括: 截圖模塊,用于在所述代碼進(jìn)行測試的過程中對所述代碼的運(yùn)行界面進(jìn)行截圖。
8.根據(jù)權(quán)利要求6所述的系統(tǒng),其特征在于,所述測試模塊包括: 第一測試單元,用于將所述代碼依次部署在多種運(yùn)行平臺上進(jìn)行單元測試; 判斷單元,用于根據(jù)單元測試產(chǎn)生的結(jié)果判斷所述代碼的單元測試是否通過; 第二測試單元,用于當(dāng)所述判斷單元的判斷結(jié)果為是時,將所述代碼依次部署到多種運(yùn)行平臺上進(jìn)行黑盒測試。
9.根據(jù)權(quán)利要求6所述的系統(tǒng),其特征在于,所述系統(tǒng)還包括: 檢測模塊,用于在所述編譯模塊將所述代碼部署在多種平臺上進(jìn)行編譯之前,檢測代碼版本控制系統(tǒng)中的代碼是否有新增、修改或者刪除; 執(zhí)行模塊,用于當(dāng)所述檢測模塊的檢測結(jié)果為所述版本控制系統(tǒng)中有新增加的代碼時,執(zhí)行將代碼部署在多種平臺上進(jìn)行編譯的步驟。
10.根據(jù)權(quán)利要求6至9任意一項(xiàng)所述的系統(tǒng),其特征在于,所述系統(tǒng)用于在移動終端上進(jìn)行代碼測試。
全文摘要
本發(fā)明公開了一種代碼測試方法及系統(tǒng),該方法包括將代碼依次部署在多種運(yùn)行平臺上進(jìn)行編譯;根據(jù)編譯產(chǎn)生的結(jié)果判斷代碼的編譯是否通過;如果是,則將代碼依次部署在多種運(yùn)行平臺上進(jìn)行測試,通過本發(fā)明的技術(shù)方案實(shí)現(xiàn)了對代碼的自動多平臺編譯以及進(jìn)行多平臺測試,使代碼的測試更加智能化,提高了代碼測試的效率。
文檔編號G06F11/36GK103207828SQ20121000904
公開日2013年7月17日 申請日期2012年1月12日 優(yōu)先權(quán)日2012年1月12日
發(fā)明者郭理靖 申請人:上海盛霄云計(jì)算技術(shù)有限公司