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