黃 于
(湖北師范大學(xué),湖北 黃石 435000)
20世紀(jì)60年代的時(shí)候,高級(jí)語言不斷問世,到了70年代,軟件開始出現(xiàn),軟件的發(fā)展也越來越好,軟件的功能需求越來越多,越來越具有復(fù)雜,對(duì)軟件的要求也越來越高。
到了20世紀(jì)80年代,對(duì)于軟件測(cè)試的定義已經(jīng) 悄悄地發(fā)生了變化,軟件測(cè)試不再是僅僅用來發(fā)現(xiàn)錯(cuò)誤,還包括了對(duì)軟件質(zhì)量進(jìn)行評(píng)估。
到了20世紀(jì)90年代,可以用于軟件測(cè)試的工具種類越來越多,軟件進(jìn)行測(cè)試的重要性也越來越高。到了2002年,軟件測(cè)試被Rick和Steafan在書中又一次定義,軟件測(cè)試這定義越來越完善。并且由于計(jì)算機(jī)技術(shù)的推廣,計(jì)算機(jī)走入了家家戶戶,對(duì)軟件測(cè)試的研究越來越多,有關(guān)軟件測(cè)試的研究也有了重大突破。
1)靜態(tài)測(cè)試。靜態(tài)測(cè)試就是指不運(yùn)轉(zhuǎn)軟件,僅僅對(duì)軟件代碼、測(cè)試用例、設(shè)計(jì)普查和需求剖析就從而找出編碼中的錯(cuò)誤。
2)動(dòng)態(tài)測(cè)試。動(dòng)態(tài)測(cè)試對(duì)設(shè)計(jì)測(cè)試用的軟件的用戶進(jìn)行跟蹤觀察,了解他們的行蹤,對(duì)軟件的實(shí)際效果和預(yù)期效果進(jìn)行比對(duì),從而找到軟件存在的不足之處。動(dòng)態(tài)測(cè)試和靜態(tài)測(cè)試的區(qū)別就是動(dòng)態(tài)測(cè)試進(jìn)行了實(shí)際的軟件運(yùn)行。和靜態(tài)測(cè)試比起來,動(dòng)態(tài)測(cè)擁有更大的工作量,例如集成、單元測(cè)試等。進(jìn)行單元測(cè)試時(shí)需要使用到白盒測(cè)試技術(shù)進(jìn)行測(cè)試,需要有用戶參與。進(jìn)行系統(tǒng)的測(cè)試時(shí)需要運(yùn)用黑盒測(cè)試技術(shù)來對(duì)軟件進(jìn)行測(cè)試。
軟件測(cè)試的方式有三種。第一種就是白盒測(cè)試法,白盒測(cè)試法需要在測(cè)試的時(shí)候檢查軟件工程,以方便發(fā)現(xiàn)軟件里面的不足之處或者出了問題的地方。進(jìn)行白盒測(cè)試時(shí)有許多方法可以運(yùn)用,其中邏輯覆蓋方法使經(jīng)常能見到的一種方法。那些使用白盒測(cè)試技術(shù)的軟件測(cè)人員,首先要了解軟件的內(nèi)部是什么樣子的,然后在根據(jù)軟件內(nèi)部結(jié)構(gòu),專門設(shè)計(jì)了用于測(cè)試的針對(duì)性測(cè)試用例。
第二種是黑盒測(cè)試法,黑盒測(cè)試法用來檢測(cè)軟件的功能是否正常,軟件和數(shù)據(jù)庫之間的連接是否松開,軟件的布局是否合理,能否正常運(yùn)行。黑盒測(cè)試法和白盒測(cè)試法之間能夠互相補(bǔ)充,能更好的發(fā)現(xiàn)軟件的問題。黑盒測(cè)試方法分為幾種。錯(cuò)誤測(cè)試法適宜那些比較有經(jīng)驗(yàn)的程序開發(fā)者,能夠依據(jù)經(jīng)驗(yàn)對(duì)軟件開發(fā)過程中經(jīng)常發(fā)生錯(cuò)誤的地方有針對(duì)的進(jìn)行測(cè)試。在進(jìn)行軟件開發(fā)的時(shí)候,軟件的數(shù)據(jù)結(jié)構(gòu)和下標(biāo)可能會(huì)容易發(fā)現(xiàn)問題,可以做一些針對(duì)這些地方的測(cè)試,解決問題。
第三種方法就是綜合策略發(fā),這種方法就是靈活的運(yùn)用各種測(cè)試方式進(jìn)行測(cè)試,相較于用單一測(cè)試方式來說,這種方式比較靈活,可以極大地提升工作效率。
1)AutoRunner是國內(nèi)出現(xiàn)的第一個(gè)能夠進(jìn)行自動(dòng)化測(cè)試的軟件,可以完成功能測(cè)試等。AutoRunner有腳本語言,可以完善的腳本跟蹤和調(diào)試功能,支持IE測(cè)試和windows native原生測(cè)試。
2)TestDirector是Mercury interative公司企業(yè)生產(chǎn)的測(cè)試分析工具,該公司是全球最大的軟件測(cè)試工具提供商。TestDirector可以在公司內(nèi)外部進(jìn)行全球范圍內(nèi)測(cè)試的管理,測(cè)試的時(shí)候在系統(tǒng)上集成了測(cè)試的各個(gè)不同的部分,能加速測(cè)試過程。
軟件測(cè)試在軟件整個(gè)開發(fā)過程中都是和軟件的開發(fā)同時(shí)進(jìn)行,能為軟件開發(fā)工作正常過度打下基礎(chǔ),能夠減少開發(fā)軟件的時(shí)間,節(jié)省人力物力。
1)在軟件需求分析的時(shí)候,對(duì)軟件進(jìn)行測(cè)試,提前預(yù)估風(fēng)險(xiǎn)和成本,針對(duì)客戶的要求進(jìn)行開發(fā),對(duì)于可能出現(xiàn)的問題能提前協(xié)商,可以提高開發(fā)效率。
2)軟件開發(fā)過程中,要對(duì)設(shè)計(jì)的模型有準(zhǔn)確預(yù)估,做的提前發(fā)現(xiàn)并改正錯(cuò)誤,節(jié)省人力物力。
3)軟件編寫的時(shí)候,參與測(cè)試的人員要編寫合適的試用例和單元測(cè)試,把編寫試用例當(dāng)做重點(diǎn)來做。
4)進(jìn)行軟件測(cè)試的時(shí)候,要及時(shí)更新軟件,修復(fù)測(cè)試中問題,保證發(fā)布的軟件符合客戶需求。
5)對(duì)軟件進(jìn)行維護(hù)時(shí),負(fù)責(zé)測(cè)試的工作人員要選擇合適的比例重新組合、解決客戶提出的要求,幫客戶進(jìn)行驗(yàn)收。其中,解決客戶的要求是最重要的,要從客戶的實(shí)際需求觸發(fā),設(shè)計(jì)出讓客戶滿意的軟件。在運(yùn)行維護(hù)的時(shí)候,要及時(shí)更新新的測(cè)試用例,彌補(bǔ)之前的測(cè)試用例出現(xiàn)的問題。
軟件開發(fā)中農(nóng)經(jīng)常會(huì)出現(xiàn)錯(cuò)誤和缺陷,市場(chǎng)對(duì)軟件質(zhì)量需求越來越嚴(yán),所以,軟件測(cè)試在軟件開發(fā)實(shí)施中就顯得尤為重要。然而,實(shí)際情況是軟件測(cè)試的地位和作用還是沒有得到足夠的重視,對(duì)軟件測(cè)試的認(rèn)知還是存在誤區(qū),影響了軟件測(cè)試開展活動(dòng)和提高了軟件開發(fā)的質(zhì)量。
誤區(qū)一:絕大多數(shù)的人都會(huì)以為軟件測(cè)試是軟件開發(fā)已經(jīng)結(jié)束后再進(jìn)行的,起著查漏補(bǔ)缺的作用,但是實(shí)際情況是,軟件測(cè)試會(huì)伴隨這軟件開發(fā)的全過程。從開始的設(shè)計(jì)到最后都驗(yàn)收都離不開軟件測(cè)試。在軟件開發(fā)的每個(gè)階段,都需要進(jìn)行對(duì)應(yīng)的測(cè)試來解決研發(fā)階段產(chǎn)出的問題。當(dāng)然,軟件測(cè)試的對(duì)象不僅僅局限于軟件的代碼,還有其他的方面,比如設(shè)計(jì)的文檔。軟件測(cè)試和軟件開發(fā)的同步進(jìn)行才能確保軟件開發(fā)能夠順利進(jìn)行,不會(huì)有什么特別大的錯(cuò)誤,造成無法彌補(bǔ)的損失,同時(shí)還能節(jié)省時(shí)間,提高整體效率。
誤區(qū)二:一些沒有接觸過軟件測(cè)試行業(yè)的人,都認(rèn)為軟件測(cè)試就是利用現(xiàn)有程序?qū)浖M(jìn)行測(cè)試,都是些簡單工作。其實(shí)隨著軟件工程的發(fā)展,軟件測(cè)試的內(nèi)容越來越豐富,不僅僅是簡單的用程序進(jìn)行測(cè)試就能解決,需要用到專業(yè)的知識(shí)和豐富的經(jīng)驗(yàn),才能勝任這份工作,需要專業(yè)的人員來完成測(cè)試。
在未來,軟件測(cè)試可能會(huì)發(fā)展的越來越快,軟件測(cè)試技術(shù)也會(huì)更加完善,軟件測(cè)試效率越來越高,軟件測(cè)試人員也會(huì)得到重視。軟件測(cè)試行業(yè)對(duì)于人才的需求會(huì)越來越嚴(yán),也會(huì)越來越需要人才。