代芷萁 謝天 周里濤
摘 要:軟件測試作為軟件實際應(yīng)用前的最后一項檢測,其有效性決定軟件實用性,對軟件而言具有重要的作用。但目前仍存在部分測試問題需解決,部分軟件開發(fā)人員對軟件測試不甚明確。本文分析目的即為使此類軟件開發(fā)人員能夠盡可能地完成軟件的測試開發(fā)。本文對目前應(yīng)用較廣的軟件開發(fā)方式展開分析,重點描述其原理及適用范圍,隨后針對軟件測試策略進行闡述,意在使軟件測試過程更為簡便、軟件錯誤更少,使此類軟件切實應(yīng)用于實際中。
關(guān)鍵詞:軟件測試;黑盒法;白盒法;單元測試
軟件測試為軟件的使用而服務(wù),軟件測試流程可參照早期軟件開發(fā)工程,當(dāng)時相關(guān)技術(shù)人員對于軟件中出現(xiàn)的錯誤問題較為難以解決,后經(jīng)軟件調(diào)試、軟件產(chǎn)品成型后測試等流程,逐漸發(fā)展至軟件測試?,F(xiàn)階段測試過程中已出現(xiàn)各種方法,如何使用此類方法為軟件進行測試,使軟件能夠正確運用于實際環(huán)境中已成為測試人員所注重的問題,本文即針對該問題進行闡述,使軟件測試流程更加流暢,避免問題出現(xiàn)。
1軟件測試原則
對計算機軟件進行測試前,首先需遵循軟件測試原則,即不完全原則的遵守。不完全原則即為若測試不完全、測試過程中涉及免疫性原則的部分較多,可對軟件測試起到一定幫助。因軟件測試因此類因素具有一定程度的免疫性,測試人員能夠完成的測試內(nèi)容與其免疫性成正比,若想使軟件測試更為流暢、測試效果更為有效,首先需遵循此類原則,將此類原則貫穿整個開發(fā)流程,不斷進行測試,而并非一次性全程測試。
2軟件測試方式
2.1靜態(tài)測試方法
靜態(tài)測試方式指軟件代碼的靜態(tài)分析測驗,此類過程中應(yīng)用數(shù)據(jù)較少,主要過程為通過軟件的靜態(tài)性測試(即人工推斷或計算機輔助測試)測試程序中運算方式、算法的正確性,進而完成測試過程,此類測試的優(yōu)點在于能夠消耗較短時間、較少資源完成對軟件、軟件代碼的測試,能夠較為明顯地發(fā)現(xiàn)此類代碼中出現(xiàn)的錯誤。靜態(tài)測試方法適用范圍較大,尤其適用于較大型的軟件測試。
2.2動態(tài)測試
計算機動態(tài)測試的主要目的為檢測軟件運行中出現(xiàn)的問題,較靜態(tài)測試方式相比,其被稱為動態(tài)的原因即為其測試方式主要依賴程序的運用,主要為檢測軟件中動態(tài)行為是否缺失、軟件運行效果是否良好。其最為明顯的特征即為進行動態(tài)測試時軟件為運轉(zhuǎn)狀態(tài),只有如此才能于使用過程中發(fā)現(xiàn)軟件缺陷,進而對此類缺陷進行修復(fù)。目前動態(tài)測試過程中可包括兩類因素,即被測試軟件與測試中所需數(shù)據(jù),兩類因素決定動態(tài)測試正確展開、有效展開。
2.3黑盒測試
黑盒測試,顧名思義即為將軟件測試環(huán)境模擬為不可見的“黑盒”。通過數(shù)據(jù)輸入觀察數(shù)據(jù)輸出,檢查軟件內(nèi)部功能是否正常。測試展開時,數(shù)據(jù)輸入軟件中,等待數(shù)據(jù)輸出。數(shù)據(jù)輸出時若與預(yù)計數(shù)據(jù)一致,則證明該軟件通過測試,若數(shù)據(jù)與預(yù)計數(shù)據(jù)有出入,即便出入較小亦證明軟件程序內(nèi)部出現(xiàn)問題,需盡快解決。
2.4白盒測試
白盒測試相對于黑盒測試而言具有一定透明性,原理為根據(jù)軟件內(nèi)部應(yīng)用、源代碼等對產(chǎn)品內(nèi)部工作過程進行調(diào)試。測試過程中常將其與軟件內(nèi)部結(jié)構(gòu)協(xié)同展開分析,最大優(yōu)點即為其能夠有效解決軟件內(nèi)部應(yīng)用程序出現(xiàn)的問題,測試過程中常將其與黑盒測試方式結(jié)合,當(dāng)測試軟件功能較多時,白盒測試法亦可對此類情況展開有效調(diào)試。其中,判定測試作為白盒測試法中最為主要的測試程序結(jié)構(gòu)之一,此類程序結(jié)構(gòu)作為對程序邏輯結(jié)構(gòu)的整體實現(xiàn),對于程序測試而言具有較為重要的作用。此類測試方式針對程序中各類型的代碼進行覆蓋式檢測,覆蓋范圍較廣,適用于多類型程序。實際檢測中,白盒測試法常與黑盒檢測法并用,以動態(tài)檢測方式中測試出的未知錯誤為例,首先使用黑盒檢測法,若程序輸入數(shù)據(jù)與輸出數(shù)據(jù)相同,則證明內(nèi)部數(shù)據(jù)未出現(xiàn)問題,應(yīng)從代碼方面進行分析,若出現(xiàn)問題則使用白盒測試法,針對軟件內(nèi)部結(jié)構(gòu)進行分析,直至檢測出問題所在,及時加以修改。
3軟件測試技術(shù)策略
3.1單元測試
單元測試即為將整個軟件分解為各個單元,隨后對單元進行測試。此類測試策略的優(yōu)點在于所需分析數(shù)據(jù)較少,且針對性較強,程序開發(fā)者于開發(fā)過程中可通過操作經(jīng)驗明確出現(xiàn)問題的大致區(qū)域,隨后針對此類問題對相關(guān)單元展開分析,進行問題排查。但需注意的是,某些程序中無具體單元驅(qū)動程序,即單個單元無法有效驅(qū)動,易出現(xiàn)問題,若針對此類軟件展開測試,需重點注意此類分解單元。
3.2集成測試
集成測試與單元測試相反,原理為將部分需測試部分作為整體進行集成,隨后針對此類集成部分進行測試。測試要求為此類被測試集成題應(yīng)具有一定的結(jié)構(gòu),且屬于非漸增方式集成。對于較大軟件而言,集成測試方式較單元測試方式而言較為繁瑣,目前多數(shù)大型軟件的測試皆采取漸增方式進行測試。漸增測試方式為集成測試方式的衍生,其能夠按照不同次序?qū)浖M行測試,日常測試中,常將兩類方式進行集成測試,隨后按照次序展開選擇。
結(jié)語:
無論何種類型、何種作用的軟件,皆需要通過測試流程,通過測試流程為證明一款軟件能夠使用的最基本要求。軟件測試的目的即為軟件能夠符合設(shè)計要求,切實完成設(shè)計者為軟件所設(shè)計的較多功能。本文即針對目前使用范圍較廣的軟件測試技術(shù)進行分析,重點闡述其中的技術(shù)性要點。
參考文獻
[1]付葉薔.常見的軟件測試技術(shù)分析[J].農(nóng)家參謀,2018(07):216.
[2]曾利宏.分析軟件自動化測試技術(shù)及應(yīng)用[J].信息系統(tǒng)工程,2017(10):42.
[3]郭洪飛.計算機軟件開發(fā)中的數(shù)據(jù)庫測試技術(shù)分析[J].計算機產(chǎn)品與流通,2017(10):28+52.