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