文/鄧松泉,雅禮中學
軟件測試為軟件的使用而服務,軟件測試流程可參照早期軟件開發工程,當時相關技術人員對于軟件中出現的錯誤問題較為難以解決,后經軟件調試、軟件產品成型后測試等流程,逐漸發展至軟件測試。現階段測試過程中已出現各種方法,如何使用此類方法為軟件進行測試,使軟件能夠正確運用于實際環境中已成為測試人員所注重的問題,本文即針對該問題進行闡述,使軟件測試流程更加流暢,避免問題出現。
對計算機軟件進行測試前,首先需遵循軟件測試原則,即不完全原則的遵守。不完全原則即為若測試不完全、測試過程中涉及免疫性原則的部分較多,可對軟件測試起到一定幫助。因軟件測試因此類因素具有一定程度的免疫性,測試人員能夠完成的測試內容與其免疫性成正比,若想使軟件測試更為流暢、測試效果更為有效,首先需遵循此類原則,將此類原則貫穿整個開發流程,不斷進行測試,而并非一次性全程測試。
靜態測試方式指軟件代碼的靜態分析測驗,此類過程中應用數據較少,主要過程為通過軟件的靜態性測試(即人工推斷或計算機輔助測試)測試程序中運算方式、算法的正確性,進而完成測試過程,此類測試的優點在于能夠消耗較短時間、較少資源完成對軟件、軟件代碼的測試,能夠較為明顯地發現此類代碼中出現的錯誤。靜態測試方法適用范圍較大,尤其適用于較大型的軟件測試。
計算機動態測試的主要目的為檢測軟件運行中出現的問題,較靜態測試方式相比,其被稱為動態的原因即為其測試方式主要依賴程序的運用,主要為檢測軟件中動態行為是否缺失、軟件運行效果是否良好。其最為明顯的特征即為進行動態測試時軟件為運轉狀態,只有如此才能于使用過程中發現軟件缺陷,進而對此類缺陷進行修復。目前動態測試過程中可包括兩類因素,即被測試軟件與測試中所需數據,兩類因素決定動態測試正確展開、有效展開。
黑盒測試,顧名思義即為將軟件測試環境模擬為不可見的“黑盒”。通過數據輸入觀察數據輸出,檢查軟件內部功能是否正常。測試展開時,數據輸入軟件中,等待數據輸出。數據輸出時若與預計數據一致,則證明該軟件通過測試,若數據與預計數據有出入,即便出入較小亦證明軟件程序內部出現問題,需盡快解決。
白盒測試相對于黑盒測試而言具有一定透明性,原理為根據軟件內部應用、源代碼等對產品內部工作過程進行調試。測試過程中常將其與軟件內部結構協同展開分析,最大優點即為其能夠有效解決軟件內部應用程序出現的問題,測試過程中常將其與黑盒測試方式結合,當測試軟件功能較多時,白盒測試法亦可對此類情況展開有效調試。其中,判定測試作為白盒測試法中最為主要的測試程序結構之一,此類程序結構作為對程序邏輯結構的整體實現,對于程序測試而言具有較為重要的作用。此類測試方式針對程序中各類型的代碼進行覆蓋式檢測,覆蓋范圍較廣,適用于多類型程序。
實際檢測中,白盒測試法常與黑盒檢測法并用,以動態檢測方式中測試出的未知錯誤為例,首先使用黑盒檢測法,若程序輸入數據與輸出數據相同,則證明內部數據未出現問題,應從代碼方面進行分析,若出現問題則使用白盒測試法,針對軟件內部結構進行分析,直至檢測出問題所在,及時加以修改。
單元測試即為將整個軟件分解為各個單元,隨后對單元進行測試。此類測試策略的優點在于所需分析數據較少,且針對性較強,程序開發者于開發過程中可通過操作經驗明確出現問題的大致區域,隨后針對此類問題對相關單元展開分析,進行問題排查。但需注意的是,某些程序中無具體單元驅動程序,即單個單元無法有效驅動,易出現問題,若針對此類軟件展開測試,需重點注意此類分解單元。
集成測試與單元測試相反,原理為將部分需測試部分作為整體進行集成,隨后針對此類集成部分進行測試。測試要求為此類被測試集成題應具有一定的結構,且屬于非漸增方式集成。對于較大軟件而言,集成測試方式較單元測試方式而言較為繁瑣,目前多數大型軟件的測試皆采取漸增方式進行測試。漸增測試方式為集成測試方式的衍生,其能夠按照不同次序對軟件進行測試,日常測試中,常將兩類方式進行集成測試,隨后按照次序展開選擇。
軟件測試作為軟件實際應用前的最后一項檢測,其有效性決定軟件實用性,對軟件而言具有重要的作用。但目前仍存在部分測試問題需解決,部分軟件開發人員對軟件測試不甚明確。本文分析目的即為使此類軟件開發人員能夠盡可能地完成軟件的測試開發。如上文所述,本文對目前應用較廣的軟件開發方式展開分析,重點描述其原理及適用范圍,隨后針對軟件測試策略進行闡述,意在使軟件測試過程更為簡便、軟件錯誤更少,使此類軟件切實應用于實際中。