崔書彬
摘要
隨著社會經濟的不斷發展,計算機軟件行業得到了迅猛發展,開發出的軟件質量和產量都得到了明顯提高。由于軟件產品具有高復雜度和高集成性,必然會存在一定的缺陷和錯誤,為解決軟件產品所存在的這一問題,軟件測試運用而生。使用恰當合適的軟件測試手段不僅可以減少軟件產品的容錯率,而且也能夠有效的幫助軟件投資商減少不必要的投資,降低投資成本,對軟件開發行業的健康發展具有一定的指引意義。本文將針對軟件測試的方法展開討論,并對軟件的測試過程進行詳細說明。
【關鍵詞】軟件測試 測試方法 測試過程
隨機經濟社會的不斷發展,計算機技術得到了迅猛發展,相關科技已經得到了廣泛的應用。計算機軟件作為計算機硬件的靈魂載體,已經成為了計算機技術發展的重要基石,硬件的發展速度遠高于軟件的發展速度,計算機軟件已經成為了現當代計算機技術發展的頸口。由于軟件產品具有高復雜度和高集成性,必然會存在一定的缺陷和錯誤,為解決軟件產品所存在的這一問題,軟件測試運用而生。現對軟件的測試方法和測試過程進行詳細闡述。
1 測試方法
所謂的軟件測試就是指,運用相應的人工手段或者智能的方式來對系統進行運行測試,排查和檢查出是否存在錯誤或者與預期不符的測定過程,其目的就是排查“隱患”,提升軟件產品的質量。軟件測試方法從系統內部結構情況和算法情況分成白盒測試、黑盒測試以及灰盒測試三種;從測定過程中程序狀態情況來分成動態測試和靜態測試兩種;從執行情況分成自動化測試和人工測試兩種。
1.1 白盒測試、黑盒測試以及灰盒測試
1.1.1 白盒測試
所謂的白盒測試就是指,該測試使用程序里的一些邏輯數據,來測定程序執行是否按照預設的來執行,檢測每一種通路是否能夠正常運行。白盒測試其目的就是檢測程序中的邏輯是否正常有效。白盒測試法主要有:邏輯覆蓋分析法、數據流分析法、控制流分析法、程序變異法以及路徑分析法等。
1.1.2 黑盒測試
所謂的黑盒測試就是指,把測定的程序看做無法得知內部結構情況的盒子,按照預設的程序測試運行,從程序的功能上進行檢測系統是否存在錯誤的一種測試方法。如果使用黑盒測試對軟件進行測試,為確保軟件的質量,需要加以量化。
1.1.3 灰盒測試
所謂的灰盒測試就是指,不僅重視輸出相對于輸入的正確性,而且也看中內部的情況。灰盒測試擁有黑盒測試和白盒測試的優點,比黑盒測試的實用性廣,比白盒測試的效率高,它是介于白盒測試和黑盒測試之間的一種測試方法。
1.2 動態測試以及靜態測試
1.2.1 動態測試
所謂的動態測試就是指,在執行被測定程序的情況下,將最后的運行結論和預設的結論進行對比分析。動態測試的簡要步驟為:構造測試實例、運行測試程序、對比分析結論。
1.2.2 靜態測試
靜態測試是相對動態測試來說,所謂的靜態測試就是指,在不執行被測定程序的條件下,對程序源代碼進行分析、檢測,排查程序在語法、語句中所存在的錯誤。
1.3 自動化測試以及手動測試
1.3.1 自動化測試
所謂自動化測試就是指對測定程序進行批量自動的形式進行測試,并對運行結果進行分析對比。
1.3.2 手動測試
手動測試是相對于自動化測試來說的,所謂手動測試就是,在設定了測試用例后,需要人工手動的形式對程序進行測試,得到測試結果,并對比。
2 軟件測試過程
軟件測試是在軟件整個開發和設計中進行的一項活動,它與程序測試有這本質上的區別。軟件測試的過程也與軟件開發不同,它是自下而上,依次集成的過程,其可以分成:單元測試、集成測試、確認測試以及系統測試等四個步驟。
2.1 單元測試
所謂單元測試可以被看成程序模塊,是正確檢測軟件設計里的最小單元,單元測試這一步驟的根本目的就是發現每個子模塊中的錯誤。其工作原理就是通過測定單元模塊里數據的正確性和完整性來檢測錯誤。
2.2 集成測試
集成測試這一步驟是軟件測試的第二步,又可以稱作組裝測試。集成測試的工作原理就是把所有的設計模塊按照需求進行整個,并根據之前的預設程序進行測試,包括可靠性、功能性、工作效率、可移植性以及易用性等。
2.3 確認測試
確認測試是軟件測試過程中的第三步,又被稱為有效性測試,其目的就是檢測軟件的特性、性能以及功能是否滿足用戶的需求,從而可以更好的服務用戶。
2.4 系統測試
系統測試是軟件測試過程中的第四步,也是軟件測試的最后一步。系統測試就是集結軟件開發的所有資源,包括開發人員、工作人員、計算機外設、硬件以及其他相關元素,對計算機進行檢測和功能測試,其目的就是通過測試來發現系統和軟件是否兼容。
3 結語
本文對軟件測試的方法、軟件測試的過程進行了詳細的介紹,從中發現軟件測試可以有效的減小軟件的存錯率,提高軟件的質量。對推動軟件行業的健康發展起著至關重要的作用。現階段,軟件測試的缺點就是效率低下,成本較高,所以,改進傳統的軟件測試方法提高軟件測試效率降低測試成本,有著非常重要的現實意義。
參考文獻
[1]高偉,范青,高文強,王利鶴,黃修梅.基于PHP+MySQL的高校教師工作量管理系統的研究與實現[J].內蒙古農業大學學報(自然科學版),2017,38(05):62-67.
[2]易揚揚.基于JQuery Mobile的教師工作量管理系統的設計與實現[D].吉林大學,2015.
[3]黃文武,傅強,羅卓筆.高校教師教學工作量管理系統設計與實現[J].中國教育信息化,2014(15):65-66.
[4]楊波,吳際,徐珞,畢考,劉超.一種軟件測試需求建模及測試用例生成方法[J].計算機學報,2014,37(03):522-538.
[5]王蓁蓁.軟件測試理論初步框架[J].計算機科學,2014,41(03):12-16+35.
[6]蔡立志,閻婷.大數據背景下軟件測試的挑戰與展望[J].計算機應用與軟件,2014,31(02):s-8.
[7]王紅園,郭永飛,姬琪.面向需求覆蓋的航天軟件測試用例優化方法[J].光學精密工程, 2014,22(01):228-234.