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