更新時(shí)間:2022-10-25 來源:黑馬程序員 瀏覽量:
軟件測試工作與軟件開發(fā)模型息息相關(guān),在不同的軟件開發(fā)模型中,測試的任務(wù)和作用也不相同,因此測試人員要充分了解軟件開發(fā)模型,以便找準(zhǔn)自己在其中的定位與任務(wù)。
軟件開發(fā)模型規(guī)定了軟件開發(fā)應(yīng)遵循的步驟,是軟件開發(fā)的導(dǎo)航圖,它能夠清晰、直觀地表達(dá)軟件開發(fā)的全過程,以及每個(gè)階段要進(jìn)行的活動(dòng)和要完成的任務(wù)。開發(fā)人員在選擇開發(fā)模型的時(shí)候,要根據(jù)軟件的特點(diǎn)、開發(fā)人員參與的方式選擇穩(wěn)定可靠的開發(fā)模型。筆者先來介紹一下常用開發(fā)模型中的瀑布模型。
瀑布模型是W.W.羅伊斯(W.W.Royce)于1970年提出的軟件開發(fā)模型,由模型名稱可知該模型遵循從上至下一次性完成整個(gè)軟件產(chǎn)品的開發(fā)方式。
瀑布模型將軟件開發(fā)過程分為6個(gè)階段:計(jì)劃→需求分析→軟件設(shè)計(jì)→編碼→測試→運(yùn)行維護(hù),其開發(fā)過程如圖1-2所示。
圖1-2 瀑布模型
在瀑布模型中,軟件開發(fā)的各項(xiàng)活動(dòng)嚴(yán)格按照這條線進(jìn)行,只有當(dāng)一個(gè)階段任務(wù)完成之后才能開始下一個(gè)階段。軟件開發(fā)的每一個(gè)階段都要有結(jié)果產(chǎn)出,結(jié)果經(jīng)過審核驗(yàn)證之后作為下一個(gè)階段的輸入,下一個(gè)階段才可以順利進(jìn)行。如果結(jié)果審核驗(yàn)證不通過,則需要返回修改。
瀑布模型為整個(gè)項(xiàng)目劃分了清晰的檢查點(diǎn),當(dāng)一個(gè)階段完成之后,只需要把全部精力放置在后面的開發(fā)上即可,它有利于大型軟件開發(fā)人員的組織管理及工具的使用與研究,可以提高開發(fā)的效率。
但是瀑布模型是嚴(yán)格按照線性方式進(jìn)行的,無法適應(yīng)用戶需求變更,用戶只能等到最后才能看到開發(fā)成果,增加了開發(fā)風(fēng)險(xiǎn)。如果開發(fā)人員與客戶對(duì)需求理解有偏差,到最后開發(fā)完成后,最終成果與客戶需求可能會(huì)差之千里。
使用瀑布模型開發(fā)軟件時(shí),如果早期犯的錯(cuò)誤在項(xiàng)目完成之后才發(fā)現(xiàn),此時(shí)再修改原來的錯(cuò)誤需要付出巨大的代價(jià)。瀑布模型要求每一個(gè)階段必須有結(jié)果產(chǎn)出,這就勢必增加了文檔的數(shù)量,使軟件開發(fā)的工作量變大。
除此之外,對(duì)于現(xiàn)代軟件來說,軟件開發(fā)各階段之間的關(guān)系大部分不會(huì)是線性的,很難使用瀑布模型開發(fā)軟件,因此瀑布模型不再適合現(xiàn)代軟件開發(fā),已經(jīng)被逐漸廢棄。