本發(fā)明涉及計(jì)算機(jī)技術(shù)領(lǐng)域,特別涉及一種軟件開發(fā)方法及系統(tǒng)。
背景技術(shù):
隨著計(jì)算機(jī)技術(shù)的發(fā)展,可以實(shí)現(xiàn)各種功能的軟件被開發(fā)出來,數(shù)量也越來越多。在開發(fā)軟件時(shí),采用的通常方法為:首先,編寫高質(zhì)量的軟件代碼;其次,編寫完整的單元測(cè)試;再次,對(duì)所述軟件代碼進(jìn)行審查;再次,對(duì)審查后的軟件代碼進(jìn)行白盒測(cè)試,也就是邏輯驅(qū)動(dòng)測(cè)試;最后,對(duì)軟件代碼進(jìn)行黑盒測(cè)試,也就是測(cè)試軟件代碼可以實(shí)現(xiàn)的功能。完成后,就實(shí)現(xiàn)了軟件代碼的開發(fā)工作,就可以運(yùn)行軟件代碼,實(shí)現(xiàn)其功能。
但是,采用上述方式進(jìn)行軟件開發(fā)過程,在實(shí)施各個(gè)步驟時(shí)都存在缺陷,具體地說:編寫高質(zhì)量的軟件代碼需要有經(jīng)驗(yàn)的程序員完成,程序員水平參差不齊,只能通過嚴(yán)格的代碼編寫規(guī)范來約束代碼風(fēng)格和常見語言錯(cuò)誤,全靠人工實(shí)現(xiàn),無法保證軟件代碼的質(zhì)量一定符合要求;在對(duì)所述軟件代碼進(jìn)行審查時(shí),通常需要組織多個(gè)有經(jīng)驗(yàn)的開發(fā)人員同時(shí)對(duì)軟件代碼的一個(gè)功能單元進(jìn)行審查和討論,人工審查需要事先了解審查單一的功能并且具備相應(yīng)的經(jīng)驗(yàn),花費(fèi)時(shí)間長,執(zhí)行過程中常常流于形式,在時(shí)間緊迫的軟件開發(fā)周期內(nèi),不乏因?yàn)槿鄙賹?duì)代碼的審查造成軟件發(fā)布后異常的情況,造成的損失難以估算;在進(jìn)行白盒測(cè)試時(shí)需要有熟悉軟件代碼的高水平的測(cè)試人員完成,而大多數(shù)開發(fā)團(tuán)隊(duì)并沒有能完成相關(guān)工作的合適人員;在進(jìn)行黑盒測(cè)試時(shí),必須以場景測(cè)試為核心,驗(yàn)證軟件功能的可用性,無法完全覆蓋代碼邏輯,無可避免地在某些特殊情境下代碼執(zhí)行異常。
綜上,采用上述方式進(jìn)行軟件開發(fā),需要大量的高水平且了解軟件代碼的各個(gè)功能單元的人員手工安按照整個(gè)測(cè)試流程才能完成,不容易實(shí)現(xiàn),花費(fèi)的時(shí)間及成本很高。
更進(jìn)一步地,雖然軟件代碼質(zhì)量需要有嚴(yán)格的規(guī)范來約束,盡量不使用不正當(dāng)?shù)膶懛ú辉斐呻y以排查的漏洞(bug),但是,仍然避免不了軟件代碼出現(xiàn)bug,需要在軟件發(fā)布后,對(duì)軟件代碼進(jìn)行修復(fù)。在對(duì)發(fā)布的軟件進(jìn)行功能增強(qiáng)或修復(fù)過程中,對(duì)發(fā)布的軟件代碼進(jìn)行修改,有時(shí)軟件代碼的改動(dòng)會(huì)對(duì)軟件運(yùn)行造成意想不到的異常情況,牽一發(fā)而動(dòng)全身,可能由于軟件代碼的修改對(duì)軟件的運(yùn)行造成問題。這時(shí),仍然需要對(duì)修改后的軟件代碼進(jìn)行審查、白盒測(cè)試及黑盒測(cè)試等過程,不容易實(shí)現(xiàn),花費(fèi)大量的時(shí)間及人工成本。
技術(shù)實(shí)現(xiàn)要素:
有鑒于此,本發(fā)明實(shí)施例提供一種軟件開發(fā)方法,該方法能夠使得軟件開發(fā)過程簡單且易于實(shí)現(xiàn)。
本發(fā)明實(shí)施例還提供一種軟件開發(fā)系統(tǒng),該系統(tǒng)能夠使得軟件開發(fā)過程簡單且易于實(shí)現(xiàn)。
根據(jù)上述目的,本發(fā)明是這樣實(shí)現(xiàn)的:
一種軟件開發(fā)方法,包括:設(shè)置軟件開發(fā)系統(tǒng),該方法還包括:
所述軟件開發(fā)系統(tǒng)對(duì)接收的軟件代碼進(jìn)行編譯;
所述軟件開發(fā)系統(tǒng)對(duì)編譯后的軟件代碼審查,得到審查文檔;
所述軟件開發(fā)系統(tǒng)對(duì)編譯后的軟件代碼進(jìn)行邏輯測(cè)試及功能測(cè)試,得到測(cè)試文檔;
所述軟件開發(fā)系統(tǒng)將審查文檔及測(cè)試文檔發(fā)送。
一種軟件開發(fā)系統(tǒng),所述系統(tǒng)包括:編譯單元、審查單元、測(cè)試單元及報(bào)告反饋單元,其中,
編譯單元,用于對(duì)接收的軟件代碼進(jìn)行編譯;
審查單元,用于對(duì)編譯后的軟件代碼審查,得到審查文檔;
測(cè)試單元,用于對(duì)編譯后的軟件代碼進(jìn)行邏輯測(cè)試及功能測(cè)試,得到測(cè)試文檔;
報(bào)告反饋單元,用于將審查文檔及測(cè)試文檔發(fā)送。
由上述方案可以看出,本發(fā)明實(shí)施例設(shè)置軟件開發(fā)系統(tǒng),該系統(tǒng)可以對(duì)軟件代碼的修改內(nèi)容進(jìn)行增量編譯后,自動(dòng)對(duì)軟件代碼審查,自動(dòng)化執(zhí)行軟件代碼邏輯測(cè)試及功能測(cè)試,最后將編譯、軟件代碼審查及測(cè)試過程中的結(jié)果整理為文檔,發(fā)送出去供相關(guān)人員參考。由于本發(fā)明設(shè)置的軟件開發(fā)系統(tǒng)能夠自動(dòng)完成軟件開發(fā)的各個(gè)流程,所以過程簡單且易于實(shí)現(xiàn),縮短了軟件開發(fā)的時(shí)間及降低成本。
附圖說明
圖1為本發(fā)明實(shí)施例提供的軟件開發(fā)方法流程圖;
圖2為本發(fā)明實(shí)施例提供的軟件開發(fā)方法具體例子流程圖;
圖3為本發(fā)明實(shí)施例提供的軟件開發(fā)系統(tǒng)結(jié)構(gòu)示意圖。
具體實(shí)施方式
為使本發(fā)明的目的、技術(shù)方案及優(yōu)點(diǎn)更加清楚明白,以下參照附圖并舉實(shí)施例,對(duì)本發(fā)明作進(jìn)一步詳細(xì)說明。
本發(fā)明實(shí)施例為了使得軟件開發(fā)過程簡單且易于實(shí)現(xiàn),設(shè)置軟件開發(fā)系統(tǒng),該系統(tǒng)可以對(duì)軟件代碼的修改內(nèi)容進(jìn)行增量編譯后,自動(dòng)對(duì)軟件代碼審查,自動(dòng)化執(zhí)行軟件代碼邏輯測(cè)試及功能測(cè)試,最后將編譯、軟件代碼審查及測(cè)試過程中的結(jié)果整理為文檔,發(fā)送出去供相關(guān)人員參考。這樣,就可以自動(dòng)完成軟件開發(fā)的各個(gè)流程,所以過程簡單且易于實(shí)現(xiàn),縮短了軟件開發(fā)的時(shí)間及降低成本。
圖1為本發(fā)明實(shí)施例提供的軟件開發(fā)方法流程圖,設(shè)置軟件開發(fā)系統(tǒng),其具體步驟為:
步驟101、所述軟件開發(fā)系統(tǒng)對(duì)接收的軟件代碼進(jìn)行編譯;
在該步驟中,軟件代碼可以是全新的,也可以是增量的,這里可以不限制,如果是軟件代碼是增量的,可以進(jìn)行增量編譯;
步驟102、所述軟件開發(fā)系統(tǒng)對(duì)編譯后的軟件代碼審查,得到審查文檔;
步驟103、所述軟件開發(fā)系統(tǒng)對(duì)編譯后的軟件代碼進(jìn)行邏輯測(cè)試及功能測(cè)試,得到測(cè)試文檔;
步驟104、所述軟件開發(fā)系統(tǒng)將審查文檔及測(cè)試文檔發(fā)送。
在該方法中,在步驟101中,還包括:根據(jù)接收的軟件代碼進(jìn)行測(cè)試程序的編譯;
在步驟103中,所述進(jìn)行邏輯測(cè)試是根據(jù)測(cè)試程序?qū)浖a進(jìn)行測(cè)試。
在該方法中,還包括:所述軟件開發(fā)系統(tǒng)將通過測(cè)試的軟件代碼并入對(duì)應(yīng)的軟件代碼分支,并發(fā)送并入報(bào)告。在這個(gè)情況下,通過測(cè)試的軟件代碼為對(duì)應(yīng)的軟件代碼的增量代碼。
在該方法中,在步驟101中,還包括:如果編譯失敗,則建立編譯報(bào)告并發(fā)送,所述發(fā)送可以是發(fā)送錯(cuò)誤郵件或即時(shí)消息。
在該方法中的步驟102,還包括:如果審核失敗,則建立審核失敗并發(fā)送,所述發(fā)送可以是發(fā)送錯(cuò)誤郵件或即時(shí)消息。
在該方法中的步驟103,還包括:進(jìn)行邏輯測(cè)試及功能測(cè)試失敗,則記錄失敗報(bào)告及提交代碼的提交人,發(fā)送給提交代碼的提交人,發(fā)送方式采用發(fā)送錯(cuò)誤郵件或即時(shí)消息方式。
本發(fā)明實(shí)施例設(shè)置的軟件開發(fā)系統(tǒng)設(shè)置了軟件代碼測(cè)試的各個(gè)階段流程,當(dāng)運(yùn)行時(shí),測(cè)試人員根據(jù)所述系統(tǒng)的指示,依次進(jìn)入編譯階段、審查階段、邏輯測(cè)試階段及功能測(cè)試階段,并在每個(gè)階段按照運(yùn)行的所述系統(tǒng)進(jìn)行相應(yīng)操作并得到相關(guān)的報(bào)告,從而無需測(cè)試人員需要對(duì)軟件代碼開發(fā)的全局進(jìn)行把控,操作簡單且易于實(shí)現(xiàn)。
舉一個(gè)具體例子說明,圖2為本發(fā)明實(shí)施例提供的軟件開發(fā)方法具體例子流程圖,其具體步驟為:
步驟201、測(cè)試人員提交軟件代碼到所述軟件開發(fā)系統(tǒng)中;
步驟202、所述軟件開發(fā)系統(tǒng)檢測(cè)到軟件代碼要變更,建立任務(wù),對(duì)軟件代碼中的變更部分進(jìn)行增量編譯,同時(shí)編譯得到測(cè)試程序;
在本步驟中,具體地,步驟202a,如果編譯失敗,則確定軟件代碼提交人員,通過所設(shè)置的報(bào)告反饋功能發(fā)送錯(cuò)誤郵件或即時(shí)消息;
步驟202b,如果編譯成功,則繼續(xù)后續(xù)步驟的執(zhí)行;
步驟203、所述軟件開發(fā)系統(tǒng)對(duì)編譯后的軟件代碼進(jìn)行靜態(tài)審查,排除軟件代碼中的不良語法造成的隱患;
在本步驟中,具體地,步驟203a,如果審查失敗,則確定軟件代碼提交人員,通過所設(shè)置的報(bào)告反饋功能發(fā)送錯(cuò)誤郵件或即時(shí)消息;
步驟203b,如果審查成功,繼續(xù)后續(xù)步驟的執(zhí)行;
步驟204、所述軟件開發(fā)系統(tǒng)觸發(fā)測(cè)試任務(wù),根據(jù)編譯的測(cè)試程序?qū)浖a進(jìn)行測(cè)試,并記錄得到測(cè)試程序的執(zhí)行結(jié)果;
在本步驟中,具體地,步驟204a,如果測(cè)試失敗,則確定軟件代碼的最后一次提交的測(cè)試人員,記錄測(cè)試失敗結(jié)果,通過所設(shè)置的報(bào)告反饋功能發(fā)送錯(cuò)誤郵件或即時(shí)消息,提醒開發(fā)人員及時(shí)修改完善;
步驟204b,如果測(cè)試成功,則繼續(xù)后續(xù)步驟的執(zhí)行;
步驟205、所述軟件開發(fā)系統(tǒng)進(jìn)行全功能的回歸測(cè)試,并記錄得到全功能的回歸測(cè)試結(jié)果;
在本步驟中,具體地,步驟205a、如果測(cè)試失敗,則記錄測(cè)試失敗的測(cè)試用例及失敗結(jié)果,通過所設(shè)置的報(bào)告反饋功能發(fā)送錯(cuò)誤郵件或即時(shí)消息;
步驟205b,全功能回歸測(cè)試通過,繼續(xù)執(zhí)行后續(xù)步驟;
步驟206、所述軟件開發(fā)系統(tǒng)將完成測(cè)試的軟件代碼并入迭代的軟件代碼分之,并通過所設(shè)置的報(bào)告反饋功能發(fā)送錯(cuò)誤郵件或即時(shí)消息。
圖3為本發(fā)明實(shí)施例提供的軟件開發(fā)系統(tǒng)結(jié)構(gòu)示意圖,該系統(tǒng)包括:編譯單元、審查單元、測(cè)試單元及報(bào)告反饋單元,其中,
編譯單元,用于對(duì)接收的軟件代碼進(jìn)行編譯;
審查單元,用于對(duì)編譯后的軟件代碼審查,得到審查文檔;
測(cè)試單元,用于對(duì)編譯后的軟件代碼進(jìn)行邏輯測(cè)試及功能測(cè)試,得到測(cè)試文檔;
報(bào)告反饋單元,用于將審查文檔及測(cè)試文檔發(fā)送。
在該結(jié)構(gòu)中,編譯單元,還用于根據(jù)接收的軟件代碼進(jìn)行測(cè)試程序的編譯后,發(fā)送給測(cè)試單元;
測(cè)試單元,還用于根據(jù)測(cè)試程序?qū)浖a進(jìn)行測(cè)試。
在該系統(tǒng)中,所述系統(tǒng)還包括并入單元,用于將通過測(cè)試的軟件代碼并入對(duì)應(yīng)的軟件代碼分支;
所述報(bào)告反饋單元,還用于發(fā)送并入報(bào)告。
采用本發(fā)明實(shí)施例提供的系統(tǒng)及方法,由于是所設(shè)置的軟件開發(fā)系統(tǒng)規(guī)范化整個(gè)軟件代碼的開發(fā),使得軟件代碼在提交到系統(tǒng)后,自動(dòng)執(zhí)行編譯、代碼審查及功能測(cè)試,提高軟件開發(fā)效率。采用本發(fā)明實(shí)施例提供的系統(tǒng)及方法,減少了測(cè)試人員工作,只需要維護(hù)各軟件開發(fā)系統(tǒng)的各個(gè)測(cè)試階段,也就是測(cè)試用例即可。采用本發(fā)明實(shí)施例提供的系統(tǒng)及方法,減少了軟件代碼中誤寫錯(cuò)誤和簡單語法錯(cuò)誤,提高了代碼質(zhì)量。采用本發(fā)明實(shí)施例提供的系統(tǒng)及方法,減少軟件代碼開發(fā)人員的功能測(cè)試花費(fèi)時(shí)間,使得軟件代碼開發(fā)人員集中精力解決主要問題。采用本發(fā)明實(shí)施例提供的系統(tǒng)及方法提高軟件代碼質(zhì)量來保證軟件質(zhì)量,減少了測(cè)試成本及極大程度降低軟件發(fā)售后由于質(zhì)量問題造成的損失。
以上舉較佳實(shí)施例,對(duì)本發(fā)明的目的、技術(shù)方案和優(yōu)點(diǎn)進(jìn)行了進(jìn)一步詳細(xì)說明,所應(yīng)理解的是,以上所述僅為本發(fā)明的較佳實(shí)施例而已,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換和改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。