展召英
摘 要:在當前時代,軟件測試開始受人們的關注,此時怎樣通過技術方法提升測試的質量就成為了行業中非常重視的一個話題。文章測試的定義為基礎,對如何以軟件測試性設計為中心、合理運用軟件測試技術來提升軟件測試質量提出了自己的看法。
關鍵詞:軟件測試;測試性設計;測試質量
一個軟件產品的品質到底是怎樣的主要在于它的開發活動開展的如何。測試是其生存的一個非常關鍵的時期,目前非常受人們的關注。只有通過測試才可以確保其品質,才能夠保證可靠性好,同時它還能夠驗證軟件能不能夠實現預估的目的。目前測試已經不單純的存在于開發的工作中,它已經貫穿到總的研發步驟中,開展測試的時間越靠前,總體的開發費用就會越少。通過很多的統計資料我們得知,測試的活動量在總的開發工作中占據了大約百分之四十,在特殊時期,有時候會超過別的步驟所需費用的好幾倍,之所以耗費如此多的財力和時間來開展該項工作目的只有一個就是提升軟件的品質以及穩定性。
1 何為軟件測試
1.1 軟件測試
它的目的是為了分析存在的錯誤。換句話講,它是結合開發時期的要求以及程序的結構而設計得到的一個測試案例,然后結合該案例的運作情況來得知存在的錯誤的一個步驟。
1.2 軟件測試用例
測試用例實際上是對軟件運行過程中所有可能存在的目標、運動、行動、環境和結果的描述。測試用例是測試組織的最小單位,指對一項特定的軟件產品進行測試任務的描述,體現測試方案、方法、技術和策略。內容包括測試目標、測試環境、輸入數據、測試步驟、預期結果、測試腳本等,并最終形成文檔。對于該項測試活動來講,它的中心內容是不斷的設計并且落實這些用例。在選取用例的時候我們可以看成是從繁瑣的輸入組合中挑選出那些能夠得知錯誤的組合。所以應該以抽象方法來保證測試更為精準。
1.3 測試用例庫
任何一個合理的測試通常會使用超過一個的用例,工作者一般要編訂很多的用例才可以對一個具體的軟件比對分析,我們把此類有關聯的用例為一個測試用例集。把很多的用例放到庫里,然后進行有效分類,這樣有助于后續的使用,能夠將問題的發現幾率提升。
2 提升測試品質的措施
2.1 采用測試性設計技術
目前來看,該測試措施是僅有的一個能夠實現目的的方法了。不過在測試的時候,因為很多緣由的存在導致了測試變得很困難,有時候還不能有效測試。為了改善這種現象,在設計的時候要切實的遵照測試性理念,經由變幻代碼或是其他的一些措施來盡可能的提升它的可測試特征。
(1)測試驅動設計。這種設計就是直接把軟件需求變成測試代碼。當明確了測試性能規定之后,要進行代碼編訂工作。要先進行驗收測試,然后開展單元的測試,最主要的是在開發的時候積極的修正處理。(2)所有的操作都要對應具體的措施,確保措施的可行性好。通常都是一些小規模的措施,使用這些措施能夠確保調用的時候更為便利。(3)顯示與控制分離。把代碼移到GUI視圖的外面,各種 GUI 動作就能成了模型上的簡單方法調用。此時在改動程序的時候不會對試圖產生負面效果,而且這樣更加的易于被人們認可。(4)針對那些或許會成為參數的類應該設置接口。以此來闡述外在程序組合獲釋在應該變換接口的時候得到生成空類,這樣就可以當成是參數輸入了。
2.2 選擇合適的測試管理模型
我們把系統功能的具體表現稱為模型。基于模型的測試主要考慮系統的功能,可以認為是功能測試的一種。測試模型體現了被測試系統的最本質的功能關系。其較之于系統要更加容易研發。任何能夠運作的模型都要確保其可以提供充足的信息。因此要保證模型合乎如下一些規定才可以。第一,規定其應該是一個具體測試的十分精準的體現,要體現出檢查用到的全部特點。第二,應該能抽象的顯示出細節內容。第三,能夠體現出全部事件以及全部的活動。第四,能夠體現出系統的所有狀態,只有這樣才能夠通過可知的措施來明確已經達到或是尚未達到的狀態。
2.3 使用恰當的測試科技
目前的測試措施種類非常多,都有著一定的優缺點。不過任何一個措施都不能夠體現出全部的測試規定。所以要積極的分析這些措施,明確其存在的優點和缺陷,結合體系的規定來細致的組合,通常可從如下兩個層次中入手:
2.3.1 從代碼的特性角度出發展開測試
(1)單元測試:按照代碼的單元組成逐個進行測試。(2)功能測試:按照軟件的功能或特性逐個進行測試。(3)系統測試:對完整的代碼進行編譯和連接,以檢查程序的主要功能能否達到預期目標。(4)回歸測試:對以前修復過的 Bug 重新進行測試, 看該 Bug 是否會重新出現。值得注意的是,回歸測試并不是軟件測試的一個獨立階段。
2.3.2 從用戶的角度出發展開測試
(1)配置測試: 從用戶的使用出發進行多方面的測試。(2)兼容性測試:主要考慮軟件和操作系統的兼容性問題。(3)壓力測試:在各種極限情況下對產品進行測試,以檢查產品的長期穩定性。(4)性能測試:測試是保證程序具有良好的性能,能否達到預期的性能指標。(5)文檔和幫助文件測試:對文檔和幫助文件進行檢測,保證用戶可以通過學習文檔和幫助文件正常使用產品。(6)Alpha 和 Beta 測試:在正式發布產品之前將軟件測試版發送給用戶,讓用戶在使用中找到能夠存在的 Bug或者反饋相關信息,以便在正式版中得到解決。
2.4 建立可復用的測試用例庫
在測試的時候得到的那些用例,對于提升軟件的品質有著非常關鍵的意義,其復用的意義更是突出。在測試的時候要設置以復用為前提的用例,而且通過有效的管理措施,來提升其功效。
(1)基于復用的目的,對所使用的測試用例進行統一的建模組織,有效地將測試用例收集到測試用例庫中,并按照行業項目等進行多級合理的分類、組織、存儲。對采用不同方式描述的測試用例,將分別實現不同程度的復用。(2)對庫里的用例合理的管控,經由提供的查詢措施,來保證復用性,對于不一樣的類型的用例開展復用次數的記載,這樣能夠幫助工作者獲取有用的信息內容,在確保品質的背景之下,提升了測試的功效。(3)對庫里的用例進行合理的復用,經由查詢用例,獲取具體的信息,對于不同的用例使用不一樣的復用模式來開展復用活動。
3 結束語
筆者站在技術的層次上論述了提升測試品質的措施,該措施是將軟件的測試性設計當成是關鍵點,結合有效的測試措施來提升品質的一個實用性的舉措。不過此處要注意的是,測試工作者的能力高低會對測試的品質產生一定的影響,這就要求相關的工作者在平時工作的時候要注意提升自身的能力。
參考文獻
[1]宋駿禮.基于行為的軟件測試過程模型及其應用研究[C].華中科技大學論文集,2007.
[2]朱鴻,金凌紫.軟件質量保障與測試[M].北京:北京科學出版社,2004.
[3]蘭雨晴,高靜譯.William E·Perry.軟件測試的有效方法[M].北京:北京機械工業出版社,2004.