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