軟件開(kāi)發(fā)項(xiàng)目中如何才能找出那些隱蔽然而常見(jiàn)的錯(cuò)誤
2015-03-14 11:21:55 訪問(wèn):
大部分軟件開(kāi)發(fā)項(xiàng)目依靠結(jié)合代碼檢查、結(jié)構(gòu)測(cè)試和功能測(cè)試來(lái)識(shí)別軟件設(shè)計(jì)缺陷。盡管這些軟件測(cè)試技術(shù)非常重要,而且能發(fā)現(xiàn)大多數(shù)軟件開(kāi)發(fā)BUG,但它們無(wú)法檢查出當(dāng)今復(fù)雜軟件開(kāi)發(fā)系統(tǒng)中的許多共性錯(cuò)誤。這里介紹如何避免那些隱蔽然而常見(jiàn)的錯(cuò)誤,并介紹的幾個(gè)軟件缺陷識(shí)別技巧幫助軟件開(kāi)發(fā)工程師發(fā)現(xiàn)軟件中隱藏的錯(cuò)誤。
結(jié)構(gòu)測(cè)試或白盒測(cè)試能有效地發(fā)現(xiàn)代碼中的邏輯、控制流、計(jì)算和數(shù)據(jù)錯(cuò)誤。這項(xiàng)測(cè)試要求對(duì)軟件的內(nèi)部工作能夠一覽無(wú)遺(因此稱為"白盒"或"玻璃盒"),以便了解軟件結(jié)構(gòu)的詳細(xì)情況。它檢查每個(gè)條件表達(dá)式、數(shù)學(xué)操作、輸入和輸出。由于需要測(cè)試的細(xì)節(jié)眾多,結(jié)構(gòu)測(cè)試每次檢查一個(gè)軟件單元,通常為一個(gè)函數(shù)或類。
代碼審查也使用與實(shí)現(xiàn)缺陷和潛在BUG查找同樣復(fù)雜的技術(shù)。與白盒測(cè)試一樣,審查通常針對(duì)軟件開(kāi)發(fā)的各個(gè)單元進(jìn)行,因?yàn)橐粋€(gè)有效的審查過(guò)程要求的是集中而詳盡的檢查。
與審查和白盒測(cè)試不同,軟件功能測(cè)試或黑盒測(cè)試假設(shè)對(duì)軟件的實(shí)現(xiàn)一無(wú)所知,它測(cè)試由受控輸入所驅(qū)動(dòng)的輸出。功能測(cè)試由測(cè)試人員或開(kāi)發(fā)人員所編寫的測(cè)試過(guò)程組成,它們規(guī)定了一組特定程序輸入對(duì)應(yīng)的預(yù)期程序輸出。測(cè)試運(yùn)行之后,測(cè)試人員將實(shí)際輸出與預(yù)期輸出進(jìn)行比較,查找BUG。黑盒測(cè)試可以有效地找出未能實(shí)現(xiàn)的需求、接口BUG、性能BUG和程序最常用功能中的錯(cuò)誤。
雖然將這些軟件測(cè)試技術(shù)結(jié)合起來(lái)可以找出隱藏在一個(gè)特定軟件程序中的大部分錯(cuò)誤,但它們也有局限。代碼審查和白盒測(cè)試每次只針對(duì)一小部分代碼,忽視了系統(tǒng)的其它部分。黑盒測(cè)試通常將系統(tǒng)作為一個(gè)整體來(lái)處理,忽視了實(shí)現(xiàn)的細(xì)節(jié)。一些重要的BUG只有在集中考察它們?cè)谡麄€(gè)系統(tǒng)內(nèi)相互作用時(shí)的細(xì)節(jié)才能被發(fā)現(xiàn);傳統(tǒng)的方法無(wú)法可靠地找出這些BUG。必須整體地檢查軟件系統(tǒng),查找具體BUG的特定原因。由于詳盡徹底地分析程序中的每個(gè)細(xì)節(jié)和它與代碼中所有其它部分之間的相互作用通常是不大可能的,因此分析應(yīng)該針對(duì)程序中已經(jīng)知道可能導(dǎo)致BUG的特定方面。
選購(gòu)指南:
本公司主要為山東地區(qū)供應(yīng)各品種型的開(kāi)發(fā),濟(jì)南桌面軟件開(kāi)發(fā),濟(jì)南網(wǎng)頁(yè)軟件開(kāi)發(fā),濟(jì)南APP軟件開(kāi)發(fā),濟(jì)南WinCE嵌入式軟件開(kāi)發(fā),具體包含如:家電公司管理軟件、電腦公司管理系統(tǒng)、軟件公司管理系統(tǒng)、手機(jī)店管理系統(tǒng)、森普P6綜合業(yè)務(wù)支撐平臺(tái)、政府辦公平臺(tái)、濟(jì)南財(cái)務(wù)濟(jì)南軟件開(kāi)發(fā)、濟(jì)南HR濟(jì)南軟件開(kāi)發(fā),可以滿足各種大中小型各類企業(yè)的管理需要。