夏梁勇
(南京中興新軟件有限責(zé)任公司,江蘇 南京210000)
在軟件研發(fā)初期,研發(fā)的規(guī)模并不是很大,同時(shí)其本身?yè)碛械姆爆嵆潭纫膊桓撸邪l(fā)流程也不規(guī)范,并且檢測(cè)的范疇也不多,有關(guān)研發(fā)人員覺(jué)得對(duì)軟件實(shí)行調(diào)試就是對(duì)其做出了檢測(cè),平時(shí)工作的內(nèi)容也只有改正軟件里面出現(xiàn)的故障問(wèn)題,對(duì)軟件檢測(cè)的研發(fā)力度也不夠,經(jīng)常是軟件產(chǎn)品已經(jīng)差不多要完成的時(shí)候才對(duì)其做出檢測(cè)。伴隨國(guó)內(nèi)社會(huì)的進(jìn)步,軟件檢測(cè)的基本理論以及有關(guān)的檢測(cè)技術(shù)出現(xiàn)在了人們的面前,同時(shí)在軟件研發(fā)期間融入了各種管控的方法以及管控流程,改變了軟件固有的缺點(diǎn)。在這期間,有關(guān)研發(fā)人員還將品質(zhì)的定義帶入到了軟件研發(fā)期間,使得軟件檢測(cè)的概念也有了很大的變化,檢測(cè)不再像以前那樣僅僅是能找到故障問(wèn)題,還能夠?qū)④浖z測(cè)用作確保軟件品質(zhì)的一項(xiàng)性能。
對(duì)軟件實(shí)行檢測(cè),是為了能夠保證軟件研發(fā)的品質(zhì)。然而在軟件研發(fā)期間,仍舊存留許多問(wèn)題,影響著軟件的品質(zhì)。與此同時(shí)軟件威脅一直都是計(jì)算機(jī)領(lǐng)域重點(diǎn)關(guān)注的問(wèn)題,為了能夠?qū)④浖锩娴耐{問(wèn)題處理掉,有關(guān)研發(fā)人員以及行業(yè)專(zhuān)家都做出了極大的努力。然而,從本質(zhì)上來(lái)講,軟件威脅就是軟件里面浮現(xiàn)了故障問(wèn)題,這些問(wèn)題的存留使得軟件研發(fā)成本、研發(fā)進(jìn)展速度以及研發(fā)品質(zhì)均遭到了干擾。由于軟件是通過(guò)人研發(fā)出來(lái)的,所以肯定不能保證軟件產(chǎn)品里面沒(méi)有任何的問(wèn)題,因此應(yīng)該將關(guān)注力放在應(yīng)該怎樣去預(yù)防故障問(wèn)題出現(xiàn),以及應(yīng)該怎樣用最快地速度將故障問(wèn)題消除,以此來(lái)降低軟件程序里面的故障率。與此同時(shí),對(duì)軟件實(shí)行檢測(cè)是為了能夠保證軟件的品質(zhì),判定出軟件的功用全部施展了出來(lái),并且還能夠?yàn)橛嘘P(guān)研發(fā)人員供應(yīng)有用的信息,為研發(fā)人員評(píng)估軟件的風(fēng)險(xiǎn)做好鋪墊,以確保軟件研發(fā)的品質(zhì)。
(1)黑盒檢測(cè)。這種檢測(cè)方法,是指將軟件檢測(cè)的目標(biāo)比作一個(gè)黑色的盒子,借助向軟件里面錄入數(shù)據(jù)信息來(lái)探析數(shù)據(jù)的輸出情況,以此來(lái)觀測(cè)軟件所擁有的全部功用是否都施展了出來(lái),在實(shí)際檢測(cè)期間,將有關(guān)的數(shù)據(jù)錄入到軟件里面,然后觀測(cè)數(shù)據(jù)的輸出情況,如果在軟件里面輸出的數(shù)據(jù)信息與預(yù)設(shè)的信息相吻合,那么就說(shuō)明這個(gè)軟件檢測(cè)合格了,反之,如果輸出的數(shù)據(jù)信息與預(yù)設(shè)的數(shù)據(jù)不相符,雖然偏差不大,但是也能夠說(shuō)明軟件里面浮現(xiàn)了問(wèn)題,要在極短的時(shí)間內(nèi)將問(wèn)題找出來(lái),并且將其消除。
(2)白盒檢測(cè)。這種檢測(cè)手段是黑盒檢測(cè)法做比照來(lái)說(shuō)的,該方法擁有了透明性,是借助于軟件自帶的程序代碼等,來(lái)檢測(cè)軟件里面的工作流程。在實(shí)際檢測(cè)期間,普遍會(huì)把軟件與軟件的內(nèi)部架構(gòu)聯(lián)合起來(lái)一同研究,這種方法的優(yōu)勢(shì)在于,其可以高效率的處理軟件里面的應(yīng)用程序或是代碼問(wèn)題,在檢測(cè)的時(shí)候,經(jīng)常會(huì)將黑盒檢測(cè)法與這種方法配合起來(lái)使用,如果檢測(cè)軟件擁有的功用較多,借助于這種方法也能對(duì)軟件做出調(diào)節(jié)與檢測(cè)。在此實(shí)際調(diào)節(jié)與檢測(cè)期間,判定檢測(cè)是最為常用的一種檢測(cè)程序架構(gòu),這類(lèi)型的程序架構(gòu)能夠展現(xiàn)出程序的總體設(shè)計(jì)結(jié)構(gòu),對(duì)檢測(cè)軟件程序有著關(guān)鍵的作用。借助于這種檢測(cè)手段能夠?qū)⒊绦蚶锩嫒康拇a做出檢測(cè),普遍將其運(yùn)用在復(fù)雜性的軟件程序中。在對(duì)軟件程序?qū)嵭袡z測(cè)期間,將這種方法與黑盒檢測(cè)方法融合運(yùn)用,以借助于動(dòng)態(tài)化的實(shí)時(shí)檢測(cè)方式,能夠?qū)摬氐膯?wèn)題檢測(cè)出來(lái)。詳細(xì)來(lái)說(shuō),首先運(yùn)用黑盒檢測(cè)手段,如果程序里面錄入的信息與輸出的信息相同,那么說(shuō)明程序里面沒(méi)有存留問(wèn)題,就要探析程序的代碼,借助于這種檢測(cè)方法,能夠全方位深度探析軟件的總體架構(gòu),一直對(duì)其實(shí)行檢測(cè),直到將代碼里面存留的潛藏問(wèn)題全部找出來(lái)以后才會(huì)停止,最后改正或者消除這些問(wèn)題。
(3)靜態(tài)檢測(cè)法。這種方法指的是,靜止形式下檢測(cè)軟件的代碼,在借助這種方法實(shí)行檢測(cè)期間,不會(huì)用到許多的數(shù)據(jù)信息,主要是依靠研發(fā)人員的經(jīng)驗(yàn)判斷或者是計(jì)算機(jī)輔助檢測(cè)的形式,來(lái)檢測(cè)軟件程序里面的計(jì)算方法、計(jì)算成果的精準(zhǔn)性,通過(guò)這些內(nèi)容來(lái)判定出軟件檢測(cè)的最后結(jié)果。這種檢測(cè)方法的擁有了檢測(cè)時(shí)間少,并且能夠使用少量的資源就能夠?qū)φ麄€(gè)軟件以及程序的代碼完成檢測(cè),可以清楚地將故障顯現(xiàn)出來(lái),與此同時(shí),這種方法擁有了很強(qiáng)的適用性,對(duì)大規(guī)模的軟件實(shí)行檢測(cè)的時(shí)候,一般會(huì)借助于這種方法。
(4)動(dòng)態(tài)檢測(cè)法。這種方法主要是借助計(jì)算機(jī)來(lái)實(shí)行的動(dòng)態(tài)形式的檢測(cè),主要是為了能夠?qū)⑹褂闷陂g的軟件攜帶的問(wèn)題檢測(cè)出來(lái),與靜止檢測(cè)方法對(duì)比照來(lái)說(shuō),這種方法之所以被稱(chēng)為動(dòng)態(tài)化檢測(cè)法是因?yàn)椋@種檢測(cè)方法主要借助各類(lèi)應(yīng)用程序,對(duì)軟件實(shí)際運(yùn)用期間是否將軟件的全部功用施展出來(lái),以及軟件的總體狀態(tài)是否正常實(shí)行了檢測(cè)。在運(yùn)用這種檢測(cè)方法的時(shí)候,一定要確保軟件正在運(yùn)行,唯有這樣才可以在運(yùn)用軟件期間將問(wèn)題察覺(jué)出來(lái),從而對(duì)這些故障問(wèn)題做出改正或是消除。對(duì)軟件實(shí)行動(dòng)態(tài)化隨時(shí)檢測(cè)期間,主要涵蓋了兩大方面內(nèi)容:其一,被檢測(cè)軟件,其二,檢測(cè)期間用到的數(shù)據(jù)信息,唯有確保了這兩方面的內(nèi)容,才能夠保證檢測(cè)結(jié)果的精準(zhǔn)性。
總而言之,對(duì)于軟件工程來(lái)說(shuō),軟件檢測(cè)的作用非常顯著,其檢測(cè)成果的精準(zhǔn)程度會(huì)直接決定軟件的研發(fā)品質(zhì),鑒于此,文章著重對(duì)軟件檢測(cè)的方法:黑盒檢測(cè)法、白盒檢測(cè)法、靜止檢測(cè)法以及動(dòng)態(tài)檢測(cè)法做出了探析,期望能夠通過(guò)對(duì)軟件程序以及軟件代碼實(shí)行檢測(cè)來(lái)提升軟件的總體品質(zhì),讓軟件能夠?yàn)橛脩?hù)供應(yīng)最優(yōu)的服務(wù),從而推進(jìn)軟件工程的進(jìn)步。