軟件模塊測試與整合的區(qū)別是什么
劉路路
發(fā)布于2022-11-24 18:46
6
1
標(biāo)簽:軟件模塊
一旦編碼完成,開發(fā)人員總是會迫切希望進行軟件的集成工作,這樣好似實際的系統(tǒng)開始啟動工作了。在實踐中,這樣一種開發(fā)步驟常常會導(dǎo)致將大量的時間花費在跟蹤那些包含在獨立模塊里的錯誤上,這會導(dǎo)致在軟件集成為一個系統(tǒng)時增加額外的工期,而且當(dāng)這個系統(tǒng)投入使用時也無法確保它能夠可靠運行。
所以說,未經(jīng)過測試的軟件模塊組成的系統(tǒng)能夠正常工作的可能性是很小的,更多的情況是充滿了各式各樣的錯誤。
軟件模塊在測試前要做工態(tài)審查,主要看架構(gòu)是否簡潔、易于維護、易于移植,數(shù)據(jù)流向是否完整、有效,是否遵循規(guī)定編程規(guī)范。特別是對于編程規(guī)范,牽涉到變量名稱定義規(guī)則、注釋的完整性、必要性,畫面設(shè)計元素的布局、分頁是否合理。若不進行充分的軟件模塊測試,模塊中可能會遺留錯誤,這些錯誤還會互相影響。當(dāng)后期這些錯誤暴露出來的時候?qū)y于調(diào)試,必將大幅度提高后期測試和維護成本,也降低了產(chǎn)品的競爭力??梢哉f,進行充分的單元測試,是提高軟件質(zhì)量、降低開發(fā)成本的必由之路。
任何一個測試,都需要設(shè)計測試計劃,準(zhǔn)備測試文檔,詳細(xì)記錄測試過程,檢查測試完后,提出修改、優(yōu)化建議,給出總體評價。
在實踐工作中,一旦完成了模塊測試工作,很多錯誤將被糾正,在確信各個模塊穩(wěn)定可靠的情況下,系統(tǒng)集成過程將會大大地簡化,開發(fā)人員能將精力集中在單元之間的交互作用和全局的功能實現(xiàn)上,而不是陷入充滿很多錯誤的單元之中不能自拔,從而進行更高效的系統(tǒng)集成工作。最終,系統(tǒng)中的各個模塊經(jīng)過測試通過后整合集成為完整的系統(tǒng)軟件,完整計劃下的模塊測試是對時間更高效的利用。
1.模塊測試
軟件測試對軟件質(zhì)量來說極其重要,它可以確保程序的功能、性能與具體要求一致。測試分單元測試、綜合測試、系統(tǒng)測試、使用性測試。
單元測試(模塊測試)的目的是測試各個獨立模塊是否達到要求所述的功能和性能,在這個測試步驟中發(fā)現(xiàn)編碼和詳細(xì)設(shè)計的錯誤。錯誤發(fā)現(xiàn)得越晚,修改它所需的費用就越高,因此從經(jīng)濟角度來看,應(yīng)該盡可能早地查找和修改錯誤,單元測試是一個在早期發(fā)現(xiàn)錯誤的機會。
相比后階段的測試,單元測試的創(chuàng)建更簡單,維護更容易,并且可以更方便地進行重復(fù)。從全程的費用來考慮,相比起那些復(fù)雜且曠日持久的集成測試,或是不穩(wěn)定的軟件系統(tǒng)來說,單元測試所需的費用是很低的。這好比要清洗一臺已經(jīng)完全裝配好的食物加工機器,無論你噴了多少水和清潔劑,一些食物的小碎片還是會粘在機器的死角位置,只有任其腐爛并等待以后再想辦法。但如果這臺機器是拆開的,這些死角也許就不存在或者更容易清潔到,每一部分都可以毫不費力地進行清洗。
單元測試的基本內(nèi)容涉及模塊接口測試、局部數(shù)據(jù)結(jié)構(gòu)測試、路徑測試、錯誤處理測試、邊界測試等。
綜合測試是將各個軟件模塊組裝起來作為一個整體來測試,對與設(shè)計相關(guān)的軟件結(jié)構(gòu)體系的構(gòu)造進行測試,檢查它們是否能一起正常工作。
系統(tǒng)測試是已經(jīng)經(jīng)過確認(rèn)的軟件納入實際運行環(huán)境中,與其他系統(tǒng)成分組合在一起放在裝備上運行時測試,測試系統(tǒng)整體性能是否符合具體設(shè)計要求。
使用性測試是測試已編程的機器和設(shè)備在使用時是否容易控制,主要考核人機界面的可操作性。
2. 模塊整合
在自動化領(lǐng)域中,通常用狀態(tài)圖來描述機器或裝備,狀態(tài)圖也是一種與客戶討論機器邏輯的方法。一個裝備是多個模塊的集合,模塊整合在一起才是一臺完整的裝備。
模塊整合后,要測試各種事件對狀態(tài)切換的準(zhǔn)確性,確保沒有故障狀態(tài)發(fā)生,也不能出現(xiàn)切換到非目標(biāo)狀態(tài)。整合后的輔助代碼也很重要,質(zhì)量好壞影響系統(tǒng)的穩(wěn)定性。
整合測試中往往會發(fā)現(xiàn)原來設(shè)計錯誤或不足的地方,需要加以更改或完善,而且往往要返回到獨立測試環(huán)境中完善,然后再回到整合測試中來,這樣的反復(fù)可能有多次。