計(jì)算機(jī)軟件測(cè)試技術(shù)研究論文(2)
計(jì)算機(jī)軟件測(cè)試技術(shù)研究論文篇二
《計(jì)算機(jī)軟件測(cè)試及其開(kāi)發(fā)應(yīng)用研究》
[摘 要] 在軟件編寫(xiě)中,許多編程員寫(xiě)完一個(gè)程序后已經(jīng)很勞累,如果獨(dú)自一個(gè)代碼一個(gè)代碼地檢查,很容易查漏問(wèn)題,而且面對(duì)枯燥的一群代碼,會(huì)讓編程員更加疲憊,時(shí)間花費(fèi)更多,而計(jì)算機(jī)軟件測(cè)試技術(shù)針對(duì)這些問(wèn)題,提供了有效、準(zhǔn)確、快速的檢查代碼錯(cuò)誤的方法。下面我們將會(huì)來(lái)探討計(jì)算機(jī)測(cè)試技術(shù)與其開(kāi)發(fā)應(yīng)用。
[關(guān)鍵詞] 計(jì)算機(jī);軟件測(cè)試;開(kāi)發(fā)應(yīng)用
中圖分類號(hào):TP311
一、 計(jì)算機(jī)軟件測(cè)試用途
還有很多編程員沒(méi)有意識(shí)到軟件測(cè)試給他們帶來(lái)的好處,我總結(jié)了軟件測(cè)試的三大主要用途,如下:
(一) 用于剛編寫(xiě)完的軟件
軟件測(cè)試的目的是檢查出剛編寫(xiě)完、還沒(méi)進(jìn)入市場(chǎng)的軟件的錯(cuò)誤,并且在進(jìn)入市場(chǎng)之前修正錯(cuò)誤??梢哉f(shuō),軟件測(cè)試給軟件用戶留下好的第一印象,沒(méi)有人希望自己下載使用的軟件錯(cuò)誤百出,而好的第一印象會(huì)帶來(lái)該軟件的歡迎度。
(二) 減少編程員的疲憊
一位編程員,有的時(shí)候?yàn)榱粟s一個(gè)程序,往往沒(méi)時(shí)間睡覺(jué),頂住犯困地完成程序的編寫(xiě),如果這時(shí)候要求編程員人工檢查程序的代碼錯(cuò)誤,往往會(huì)導(dǎo)致編程員負(fù)擔(dān)過(guò)重,而且人工查看代碼,即使是一個(gè)精神很好的編程員,面對(duì)成千上萬(wàn)的復(fù)雜代碼,也會(huì)支持不下去。
(三) 準(zhǔn)確發(fā)現(xiàn)錯(cuò)誤
如果人工檢查,就很容易在復(fù)雜的代碼當(dāng)中把運(yùn)行出錯(cuò)的部分當(dāng)做正確的,給忽視過(guò)去,而且從大部分正確的代碼當(dāng)中尋找?guī)滋庡e(cuò)誤的部分,需要很細(xì)心都未必檢查出來(lái)。而軟件測(cè)試,則可以準(zhǔn)確無(wú)誤地快速檢查出程序的錯(cuò)誤。
二、 計(jì)算機(jī)軟件測(cè)試優(yōu)點(diǎn)
在多年的學(xué)習(xí)研究軟件測(cè)試當(dāng)中,我來(lái)談?wù)勊奈宕髢?yōu)點(diǎn):
1, 發(fā)現(xiàn)未知錯(cuò)誤
一個(gè)程序剛編寫(xiě)完成之后,里面會(huì)存在許多未知的錯(cuò)誤,這些錯(cuò)誤是編程員難以避免的,以前沒(méi)有軟件測(cè)試時(shí),編程員需要自己辛苦地檢查程序代碼中的錯(cuò)誤,然而面對(duì)龐大的代碼,編程員很難完全檢查出所有的錯(cuò)誤,有時(shí)投入了大量人力和時(shí)間才能夠檢查完畢,這對(duì)企業(yè)和編程員來(lái)說(shuō),都是很不好的。而軟件測(cè)試對(duì)于源程序出現(xiàn)的代碼無(wú)法運(yùn)行等問(wèn)題,能夠明顯地驗(yàn)證出來(lái)。
2, 檢查其可行性
新編寫(xiě)完的出現(xiàn)未必會(huì)按照預(yù)期功能所設(shè)計(jì)的那樣運(yùn)行,這時(shí)候非常有必要對(duì)其功能進(jìn)行測(cè)試,查看是否出現(xiàn)預(yù)期功能,同時(shí)修正沒(méi)有出現(xiàn)所需功能的部分。對(duì)于許多大型游戲,例如暗黑破壞神,往往一個(gè)團(tuán)隊(duì)編寫(xiě)完成都需要幾年時(shí)間,其中出現(xiàn)的運(yùn)行錯(cuò)誤人工很難檢查出來(lái),如果加上人工檢查,就會(huì)推出很長(zhǎng)時(shí)間出市,讓團(tuán)隊(duì)蒙受巨大的經(jīng)濟(jì)損失。而軟件測(cè)試能夠快速地檢測(cè)其中無(wú)法正常運(yùn)行的部分。
3, 發(fā)現(xiàn)軟件不足
除了檢查程序中的代碼編寫(xiě)錯(cuò)誤、運(yùn)行功能不對(duì)外,同時(shí),軟件測(cè)試還能在檢測(cè)之后,讓編程員會(huì)突然發(fā)現(xiàn)軟件的許多不足,這些不足有時(shí)表現(xiàn)在程序功能不夠強(qiáng),可以讓編程員意識(shí)到需要加強(qiáng)程序的某個(gè)功能,或者增加某些功能,給程序帶來(lái)更多的優(yōu)勢(shì)。人為驗(yàn)證程序代碼時(shí),沒(méi)能從程序運(yùn)行的角度去觀察發(fā)現(xiàn),更不用說(shuō)創(chuàng)新性地發(fā)現(xiàn)功能的問(wèn)題。
4, 提高編程員的效率
對(duì)于編寫(xiě)內(nèi)容大的有效或程序,例如需要十來(lái)位編程員花費(fèi)三年時(shí)間才編寫(xiě)完成的有效,如果人工檢測(cè),所花費(fèi)的時(shí)間必然很長(zhǎng),而自動(dòng)化的軟件測(cè)試在速度方面提高了幾十倍,大大地縮短了完成大型程序的測(cè)試時(shí)間,在時(shí)間的方面占據(jù)了許多優(yōu)勢(shì),能夠讓程序更快地進(jìn)入市場(chǎng),提早產(chǎn)生經(jīng)濟(jì)效益。
5, 減少人為錯(cuò)誤
每一個(gè)編程員,在程序編寫(xiě)時(shí)都會(huì)出現(xiàn)人為錯(cuò)誤,在程序編寫(xiě)完成后的檢測(cè)中,也會(huì)出現(xiàn)許多人為錯(cuò)誤,例如代碼打錯(cuò)、代碼看錯(cuò)、看漏代碼等情況,而具有自動(dòng)化特性的軟件測(cè)試技術(shù),可以迅速檢測(cè)出出現(xiàn)中的錯(cuò)誤,減少人為失誤。
三、 軟件測(cè)試技術(shù)特點(diǎn)
計(jì)算機(jī)軟件測(cè)試技術(shù)的特點(diǎn)主要有以下三種。
(1) 先進(jìn)性
軟件檢測(cè)是目前國(guó)內(nèi)對(duì)程序錯(cuò)誤進(jìn)行檢測(cè)最先進(jìn)的手段,從以前的編程員人工檢查到自動(dòng)化的軟件檢測(cè),顯然體現(xiàn)了科學(xué)技術(shù)的先進(jìn),這也是人工難以媲美的地方,它意味了軟件工程的先進(jìn)技術(shù)了理念用于剛編寫(xiě)完成的程序的檢查。
(2) 高效性
改變了以往編程員的緩慢、目測(cè)的方法,使用軟件測(cè)試,可以提供數(shù)十倍的速率,這也是目前測(cè)試程序最快速的方法,在計(jì)算機(jī)行業(yè)里,程序開(kāi)發(fā)的速度往往決定很多成敗,因此快速檢測(cè)軟件的錯(cuò)誤,能夠領(lǐng)先擁有競(jìng)爭(zhēng)力。
(3) 巨大潛力
目前中國(guó)軟件測(cè)試還在初期階段,而它的效果和作用已經(jīng)得到許多有長(zhǎng)遠(yuǎn)遠(yuǎn)光的編程員的肯定,在未來(lái)的發(fā)展中,軟件測(cè)試會(huì)給企業(yè)和國(guó)家?guī)?lái)無(wú)數(shù)的機(jī)遇,同時(shí)這也是未來(lái)與軟件編寫(xiě)領(lǐng)域需要大力發(fā)展的方面,顯然,它具有很大的潛力。
四、 深度開(kāi)發(fā)應(yīng)用軟件測(cè)試的主要事項(xiàng)
任何一種有效的程序,都必須在某些限定范圍內(nèi)運(yùn)行,軟件測(cè)試也不例外。在學(xué)習(xí)和運(yùn)用軟件測(cè)試過(guò)程中,我們需要注意一些事項(xiàng),而不是亂來(lái),這些事項(xiàng)會(huì)讓程序檢查變得更加準(zhǔn)確,客觀性。
1, 考慮多種情況。在軟件測(cè)試當(dāng)中,我們不能局限考慮到剛編寫(xiě)完成的程序的代碼錯(cuò)誤,我們還要考慮到多種狀況下,例如在不同系統(tǒng)上測(cè)試、與不同用戶常用的程序一起運(yùn)行、使用國(guó)內(nèi)主流殺毒器經(jīng)行殺毒時(shí)測(cè)試、測(cè)試過(guò)程中與不同防火墻一并運(yùn)行等等,編程員需要做的是,在程序公開(kāi)發(fā)表之前,讓它在目前國(guó)內(nèi)電腦用戶所有主要可能的情況下測(cè)試,從中去發(fā)現(xiàn)問(wèn)題,并及時(shí)修改。如果沒(méi)能考慮到周期的情況下測(cè)試,在程序公布之后,可能有部分用戶因某種情況無(wú)法運(yùn)行該程序。
2, 隔離法和整體法。在軟件測(cè)試中,我們需要利用“隔離法和整體法”,具體來(lái)說(shuō),隔離法就是把程序分成幾個(gè)部分,然后進(jìn)行部分之間的測(cè)試,而整體法便是整體一起程序。這兩種方法各有好處,整體法的好處就是能夠從整體去對(duì)程序進(jìn)行測(cè)試,可以看出程序是否完全能夠順利運(yùn)行,但該方法的缺點(diǎn)便是一旦檢測(cè)出錯(cuò)誤,難以發(fā)現(xiàn)時(shí)某個(gè)局部的錯(cuò)誤;而隔離法的優(yōu)點(diǎn)是,能夠從不同的局部去發(fā)現(xiàn)錯(cuò)誤,其缺點(diǎn)是,無(wú)法測(cè)試程序是否能夠完全順利運(yùn)行。
3, 做好記錄。許多編程員在測(cè)試出問(wèn)題后,偶爾會(huì)因外界干擾忘記了對(duì)某部分錯(cuò)誤進(jìn)行記錄,等到回頭才發(fā)現(xiàn)最沒(méi)有記住錯(cuò)誤是在哪部分,因此,及時(shí)記錄是非常有必要的,即使外界有干擾,也要及時(shí)記錄下來(lái)。
五、 軟件測(cè)試的開(kāi)發(fā)應(yīng)用步驟
下面我說(shuō)說(shuō)軟件測(cè)試的三個(gè)主要步驟,如下:
步驟一:輸入相關(guān)數(shù)據(jù)
把所有可能的數(shù)據(jù)都輸入其中,這時(shí)候要注意,很多編程員沒(méi)有完全把所有數(shù)據(jù)都輸入,這個(gè)造成的后果便是部分情況沒(méi)能測(cè)試到,而編程員看問(wèn)題不全面以及懶惰都會(huì)出現(xiàn)輸入數(shù)據(jù)不全面。
步驟二:分層抽樣數(shù)據(jù)
第二步便是從輸入的所有數(shù)據(jù)中,進(jìn)行數(shù)學(xué)的分層抽樣,取出有代表性的數(shù)據(jù)。如果是所有數(shù)據(jù)一起測(cè)試,那么時(shí)間上明顯增加幾倍,如果只是抽部分?jǐn)?shù)據(jù),又容易沒(méi)有抽取到所有情況的數(shù)據(jù),導(dǎo)致測(cè)試不全面。因此,進(jìn)行分層抽樣,既可以節(jié)約時(shí)間,又能選取各種情況下的數(shù)據(jù)進(jìn)行測(cè)試。
步驟三:開(kāi)始測(cè)試
第三步便是開(kāi)始進(jìn)行測(cè)試,在測(cè)試的過(guò)程中,要求編程員不能離開(kāi),必須緊盯著,如若發(fā)現(xiàn)異常情況,要及時(shí)做好記錄,以防遺漏某種情況。
總而言之,軟件測(cè)試大大地減少了編程員的時(shí)間,而它的操作,需要編程員去探討,如果缺乏深入研究,就很難在實(shí)際工作中正確地完成測(cè)試任務(wù)。同時(shí)在計(jì)算機(jī)深度開(kāi)發(fā)應(yīng)用中,擁有高效的軟件測(cè)試,對(duì)編程員來(lái)說(shuō),無(wú)疑是輕松了很多。
參考文獻(xiàn):
[1]單錦輝,姜瑛,孫萍等.軟件測(cè)試研究進(jìn)展[J].北京大學(xué)學(xué)報(bào)(自然科學(xué)版),2005,41(1):134-145.
[2]安金霞,王國(guó)慶,李樹(shù)芳等.基于多維度覆蓋率的軟件測(cè)試動(dòng)態(tài)評(píng)價(jià)方法[J].軟件學(xué)報(bào),2010,21(9):2135-2147.
[3]陳佳豫,孔德柱,劉金國(guó)等.基于蝴蝶模型的星載嵌入式軟件測(cè)試策劃[J].光學(xué)精密工程,2011,19(7):1677-1685.
計(jì)算機(jī)軟件測(cè)試技術(shù)研究論文相關(guān)文章: