劉燕俐
[摘要] 隨著網絡信息技術的發展,軟件測試在提升軟件的操作水平和保障軟件質量方面都起到了非常重要的作用。本文就軟件測試的內涵和分類進行了具體的說明,分析了當前我國軟件測試發展過程中存在的問題,并提出關于軟件測試創新發展的幾點建議,以推動軟件測試行業更好地發展。
[關鍵詞] 軟件測試; 內涵; 分類; 瓶頸; 途徑
doi : 10 . 3969 / j . issn . 1673 - 0194 . 2012 . 02. 036
[中圖分類號]TP311.5[文獻標識碼]A[文章編號]1673 - 0194(2012)02- 0065- 02
1軟件測試內涵及分類
1.1 軟件測試的內涵
從理論上講,軟件測試主要是指通過使用人工測試或者自動手段來測試軟件或者系統的過程以達到檢驗軟件是否能夠滿足預定的需求目的的一種測試。
1.2 軟件測試分類
(1) 靜態測試。靜態測試主要是指不需要運行程序,而僅僅通過分析或檢查源程序的語法、結構、過程、接口等方面對軟件進行測試。一般來說,靜態測試是通過人工測試來完成。靜態測試主要是從軟件規格說明書、軟件設計說明書、源程序結構分析、流程圖分析、符號執行等諸多方面開展測試。
(2) 動態測試。動態測試主要是指通過運行軟件程序檢查運行結果與預期結果的差異來分析軟件程序運行效率及軟件性能的一種測試。動態測試一般包括軟件構造測試實例、執行程序、分析程序的輸出結果等方面。目前,動態測試也是軟件測試工作的主要方式。
(3) 單元測試。單元測試主要是開發者編寫一小段代碼,用于檢驗被測代碼的功能是否正確的一個最低級別的測試。一般來說,單元測試不僅僅是作為一種無錯編碼輔助工作對軟件進行測試,在軟件測試中,無論是在軟件修改期間還是軟件運行期間,單元測試必須是可重復的。
(4) 集成測試。集成測試主要是在單元測試的基礎上,將所有模塊按照設計要求(如根據結構圖〕組裝成為子系統或系統而進行的一種測試。簡單地說,集成測試是單元測試的邏輯擴展,在測試者進行集成測試的工作實踐中,測試者要將所有的軟件單元按照規定的要求來組裝成模塊、子系統或系統,在集成測試的過程中,測試工作人員必須按照相應技術指標對電子產品進行測試,只有這樣,才能確保集成測試的效果。
2軟件測試當前發展中存在的問題
軟件測試對信息技術的發展起到了重要的作用,但是因為軟件測試這一項目發展歷史比較短暫,因此不可避免地出現了一些問題,主要表現在以下幾個方面。
(1) 缺乏軟件測試意識。缺乏軟件測試意識是當前軟件測試行業存在的主要問題。當前我國電子軟件行業普遍存在重視軟件開發而忽視軟件測試的現象,沒有意識到軟件測試對軟件行業發展的重要意義。軟件開發人員往往在軟件編程時全身心投入去做,但是由于沒有意識到軟件測試工作的重要性,并不重視軟件測試,導致軟件測試中出現差錯,影響了軟件開發的準確性,不利于軟件的后期使用,同時造成前期的軟件的編程工作也是事倍功半,沒有收到好的效果,甚至造成交付給用戶的軟件無法使用。
(2) 缺乏專業的軟件測試人員。缺乏專業的軟件測試人員是當前我國軟件測試行業存在的主要問題。當前我國很多軟件開發企業中普遍缺乏專業的測試人員。大多數的軟件測試工作都是由編程人員自己進行的,編程人員往往不會輕易找出自己軟件編程的錯誤,在測試的時候,其思維方式和專業的測試人員不同,通常他們會認為軟件開發和編程都是正確的。因此導致他們在軟件測試過程中不能及時發現問題。同時,產品提交給用戶后也缺乏專業的軟件客服人員對軟件進行跟蹤處理。微軟公司會定期對Microsoft Office用戶反饋信息進行分析,便于開發和測試人員進行軟件的修補和維護;而我國部分中小軟件企業的產品則缺乏這方面的服務。
(3) 軟件測試缺乏統一標準。軟件測試缺乏統一的標準給軟件測試的發展帶來了很大的困擾。一般來說,軟件測試的代碼都是按一定標準進行編寫,在實際工作中,測試代碼是不能隨意編寫的,但是實際工作中,編寫出來的測試代碼以及測試代碼運行的情況往往表現出一種隨意性和無序性。當今軟件測試行業對影響軟件缺陷的重要度和修復度都缺乏統一的標準,使得部分軟件缺陷在修復的過程中難免引入新的軟件缺陷,影響了軟件的正常使用。所以在今后的軟件測試中,必須確保測試的標準要統一,要求測試者真正做到按照統一的規定來測試。舉一個簡單的例子,軟件工作人員一般都知道,在軟件測試中矩陣的行為測試,列為需求。矩陣中,用數字1標識該行的測試用例核實了該列的需求。根據矩陣中1的位置,我們可以判斷出是否有需求未被核實,或是否有測試用例為無效用例。
3軟件測試發展創新途徑
為了更好地推動軟件測試的發展,需要不斷提高軟件測試工作效率,解決上述軟件測試中存在的問題。為此,本文提出以下建議。
(1) 重視軟件測試。重視軟件測試是推動軟件測試創新發展的關鍵。軟件測試人員的工作就是盡量發現軟件中的錯誤,成功的軟件測試就是盡量讓軟件出錯。優秀的軟件測試人員往往使用較少的測試用例就可查找出較多的軟件錯誤。只有真正從主觀方面重視了軟件測試的重要性,才能在日常的軟件測試中真正實現用戶期望的功能。重視軟件測試可以避免很多事故的發生。1998年,美國發射火星氣候探測器被毀,其主要原因就是在測試軟件的過程中沒有檢測出公英制度量衡使用混亂。因此重視軟件測試工作是規范軟件開發流程、避免軟件開發出現錯誤的關鍵。
(2) 培養專業的軟件測試人員。培養專業的軟件測試人員是當前我國軟件測試發展創新的重要要求。專業的軟件測試人員更清楚軟件在測試的過程中哪方面容易出現問題,與非專業的軟件測試人員相比,更容易找到問題所在。同時,不同的軟件測試需要不同的管理方法,例如,軟件開發者對于他們編寫的代碼缺乏免疫力,但是專業的軟件測試者已經接受了關于軟件代碼和軟件測試程序易錯點等方面的培訓,專業的軟件測試員更了解軟件測試、集成測試、系統測試等諸多方面的標準,在測試的過程中具有針對性,更容易找出錯誤所在。
(3) 統一軟件測試的標準。統一軟件測試的標準是當前提高我國軟件測試行業水平的重要保障。只有統一軟件測試的標準,在日常的工作中,才能加強企業與企業、地區與地區之間的合作。舉一個簡單的例子,我國軟件測試業尚未對缺陷修復率等指標制定統一標準,江蘇某企業則從規章制度上規定, 一、二級錯誤修復率應達到100%, 三、四級錯誤修復率應達到80%以上,五級錯誤修復率應達到60%以上。從規章制度上規定了軟件錯誤修復率,可以減少測試工作人員之間的爭議,更好地進行軟件測試工作。
4總結
隨著軟件行業的發展,軟件測試的重要性和必要性將日益彰顯,軟件測試的發展創新已成為軟件項目管理的一項重要工作。在今后的軟件測試工作中,軟件測試人員需要培養軟件測試的意識,軟件公司要多采用專業的軟件測試技術員,軟件行業要統一行業規則。只有這樣,才能真正解決軟件測試在發展中存在的問題,才能真正實現軟件測試行業的發展創新,才能推動我國軟件測試業的高效發展。
主要參考文獻
[1] 曹思千. 軟件可靠性一致性評價方法研究及原型輔助工具設計與實現[D]. 北京:北京交通大學,2010.
[2] 崔正斌. 軟件可靠性預測技術研究[D]. 鄭州:解放軍信息工程大學,2010.
[3] 劉超,張茂林,等. 軟件集成測試的群體協同工作模式及其特性[J]. 軟件學報,2000(6).
[4] 胡世亮,臧斌宇,等. 數據流分析中的區域覆蓋技術[J]. 軟件學報,2000(3).
[5] 翁南釤,蔡德鈞. 基于構件的軟件工程及其測試、維護和實踐[J]. 計算機工程與應用,2000(2).