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