一種軟件敏捷測試方法及系統(tǒng)的制作方法
【專利摘要】本發(fā)明提供了一種軟件敏捷測試方法及系統(tǒng),方法包括:S1:根據(jù)功能需求,將軟件項(xiàng)目劃分為多個(gè)子項(xiàng)目,并分別對(duì)每一個(gè)子項(xiàng)目進(jìn)行開發(fā);S2:在當(dāng)前子項(xiàng)目開發(fā)完成之后,對(duì)當(dāng)前子項(xiàng)目進(jìn)行手動(dòng)測試,并對(duì)當(dāng)前子項(xiàng)目之前開發(fā)完成的子項(xiàng)目進(jìn)行自動(dòng)化測試;S3:在當(dāng)前子項(xiàng)目手動(dòng)測試成功時(shí),針對(duì)當(dāng)前子項(xiàng)目編寫自動(dòng)化測試代碼,并在下一個(gè)子項(xiàng)目開發(fā)完成之后,將下一個(gè)子項(xiàng)目作為當(dāng)前子項(xiàng)目執(zhí)行S2,直到多個(gè)子項(xiàng)目測試完成。根據(jù)本方案,通過對(duì)已經(jīng)手動(dòng)測試成功的子項(xiàng)目編寫自動(dòng)化測試代碼,以實(shí)現(xiàn)對(duì)當(dāng)前子項(xiàng)目進(jìn)行手動(dòng)測試,對(duì)之前獲取的子項(xiàng)目進(jìn)行自動(dòng)化測試,從而可以提高軟件敏捷測試的效率。
【專利說明】
一種軟件敏捷測試方法及系統(tǒng)
技術(shù)領(lǐng)域
[0001]本發(fā)明涉及軟件測試技術(shù)領(lǐng)域,特別涉及一種軟件敏捷測試方法及系統(tǒng)。
【背景技術(shù)】
[0002]軟件敏捷開發(fā)是以用戶需求為進(jìn)化核心,采用迭代、循序漸進(jìn)的方法進(jìn)行軟件開發(fā)。
[0003]傳統(tǒng)的軟件敏捷開發(fā)方式一般包括:將軟件項(xiàng)目切分成多個(gè)子項(xiàng)目進(jìn)行分別開發(fā),在第一個(gè)子項(xiàng)目開發(fā)完成后,對(duì)該第一個(gè)子項(xiàng)目進(jìn)行手動(dòng)功能測試,在功能測試通過之后,開發(fā)第二個(gè)子項(xiàng)目,并在第二子項(xiàng)目開發(fā)完成后,將第一個(gè)子項(xiàng)目與第二個(gè)子項(xiàng)目集成,并對(duì)該集成項(xiàng)目進(jìn)行手動(dòng)功能測試,依次迭代,直到軟件項(xiàng)目完成開發(fā)并測試結(jié)束。
[0004]然而,傳統(tǒng)的軟件敏捷開發(fā)方式效率較低。
【發(fā)明內(nèi)容】
[0005]本發(fā)明實(shí)施例提供了一種軟件敏捷測試方法及系統(tǒng),以實(shí)現(xiàn)軟件敏捷開發(fā)。
[0006]第一方面,本發(fā)明實(shí)施例提供了一種軟件敏捷測試方法,包括:
[0007]S1:根據(jù)功能需求,將軟件項(xiàng)目劃分為多個(gè)子項(xiàng)目,并分別對(duì)每一個(gè)子項(xiàng)目進(jìn)行開發(fā);
[0008]S2:在當(dāng)前子項(xiàng)目開發(fā)完成之后,對(duì)所述當(dāng)前子項(xiàng)目進(jìn)行手動(dòng)測試,并對(duì)所述當(dāng)前子項(xiàng)目之前開發(fā)完成的子項(xiàng)目進(jìn)行自動(dòng)化測試;
[0009]S3:在所述當(dāng)前子項(xiàng)目手動(dòng)測試成功時(shí),針對(duì)所述當(dāng)前子項(xiàng)目編寫自動(dòng)化測試代碼,并在下一個(gè)子項(xiàng)目開發(fā)完成之后,將所述下一個(gè)子項(xiàng)目作為當(dāng)前子項(xiàng)目執(zhí)行S2,直到所述多個(gè)子項(xiàng)目測試完成。
[0010]優(yōu)選地,所述對(duì)每一個(gè)子項(xiàng)目進(jìn)行開發(fā),包括:
[0011 ]針對(duì)每一個(gè)目標(biāo)子項(xiàng)目執(zhí)行如下操作:
[0012]確定所述目標(biāo)子項(xiàng)目所需實(shí)現(xiàn)的至少一個(gè)基礎(chǔ)功能,并針對(duì)每一個(gè)所述基礎(chǔ)功能的開發(fā)流程進(jìn)行調(diào)研;根據(jù)調(diào)研結(jié)果,針對(duì)每一個(gè)所述基礎(chǔ)功能進(jìn)行編碼;根據(jù)每一個(gè)所述基礎(chǔ)功能所對(duì)應(yīng)的編碼,將所述至少一個(gè)基礎(chǔ)功能進(jìn)行集成,以完成所述目標(biāo)子項(xiàng)目所需實(shí)現(xiàn)的功能。
[0013]優(yōu)選地,
[0014]在所述當(dāng)前子項(xiàng)目手動(dòng)測試成功之后,在所述針對(duì)所述當(dāng)前子項(xiàng)目編寫自動(dòng)化測試代碼之前,進(jìn)一步包括:將所述當(dāng)前子項(xiàng)目與在所述當(dāng)前子項(xiàng)目之前獲取的各個(gè)子項(xiàng)目進(jìn)行集成;
[0015]所述針對(duì)所述當(dāng)前子項(xiàng)目編寫自動(dòng)化測試代碼,包括:在所述當(dāng)前子項(xiàng)目之前獲取的各個(gè)子項(xiàng)目所對(duì)應(yīng)的自動(dòng)化測試代碼的基礎(chǔ)上,對(duì)集成后的子項(xiàng)目進(jìn)行自動(dòng)化測試代碼的編寫。
[0016]優(yōu)選地,在所述當(dāng)前子項(xiàng)目手動(dòng)測試失敗時(shí),進(jìn)一步包括:確定所述當(dāng)前子項(xiàng)目發(fā)生故障的菜單項(xiàng),并針對(duì)該發(fā)生故障的菜單項(xiàng)所對(duì)應(yīng)的編碼進(jìn)行修改,并對(duì)修改后的該發(fā)生故障的菜單項(xiàng)進(jìn)行手動(dòng)測試,直到所述當(dāng)前子項(xiàng)目手動(dòng)測試成功。
[0017]第二方面,本發(fā)明實(shí)施例還提供了一種軟件敏捷測試系統(tǒng),包括:
[0018]開發(fā)單元,用于根據(jù)功能需求,將軟件項(xiàng)目劃分為多個(gè)子項(xiàng)目,并分別對(duì)每一個(gè)子項(xiàng)目進(jìn)行開發(fā),并將開發(fā)完成的子項(xiàng)目發(fā)送給測試單元;
[0019]測試單元,用于在當(dāng)前子項(xiàng)目開發(fā)完成之后,對(duì)所述當(dāng)前子項(xiàng)目進(jìn)行手動(dòng)測試,并對(duì)所述當(dāng)前子項(xiàng)目之前開發(fā)完成的子項(xiàng)目進(jìn)行自動(dòng)化測試,在所述當(dāng)前子項(xiàng)目手動(dòng)測試成功時(shí),觸發(fā)編寫單元執(zhí)行相應(yīng)操作;
[0020]所述編寫單元,用于針對(duì)所述當(dāng)前子項(xiàng)目編寫自動(dòng)化測試代碼,并在下一個(gè)子項(xiàng)目開發(fā)完成之后,將所述下一個(gè)子項(xiàng)目作為當(dāng)前子項(xiàng)目觸發(fā)所述測試單元執(zhí)行相應(yīng)操作,直到所述多個(gè)子項(xiàng)目測試完成。
[0021 ]優(yōu)選地,所述開發(fā)單元,具體用于針對(duì)每一個(gè)目標(biāo)子項(xiàng)目執(zhí)行如下操作:確定所述目標(biāo)子項(xiàng)目所需實(shí)現(xiàn)的至少一個(gè)基礎(chǔ)功能,并針對(duì)每一個(gè)所述基礎(chǔ)功能的開發(fā)流程進(jìn)行調(diào)研;根據(jù)調(diào)研結(jié)果,針對(duì)每一個(gè)所述基礎(chǔ)功能進(jìn)行編碼;根據(jù)每一個(gè)所述基礎(chǔ)功能所對(duì)應(yīng)的編碼,將所述至少一個(gè)基礎(chǔ)功能進(jìn)行集成,以完成所述目標(biāo)子項(xiàng)目所需實(shí)現(xiàn)的功能。
[0022]優(yōu)選地,
[0023]進(jìn)一步包括:集成單元,用于將所述當(dāng)前子項(xiàng)目與在所述當(dāng)前子項(xiàng)目之前獲取的各個(gè)子項(xiàng)目進(jìn)行集成;
[0024]所述編寫單元,具體用于在所述當(dāng)前子項(xiàng)目之前獲取的各個(gè)子項(xiàng)目所對(duì)應(yīng)的自動(dòng)化測試代碼的基礎(chǔ)上,對(duì)集成后的子項(xiàng)目進(jìn)行自動(dòng)化測試代碼的編寫。
[0025]優(yōu)選地,進(jìn)一步包括:修改單元,用于確定所述當(dāng)前子項(xiàng)目發(fā)生故障的菜單項(xiàng),并針對(duì)該發(fā)生故障的菜單項(xiàng)所對(duì)應(yīng)的編碼進(jìn)行修改,并對(duì)修改后的該發(fā)生故障的菜單項(xiàng)進(jìn)行手動(dòng)測試,直到所述當(dāng)前子項(xiàng)目手動(dòng)測試成功。
[0026]本發(fā)明實(shí)施例提供了一種軟件敏捷測試方法及系統(tǒng),通過對(duì)已經(jīng)手動(dòng)測試成功的子項(xiàng)目編寫自動(dòng)化測試代碼,以實(shí)現(xiàn)對(duì)當(dāng)前子項(xiàng)目進(jìn)行手動(dòng)測試,對(duì)之前獲取的子項(xiàng)目進(jìn)行自動(dòng)化測試,從而可以提高軟件敏捷測試的效率。
【附圖說明】
[0027]為了更清楚地說明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
[0028]圖1是本發(fā)明一個(gè)實(shí)施例提供的一種方法流程圖;
[0029]圖2是本發(fā)明一個(gè)實(shí)施例提供的另一種方法流程圖;
[0030]圖3是本發(fā)明一個(gè)實(shí)施例提供的系統(tǒng)硬件架構(gòu)示意圖;
[0031 ]圖4是本發(fā)明一個(gè)實(shí)施例提供的一種系統(tǒng)結(jié)構(gòu)示意圖;
[0032]圖5是本發(fā)明一個(gè)實(shí)施例提供的另一種系統(tǒng)結(jié)構(gòu)示意圖;
[0033]圖6是本發(fā)明一個(gè)實(shí)施例提供的再一種系統(tǒng)結(jié)構(gòu)示意圖。
【具體實(shí)施方式】
[0034]為使本發(fā)明實(shí)施例的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例,基于本發(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動(dòng)的前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
[0035]如圖1所示,本發(fā)明實(shí)施例提供了一種軟件敏捷測試方法,該方法可以包括以下步驟:
[0036]步驟101:根據(jù)功能需求,將軟件項(xiàng)目劃分為多個(gè)子項(xiàng)目,并分別對(duì)每一個(gè)子項(xiàng)目進(jìn)行開發(fā)。
[0037]步驟102:在當(dāng)前子項(xiàng)目開發(fā)完成之后,對(duì)所述當(dāng)前子項(xiàng)目進(jìn)行手動(dòng)測試,并對(duì)所述當(dāng)前子項(xiàng)目之前開發(fā)完成的子項(xiàng)目進(jìn)行自動(dòng)化測試。
[0038]步驟103:在所述當(dāng)前子項(xiàng)目手動(dòng)測試成功時(shí),針對(duì)所述當(dāng)前子項(xiàng)目編寫自動(dòng)化測試代碼,并在下一個(gè)子項(xiàng)目開發(fā)完成之后,將所述下一個(gè)子項(xiàng)目作為當(dāng)前子項(xiàng)目執(zhí)行步驟102,直到所述多個(gè)子項(xiàng)目測試完成。
[0039]根據(jù)上述實(shí)施例,通過對(duì)已經(jīng)手動(dòng)測試成功的子項(xiàng)目編寫自動(dòng)化測試代碼,以實(shí)現(xiàn)對(duì)當(dāng)前子項(xiàng)目進(jìn)行手動(dòng)測試,對(duì)之前獲取的子項(xiàng)目進(jìn)行自動(dòng)化測試,從而可以提高軟件敏捷測試的效率。
[0040]在本發(fā)明一個(gè)實(shí)施例中,對(duì)于每一個(gè)子項(xiàng)目的開發(fā),可以通過如下方式來實(shí)現(xiàn):針對(duì)每一個(gè)目標(biāo)子項(xiàng)目執(zhí)行如下操作:確定所述目標(biāo)子項(xiàng)目所需實(shí)現(xiàn)的至少一個(gè)基礎(chǔ)功能,并針對(duì)每一個(gè)所述基礎(chǔ)功能的開發(fā)流程進(jìn)行調(diào)研;根據(jù)調(diào)研結(jié)果,針對(duì)每一個(gè)所述基礎(chǔ)功能進(jìn)行編碼;根據(jù)每一個(gè)所述基礎(chǔ)功能所對(duì)應(yīng)的編碼,將所述至少一個(gè)基礎(chǔ)功能進(jìn)行集成,以完成所述目標(biāo)子項(xiàng)目所需實(shí)現(xiàn)的功能。
[0041 ]對(duì)于調(diào)研工作可以由調(diào)研開發(fā)人員來執(zhí)行,主要是對(duì)每一個(gè)基礎(chǔ)功能的開發(fā)流程、技術(shù)難點(diǎn)疑點(diǎn)進(jìn)行調(diào)研,以降低基礎(chǔ)開發(fā)人員的編碼難度。
[0042]對(duì)于對(duì)每一個(gè)基礎(chǔ)功能進(jìn)行編碼的工作可以由基礎(chǔ)開發(fā)人員來執(zhí)行,利用調(diào)研開發(fā)人員的調(diào)研結(jié)果對(duì)基礎(chǔ)功能進(jìn)行編碼。
[0043]對(duì)于各個(gè)基礎(chǔ)功能的集成工作可以由編碼人員來執(zhí)行,用于負(fù)責(zé)子項(xiàng)目所需實(shí)現(xiàn)的功能。
[0044]在本發(fā)明一個(gè)實(shí)施例中,在所述當(dāng)前子項(xiàng)目手動(dòng)測試成功之后,在所述針對(duì)所述當(dāng)前子項(xiàng)目編寫自動(dòng)化測試代碼之前,可以進(jìn)一步包括:將所述當(dāng)前子項(xiàng)目與在所述當(dāng)前子項(xiàng)目之前獲取的各個(gè)子項(xiàng)目進(jìn)行集成;
[0045]所述針對(duì)所述當(dāng)前子項(xiàng)目編寫自動(dòng)化測試代碼,包括:在所述當(dāng)前子項(xiàng)目之前獲取的各個(gè)子項(xiàng)目所對(duì)應(yīng)的自動(dòng)化測試代碼的基礎(chǔ)上,對(duì)集成后的子項(xiàng)目進(jìn)行自動(dòng)化測試代碼的編寫。
[0046]根據(jù)上述實(shí)施例,可以利用集成后子項(xiàng)目所對(duì)應(yīng)的自動(dòng)化測試代碼對(duì)集成后子項(xiàng)目直接進(jìn)行自動(dòng)化測試,無需分別對(duì)每一個(gè)子項(xiàng)目執(zhí)行一次利用相應(yīng)自動(dòng)化測試代碼對(duì)其子項(xiàng)目進(jìn)行自動(dòng)化測試的操作,從而可以進(jìn)一步提高軟件敏捷測試效率。
[0047]在本發(fā)明一個(gè)實(shí)施例中,在所述當(dāng)前子項(xiàng)目手動(dòng)測試失敗時(shí),進(jìn)一步包括:確定所述當(dāng)前子項(xiàng)目發(fā)生故障的菜單項(xiàng),并針對(duì)該發(fā)生故障的菜單項(xiàng)所對(duì)應(yīng)的編碼進(jìn)行修改,并對(duì)修改后的該發(fā)生故障的菜單項(xiàng)進(jìn)行手動(dòng)測試,直到所述當(dāng)前子項(xiàng)目手動(dòng)測試成功。
[0048]根據(jù)上述實(shí)施例,可以保證編寫了自動(dòng)化測試代碼的子項(xiàng)目已經(jīng)處于穩(wěn)定狀態(tài),自動(dòng)化測試代碼編寫完成之后,無需修改,即可對(duì)已經(jīng)穩(wěn)定的子項(xiàng)目進(jìn)行自動(dòng)化測試,從而可以提高測試效率,降低測試成本。
[0049]為使本發(fā)明的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面結(jié)合附圖及具體實(shí)施例對(duì)本發(fā)明作進(jìn)一步地詳細(xì)描述。
[0050]如圖2所示,本發(fā)明實(shí)施例提供了一種軟件敏捷測試方法,該方法可以包括以下步驟:
[0051 ]步驟201:確定所需開發(fā)的軟件項(xiàng)目,并根據(jù)功能需求將軟件項(xiàng)目劃分為多個(gè)子項(xiàng)目。
[0052]在本實(shí)施例中,可以使用敏捷開發(fā)方式對(duì)軟件項(xiàng)目進(jìn)行開發(fā),該方式可以根據(jù)功能需求將軟件項(xiàng)目劃分為多個(gè)子項(xiàng)目。例如,子項(xiàng)目1、子項(xiàng)目2、子項(xiàng)目3、……、子項(xiàng)目η。
[0053]由于敏捷開發(fā)模型適用于小而精的團(tuán)隊(duì),隨著軟件規(guī)模日益增大,敏捷開發(fā)團(tuán)隊(duì)不可避免的會(huì)需要更多的人員加入,因此,在本發(fā)明一個(gè)實(shí)施例中,可以對(duì)軟件開發(fā)測試項(xiàng)目的人員架構(gòu)進(jìn)行調(diào)整,調(diào)整后的人員架構(gòu)可以包括:基礎(chǔ)開發(fā)人員、調(diào)研開發(fā)人員、編碼人員、手動(dòng)測試人員和自動(dòng)測試人員。
[0054]其中,對(duì)于每一個(gè)子項(xiàng)目的開發(fā)測試是按照軟件項(xiàng)目劃分后的子項(xiàng)目順序進(jìn)行的。軟件開發(fā)測試項(xiàng)目的人員架構(gòu)中每一個(gè)人員按照子項(xiàng)目的順序逐個(gè)對(duì)每一個(gè)子項(xiàng)目執(zhí)行相應(yīng)操作,并在當(dāng)前人員對(duì)當(dāng)前子項(xiàng)目結(jié)束操作之后,發(fā)送給下一個(gè)與其對(duì)應(yīng)的人員繼續(xù)對(duì)該當(dāng)前子項(xiàng)目進(jìn)行操作,直到所有子項(xiàng)目開發(fā)測試結(jié)束。
[0055]本實(shí)施例中,開發(fā)人員和測試員人的比例可以為3:2,其中,基礎(chǔ)開發(fā)人員:調(diào)研開發(fā)人員:編碼人員:手動(dòng)測試人員:自動(dòng)測試人員=1:1:1:1:1。
[0056]步驟202:調(diào)研開發(fā)人員針對(duì)每一個(gè)子項(xiàng)目,確定其所需實(shí)現(xiàn)的至少一個(gè)基礎(chǔ)功能,并針對(duì)每一個(gè)基礎(chǔ)功能的開發(fā)流程進(jìn)行調(diào)研。
[0057]對(duì)于每一個(gè)子項(xiàng)目一般可以實(shí)現(xiàn)至少一個(gè)基礎(chǔ)功能,為了降低基礎(chǔ)開發(fā)人員的編碼難度,調(diào)研開發(fā)人員可以針對(duì)每一個(gè)基礎(chǔ)功能的開發(fā)流程、疑難技術(shù)的調(diào)研和支持,并將調(diào)研結(jié)果發(fā)送給基礎(chǔ)開發(fā)人員。
[0058]步驟203:基礎(chǔ)開發(fā)人員根據(jù)調(diào)研結(jié)果,針對(duì)每一個(gè)基礎(chǔ)功能進(jìn)行編碼。
[0059]在現(xiàn)有技術(shù)中,對(duì)于傳統(tǒng)的軟件測試模型一般為文檔驅(qū)動(dòng)型,該驅(qū)動(dòng)流程一般包括:需求文檔及評(píng)審-概要設(shè)計(jì)及評(píng)審-詳細(xì)設(shè)計(jì)及評(píng)審-測試用例編寫及評(píng)審-測試執(zhí)行及測試報(bào)告。每一個(gè)步驟均需要文檔和評(píng)審,只有評(píng)審?fù)ㄟ^之后,才可以進(jìn)行下一個(gè)步驟。該文檔驅(qū)動(dòng)測試略顯笨重且效率很低。
[0060]基礎(chǔ)開發(fā)人員在接收到調(diào)研開發(fā)人員對(duì)當(dāng)前子項(xiàng)目的調(diào)研結(jié)果時(shí),基礎(chǔ)開發(fā)人員確定收到對(duì)該當(dāng)前子項(xiàng)目進(jìn)行編碼的指令,從而根據(jù)調(diào)研結(jié)果,針對(duì)該當(dāng)前子項(xiàng)目的每一個(gè)基礎(chǔ)功能進(jìn)行編碼。
[0061]通過上述每一個(gè)人員在對(duì)各自所需執(zhí)行的操作執(zhí)行結(jié)束之后,通過將執(zhí)行結(jié)果發(fā)送給下一個(gè)人員,從而可以實(shí)現(xiàn)對(duì)下一個(gè)步驟的驅(qū)動(dòng),相對(duì)于現(xiàn)有技術(shù)的文檔驅(qū)動(dòng)效率更尚O
[0062]步驟204:編碼人員根據(jù)每一個(gè)基礎(chǔ)功能所對(duì)應(yīng)的編碼,將至少一個(gè)基礎(chǔ)功能進(jìn)行集成,以完成每一個(gè)當(dāng)前子項(xiàng)目所需實(shí)現(xiàn)的功能。
[0063]步驟205:自動(dòng)測試人員對(duì)當(dāng)前子項(xiàng)目之前開發(fā)完成的子項(xiàng)目進(jìn)行自動(dòng)化測試。
[0064]在本實(shí)施例中,自動(dòng)測試人員對(duì)當(dāng)前子項(xiàng)目之前開發(fā)完成的目標(biāo)子項(xiàng)目進(jìn)行自動(dòng)化測試的方式可以包括:
[0065]1、利用每一個(gè)目標(biāo)子項(xiàng)目所對(duì)應(yīng)的自動(dòng)化測試代碼分別執(zhí)行一次測試指令,以利用各個(gè)自動(dòng)化測試代碼分別對(duì)相應(yīng)目標(biāo)子項(xiàng)目進(jìn)行自動(dòng)化測試;
[0066]2、將所有目標(biāo)子項(xiàng)目集成為一個(gè)集成項(xiàng)目,將每一個(gè)目標(biāo)子項(xiàng)目對(duì)應(yīng)的自動(dòng)化測試代碼集成為一個(gè)整體的自動(dòng)化測試代碼,并對(duì)該整體的自動(dòng)化測試代碼執(zhí)行一次測試指令,以利用該整體的自動(dòng)化測試代碼對(duì)集成項(xiàng)目進(jìn)行自動(dòng)化測試。
[0067]步驟206:手動(dòng)測試人員對(duì)完成的當(dāng)前子項(xiàng)目進(jìn)行手動(dòng)測試,并在對(duì)當(dāng)前子項(xiàng)目手動(dòng)測試成功之后,執(zhí)行步驟207 ;若手動(dòng)測試失敗,執(zhí)行步驟210。
[0068]在本實(shí)施例中,對(duì)于新開發(fā)出的子項(xiàng)目,若該子項(xiàng)目開發(fā)的編碼不穩(wěn)定,若直接開發(fā)自動(dòng)化測試代碼進(jìn)行自動(dòng)化測試,可能需要多次對(duì)自動(dòng)化測試代碼進(jìn)行修改,從而降低測試效率和提高測試成本,因此,可以對(duì)新開發(fā)出的子項(xiàng)目進(jìn)行手動(dòng)測試,只有在手動(dòng)測試成功后,表明該子項(xiàng)目已經(jīng)處于穩(wěn)定狀態(tài),此時(shí)可以對(duì)該穩(wěn)定狀態(tài)的子項(xiàng)目編寫自動(dòng)化測試代碼。
[0069]步驟207:將當(dāng)前子項(xiàng)目與在當(dāng)前子項(xiàng)目之前獲取的各個(gè)子項(xiàng)目進(jìn)行集成。
[0070]步驟208:在當(dāng)前子項(xiàng)目之前獲取的各個(gè)子項(xiàng)目所對(duì)應(yīng)的自動(dòng)化測試代碼的基礎(chǔ)上,對(duì)集成后的子項(xiàng)目進(jìn)行自動(dòng)化測試代碼的編寫。
[0071]其中,自動(dòng)化測試代碼的編寫由自動(dòng)測試人員來完成。
[0072]步驟209:在下一個(gè)子項(xiàng)目開發(fā)完成時(shí),將該下一個(gè)子項(xiàng)目作為當(dāng)前子項(xiàng)目執(zhí)行步驟205,直到軟件項(xiàng)目所劃分的所有子項(xiàng)目均測試成功。
[0073]步驟210:確定當(dāng)前子項(xiàng)目發(fā)生故障的菜單項(xiàng),并針對(duì)該發(fā)生故障的菜單項(xiàng)所對(duì)應(yīng)的編碼進(jìn)行修改,并對(duì)修改后的該發(fā)生故障的菜單項(xiàng)進(jìn)行手動(dòng)測試,直到所述當(dāng)前子項(xiàng)目手動(dòng)測試成功,執(zhí)行步驟207。
[0074]其中,當(dāng)確定了當(dāng)前子項(xiàng)目發(fā)生故障的菜單項(xiàng)之后,可以將該菜單項(xiàng)反饋給基礎(chǔ)開發(fā)人員和編碼人員,由基礎(chǔ)開發(fā)人員和編碼人員實(shí)行對(duì)該當(dāng)前子項(xiàng)目中發(fā)生故障的菜單項(xiàng)進(jìn)行修改,并在修改成功后,發(fā)送給手動(dòng)測試人員,由手動(dòng)測試人員對(duì)該發(fā)生故障的菜單項(xiàng)進(jìn)行手動(dòng)測試。
[0075]如圖3、圖4所示,本發(fā)明實(shí)施例提供了一種軟件敏捷測試系統(tǒng)。裝置實(shí)施例可以通過軟件實(shí)現(xiàn),也可以通過硬件或者軟硬件結(jié)合的方式實(shí)現(xiàn)。從硬件層面而言,如圖3所示,為本發(fā)明實(shí)施例提供的軟件敏捷測試系統(tǒng)所在設(shè)備的一種硬件結(jié)構(gòu)圖,除了圖3所示的處理器、內(nèi)存、網(wǎng)絡(luò)接口、以及非易失性存儲(chǔ)器之外,實(shí)施例中裝置所在的設(shè)備通常還可以包括其他硬件,如負(fù)責(zé)處理報(bào)文的轉(zhuǎn)發(fā)芯片等等。以軟件實(shí)現(xiàn)為例,如圖4所示,作為一個(gè)邏輯意義上的裝置,是通過其所在設(shè)備的CPU將非易失性存儲(chǔ)器中對(duì)應(yīng)的計(jì)算機(jī)程序指令讀取到內(nèi)存中運(yùn)行形成的。本實(shí)施例提供的軟件敏捷測試系統(tǒng),包括:
[0076]開發(fā)單元401,用于根據(jù)功能需求,將軟件項(xiàng)目劃分為多個(gè)子項(xiàng)目,并分別對(duì)每一個(gè)子項(xiàng)目進(jìn)行開發(fā),并將開發(fā)完成的子項(xiàng)目發(fā)送給測試單元402;
[0077]測試單元402,用于在當(dāng)前子項(xiàng)目開發(fā)完成之后,對(duì)所述當(dāng)前子項(xiàng)目進(jìn)行手動(dòng)測試,并對(duì)所述當(dāng)前子項(xiàng)目之前開發(fā)完成的子項(xiàng)目進(jìn)行自動(dòng)化測試,在所述當(dāng)前子項(xiàng)目手動(dòng)測試成功時(shí),觸發(fā)編寫單元403執(zhí)行相應(yīng)操作;
[0078]所述編寫單元403,用于針對(duì)所述當(dāng)前子項(xiàng)目編寫自動(dòng)化測試代碼,并在下一個(gè)子項(xiàng)目開發(fā)完成之后,將所述下一個(gè)子項(xiàng)目作為當(dāng)前子項(xiàng)目觸發(fā)所述測試單元402執(zhí)行相應(yīng)操作,直到所述多個(gè)子項(xiàng)目測試完成。
[0079]在本發(fā)明一個(gè)實(shí)施例中,所述開發(fā)單元401,具體用于針對(duì)每一個(gè)目標(biāo)子項(xiàng)目執(zhí)行如下操作:確定所述目標(biāo)子項(xiàng)目所需實(shí)現(xiàn)的至少一個(gè)基礎(chǔ)功能,并針對(duì)每一個(gè)所述基礎(chǔ)功能的開發(fā)流程進(jìn)行調(diào)研;根據(jù)調(diào)研結(jié)果,針對(duì)每一個(gè)所述基礎(chǔ)功能進(jìn)行編碼;根據(jù)每一個(gè)所述基礎(chǔ)功能所對(duì)應(yīng)的編碼,將所述至少一個(gè)基礎(chǔ)功能進(jìn)行集成,以完成所述目標(biāo)子項(xiàng)目所需實(shí)現(xiàn)的功能。
[0080]在本發(fā)明一個(gè)實(shí)施例中,請(qǐng)參考圖5,該軟件敏捷測試系統(tǒng)可以進(jìn)一步包括:
[0081 ]集成單元501,用于將所述當(dāng)前子項(xiàng)目與在所述當(dāng)前子項(xiàng)目之前獲取的各個(gè)子項(xiàng)目進(jìn)行集成;
[0082]所述編寫單元403,具體用于在所述當(dāng)前子項(xiàng)目之前獲取的各個(gè)子項(xiàng)目所對(duì)應(yīng)的自動(dòng)化測試代碼的基礎(chǔ)上,對(duì)集成后的子項(xiàng)目進(jìn)行自動(dòng)化測試代碼的編寫。
[0083]在本發(fā)明一個(gè)實(shí)施例中,請(qǐng)參考圖6,該軟件敏捷測試系統(tǒng)可以進(jìn)一步包括:
[0084]修改單元601,用于確定所述當(dāng)前子項(xiàng)目發(fā)生故障的菜單項(xiàng),并針對(duì)該發(fā)生故障的菜單項(xiàng)所對(duì)應(yīng)的編碼進(jìn)行修改,并對(duì)修改后的該發(fā)生故障的菜單項(xiàng)進(jìn)行手動(dòng)測試,直到所述當(dāng)前子項(xiàng)目手動(dòng)測試成功。
[0085]綜上所述,本發(fā)明實(shí)施例至少可以實(shí)現(xiàn)如下有益效果:
[0086]1、在本發(fā)明實(shí)施例中,通過對(duì)已經(jīng)手動(dòng)測試成功的子項(xiàng)目編寫自動(dòng)化測試代碼,以實(shí)現(xiàn)對(duì)當(dāng)前子項(xiàng)目進(jìn)行手動(dòng)測試,對(duì)之前獲取的子項(xiàng)目進(jìn)行自動(dòng)化測試,從而可以提高軟件敏捷測試的效率。
[0087]2、在本發(fā)明實(shí)施例中,可以利用集成后子項(xiàng)目所對(duì)應(yīng)的自動(dòng)化測試代碼對(duì)集成后子項(xiàng)目直接進(jìn)行自動(dòng)化測試,無需分別對(duì)每一個(gè)子項(xiàng)目執(zhí)行一次利用相應(yīng)自動(dòng)化測試代碼對(duì)其子項(xiàng)目進(jìn)行自動(dòng)化測試的操作,從而可以進(jìn)一步提高軟件敏捷測試效率。
[0088]3、在本發(fā)明實(shí)施例中,在當(dāng)前子項(xiàng)目手動(dòng)測試失敗時(shí),通過確定所述當(dāng)前子項(xiàng)目發(fā)生故障的菜單項(xiàng),并針對(duì)該發(fā)生故障的菜單項(xiàng)所對(duì)應(yīng)的編碼進(jìn)行修改,并對(duì)修改后的該發(fā)生故障的菜單項(xiàng)進(jìn)行手動(dòng)測試,直到所述當(dāng)前子項(xiàng)目手動(dòng)測試成功??梢员WC編寫了自動(dòng)化測試代碼的子項(xiàng)目已經(jīng)處于穩(wěn)定狀態(tài),自動(dòng)化測試代碼編寫完成之后,無需修改,即可對(duì)已經(jīng)穩(wěn)定的子項(xiàng)目進(jìn)行自動(dòng)化測試,從而可以提高測試效率,降低測試成本。
[0089]4、在本發(fā)明實(shí)施例中,整個(gè)開發(fā)測試過程中,省略了測試計(jì)劃、測試用例的編寫及評(píng)審,對(duì)于新開發(fā)的子項(xiàng)目,手動(dòng)測試人員進(jìn)行交叉自由測試,自動(dòng)測試人員進(jìn)行自動(dòng)化測試。變文檔驅(qū)動(dòng)為人為驅(qū)動(dòng),強(qiáng)調(diào)項(xiàng)目人員之間的溝通協(xié)作。
[0090]上述裝置內(nèi)的各單元之間的信息交互、執(zhí)行過程等內(nèi)容,由于與本發(fā)明方法實(shí)施例基于同一構(gòu)思,具體內(nèi)容可參見本發(fā)明方法實(shí)施例中的敘述,此處不再贅述。
[0091]需要說明的是,在本文中,諸如第一和第二之類的關(guān)系術(shù)語僅僅用來將一個(gè)實(shí)體或者操作與另一個(gè)實(shí)體或操作區(qū)分開來,而不一定要求或者暗示這些實(shí)體或操作之間存在任何這種實(shí)際的關(guān)系或者順序。而且,術(shù)語“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、物品或者設(shè)備不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、物品或者設(shè)備所固有的要素。在沒有更多限制的情況下,由語句“包括一個(gè)〃.....”限定的要素,并不排除在包括所述要素的過程、方法、物品或者設(shè)備中還存在另外的相同因素。
[0092]本領(lǐng)域普通技術(shù)人員可以理解:實(shí)現(xiàn)上述方法實(shí)施例的全部或部分步驟可以通過程序指令相關(guān)的硬件來完成,前述的程序可以存儲(chǔ)在計(jì)算機(jī)可讀取的存儲(chǔ)介質(zhì)中,該程序在執(zhí)行時(shí),執(zhí)行包括上述方法實(shí)施例的步驟;而前述的存儲(chǔ)介質(zhì)包括:ROM、RAM、磁碟或者光盤等各種可以存儲(chǔ)程序代碼的介質(zhì)中。
[0093]最后需要說明的是:以上所述僅為本發(fā)明的較佳實(shí)施例,僅用于說明本發(fā)明的技術(shù)方案,并非用于限定本發(fā)明的保護(hù)范圍。凡在本發(fā)明的精神和原則之內(nèi)所做的任何修改、等同替換、改進(jìn)等,均包含在本發(fā)明的保護(hù)范圍內(nèi)。
【主權(quán)項(xiàng)】
1.一種軟件敏捷測試方法,其特征在于,包括: S1:根據(jù)功能需求,將軟件項(xiàng)目劃分為多個(gè)子項(xiàng)目,并分別對(duì)每一個(gè)子項(xiàng)目進(jìn)行開發(fā); S2:在當(dāng)前子項(xiàng)目開發(fā)完成之后,對(duì)所述當(dāng)前子項(xiàng)目進(jìn)行手動(dòng)測試,并對(duì)所述當(dāng)前子項(xiàng)目之前開發(fā)完成的子項(xiàng)目進(jìn)行自動(dòng)化測試; S3:在所述當(dāng)前子項(xiàng)目手動(dòng)測試成功時(shí),針對(duì)所述當(dāng)前子項(xiàng)目編寫自動(dòng)化測試代碼,并在下一個(gè)子項(xiàng)目開發(fā)完成之后,將所述下一個(gè)子項(xiàng)目作為當(dāng)前子項(xiàng)目執(zhí)行S2,直到所述多個(gè)子項(xiàng)目測試完成。2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述對(duì)每一個(gè)子項(xiàng)目進(jìn)行開發(fā),包括: 針對(duì)每一個(gè)目標(biāo)子項(xiàng)目執(zhí)行如下操作: 確定所述目標(biāo)子項(xiàng)目所需實(shí)現(xiàn)的至少一個(gè)基礎(chǔ)功能,并針對(duì)每一個(gè)所述基礎(chǔ)功能的開發(fā)流程進(jìn)行調(diào)研;根據(jù)調(diào)研結(jié)果,針對(duì)每一個(gè)所述基礎(chǔ)功能進(jìn)行編碼;根據(jù)每一個(gè)所述基礎(chǔ)功能所對(duì)應(yīng)的編碼,將所述至少一個(gè)基礎(chǔ)功能進(jìn)行集成,以完成所述目標(biāo)子項(xiàng)目所需實(shí)現(xiàn)的功能。3.根據(jù)權(quán)利要求1所述的方法,其特征在于, 在所述當(dāng)前子項(xiàng)目手動(dòng)測試成功之后,在所述針對(duì)所述當(dāng)前子項(xiàng)目編寫自動(dòng)化測試代碼之前,進(jìn)一步包括:將所述當(dāng)前子項(xiàng)目與在所述當(dāng)前子項(xiàng)目之前獲取的各個(gè)子項(xiàng)目進(jìn)行集成; 所述針對(duì)所述當(dāng)前子項(xiàng)目編寫自動(dòng)化測試代碼,包括:在所述當(dāng)前子項(xiàng)目之前獲取的各個(gè)子項(xiàng)目所對(duì)應(yīng)的自動(dòng)化測試代碼的基礎(chǔ)上,對(duì)集成后的子項(xiàng)目進(jìn)行自動(dòng)化測試代碼的編寫。4.根據(jù)權(quán)利要求1-3中任一所述的方法,其特征在于,在所述當(dāng)前子項(xiàng)目手動(dòng)測試失敗時(shí),進(jìn)一步包括:確定所述當(dāng)前子項(xiàng)目發(fā)生故障的菜單項(xiàng),并針對(duì)該發(fā)生故障的菜單項(xiàng)所對(duì)應(yīng)的編碼進(jìn)行修改,并對(duì)修改后的該發(fā)生故障的菜單項(xiàng)進(jìn)行手動(dòng)測試,直到所述當(dāng)前子項(xiàng)目手動(dòng)測試成功。5.一種軟件敏捷測試系統(tǒng),其特征在于,包括: 開發(fā)單元,用于根據(jù)功能需求,將軟件項(xiàng)目劃分為多個(gè)子項(xiàng)目,并分別對(duì)每一個(gè)子項(xiàng)目進(jìn)行開發(fā),并將開發(fā)完成的子項(xiàng)目發(fā)送給測試單元; 測試單元,用于在當(dāng)前子項(xiàng)目開發(fā)完成之后,對(duì)所述當(dāng)前子項(xiàng)目進(jìn)行手動(dòng)測試,并對(duì)所述當(dāng)前子項(xiàng)目之前開發(fā)完成的子項(xiàng)目進(jìn)行自動(dòng)化測試,在所述當(dāng)前子項(xiàng)目手動(dòng)測試成功時(shí),觸發(fā)編寫單元執(zhí)行相應(yīng)操作; 所述編寫單元,用于針對(duì)所述當(dāng)前子項(xiàng)目編寫自動(dòng)化測試代碼,并在下一個(gè)子項(xiàng)目開發(fā)完成之后,將所述下一個(gè)子項(xiàng)目作為當(dāng)前子項(xiàng)目觸發(fā)所述測試單元執(zhí)行相應(yīng)操作,直到所述多個(gè)子項(xiàng)目測試完成。6.根據(jù)權(quán)利要求5所述的軟件敏捷測試系統(tǒng),其特征在于,所述開發(fā)單元,具體用于針對(duì)每一個(gè)目標(biāo)子項(xiàng)目執(zhí)行如下操作:確定所述目標(biāo)子項(xiàng)目所需實(shí)現(xiàn)的至少一個(gè)基礎(chǔ)功能,并針對(duì)每一個(gè)所述基礎(chǔ)功能的開發(fā)流程進(jìn)行調(diào)研;根據(jù)調(diào)研結(jié)果,針對(duì)每一個(gè)所述基礎(chǔ)功能進(jìn)行編碼;根據(jù)每一個(gè)所述基礎(chǔ)功能所對(duì)應(yīng)的編碼,將所述至少一個(gè)基礎(chǔ)功能進(jìn)行集成,以完成所述目標(biāo)子項(xiàng)目所需實(shí)現(xiàn)的功能。7.根據(jù)權(quán)利要求5所述的軟件敏捷測試系統(tǒng),其特征在于, 進(jìn)一步包括:集成單元,用于將所述當(dāng)前子項(xiàng)目與在所述當(dāng)前子項(xiàng)目之前獲取的各個(gè)子項(xiàng)目進(jìn)行集成; 所述編寫單元,具體用于在所述當(dāng)前子項(xiàng)目之前獲取的各個(gè)子項(xiàng)目所對(duì)應(yīng)的自動(dòng)化測試代碼的基礎(chǔ)上,對(duì)集成后的子項(xiàng)目進(jìn)行自動(dòng)化測試代碼的編寫。8.根據(jù)權(quán)利要求5-7中任一所述的軟件敏捷測試系統(tǒng),其特征在于,進(jìn)一步包括:修改單元,用于確定所述當(dāng)前子項(xiàng)目發(fā)生故障的菜單項(xiàng),并針對(duì)該發(fā)生故障的菜單項(xiàng)所對(duì)應(yīng)的編碼進(jìn)行修改,并對(duì)修改后的該發(fā)生故障的菜單項(xiàng)進(jìn)行手動(dòng)測試,直到所述當(dāng)前子項(xiàng)目手動(dòng)測試成功。
【文檔編號(hào)】G06F11/36GK105912461SQ201610204312
【公開日】2016年8月31日
【申請(qǐng)日】2016年4月5日
【發(fā)明人】趙霞
【申請(qǐng)人】浪潮電子信息產(chǎn)業(yè)股份有限公司