2023-06-19 16:26:59
一.軟件測試定義
軟件測試,描述一種用來促進(jìn)鑒定軟件的正確性、完整性、安全性和質(zhì)量的過程。換句話說,軟件測試是一種實(shí)際輸出與預(yù)期輸出之間的審核或者比較過程。軟件測試的經(jīng)典定義是:在規(guī)定的條件下對(duì)程序進(jìn)行操作,以發(fā)現(xiàn)程序錯(cuò)誤,衡量軟件質(zhì)量,并對(duì)其是否能滿足設(shè)計(jì)要求進(jìn)行評(píng)估的過程。
二.測試原則
對(duì)計(jì)算機(jī)軟件進(jìn)行測試前,首先需遵循軟件測試原則,即不完全原則的遵守。不完全原則即為若測試不完全、測試過程中涉及免疫性原則的部分較多,可對(duì)軟件測試起到一定幫助。因軟件測試因此類因素具有一定程度的免疫性,測試人員能夠完成的測試內(nèi)容與其免疫性成正比,若想使軟件測試更為流暢、測試效果更為有效,首先需遵循此類原則,將此類原則貫穿整個(gè)開發(fā)流程,不斷進(jìn)行測試,而并非一次性全程測試。
三.測試方法
1、靜態(tài)測試方法
靜態(tài)測試方式指軟件代碼的靜態(tài)分析測驗(yàn),此類過程中應(yīng)用數(shù)據(jù)較少,主要過程為通過軟件的靜態(tài)性測試(即人工推斷或計(jì)算機(jī)輔助測試)測試程序中運(yùn)算方式、算法的正確性,進(jìn)而完成測試過程,此類測試的優(yōu)點(diǎn)在于能夠消耗較短時(shí)間、較少資源完成對(duì)軟件、軟件代碼的測試,能夠較為明顯地發(fā)現(xiàn)此類代碼中出現(xiàn)的錯(cuò)誤。靜態(tài)測試方法適用范圍較大,尤其適用于較大型的軟件測試。
2、黑盒測試
黑盒測試,顧名思義即為將軟件測試環(huán)境模擬為不可見的“黑盒”。通過數(shù)據(jù)輸入觀察數(shù)據(jù)輸出,檢查軟件內(nèi)部功能是否正常。測試展開時(shí),數(shù)據(jù)輸入軟件中,等待數(shù)據(jù)輸出。數(shù)據(jù)輸出時(shí)若與預(yù)計(jì)數(shù)據(jù)一致,則證明該軟件通過測試,若數(shù)據(jù)與預(yù)計(jì)數(shù)據(jù)有出入,即便出入較小亦證明軟件程序內(nèi)部出現(xiàn)問題,需盡快解決。
3、白盒測試
白盒測試相對(duì)于黑盒測試而言具有一定透明性,原理為根據(jù)軟件內(nèi)部應(yīng)用、源代碼等對(duì)產(chǎn)品內(nèi)部工作過程進(jìn)行調(diào)試。測試過程中常將其與軟件內(nèi)部結(jié)構(gòu)協(xié)同展開分析,最大優(yōu)點(diǎn)即為其能夠有效解決軟件內(nèi)部應(yīng)用程序出現(xiàn)的問題,測試過程中常將其與黑盒測試方式結(jié)合,當(dāng)測試軟件功能較多時(shí),白盒測試法亦可對(duì)此類情況展開有效調(diào)試。其中,判定測試作為白盒測試法中最為主要的測試程序結(jié)構(gòu)之一,此類程序結(jié)構(gòu)作為對(duì)程序邏輯結(jié)構(gòu)的整體實(shí)現(xiàn),對(duì)于程序測試而言具有較為重要的作用。此類測試方式針對(duì)程序中各類型的代碼進(jìn)行覆蓋式檢測,覆蓋范圍較廣,適用于多類型程序。實(shí)際檢測中,白盒測試法常與黑盒檢測法并用,以動(dòng)態(tài)檢測方式中測試出的未知錯(cuò)誤為例,首先使用黑盒檢測法,若程序輸入數(shù)據(jù)與輸出數(shù)據(jù)相同,則證明內(nèi)部數(shù)據(jù)未出現(xiàn)問題,應(yīng)從代碼方面進(jìn)行分析,若出現(xiàn)問題則使用白盒測試法,針對(duì)軟件內(nèi)部結(jié)構(gòu)進(jìn)行分析,直至檢測出問題所在,及時(shí)加以修改。
4、動(dòng)態(tài)測試
計(jì)算機(jī)動(dòng)態(tài)測試的主要目的為檢測軟件運(yùn)行中出現(xiàn)的問題,較靜態(tài)測試方式相比,其被稱為動(dòng)態(tài)的原因即為其測試方式主要依賴程序的運(yùn)用,主要為檢測軟件中動(dòng)態(tài)行為是否缺失、軟件運(yùn)行效果是否良好。其最為明顯的特征即為進(jìn)行動(dòng)態(tài)測試時(shí)軟件為運(yùn)轉(zhuǎn)狀態(tài),只有如此才能于使用過程中發(fā)現(xiàn)軟件缺陷,進(jìn)而對(duì)此類缺陷進(jìn)行修復(fù)。目前動(dòng)態(tài)測試過程中可包括兩類因素,即被測試軟件與測試中所需數(shù)據(jù),兩類因素決定動(dòng)態(tài)測試正確展開、有效展開。
四.發(fā)展現(xiàn)狀
目前現(xiàn)在軟件系統(tǒng)越來越復(fù)雜,一個(gè)軟件不能夠由單獨(dú)的軟件工程師單獨(dú)編寫,而是由團(tuán)隊(duì)進(jìn)行配合,每個(gè)人可能只負(fù)責(zé)一個(gè)模塊,對(duì)于全局沒有過多的了解,這時(shí)如果運(yùn)行軟件就會(huì)容易產(chǎn)生很多的錯(cuò)誤。在行業(yè)內(nèi)將這些錯(cuò)誤叫做BUG。并且每一個(gè)軟件工程師都會(huì)有思維的死角,自己不容易發(fā)現(xiàn)自己編寫出來的錯(cuò)誤。所以這個(gè)時(shí)候就需要專門的軟件測試工程師用專業(yè)的測試方式來檢查軟件。檢查該軟件是否符合客戶要求的產(chǎn)品設(shè)計(jì),是否能夠符合大多數(shù)用戶的使用習(xí)慣,如果發(fā)現(xiàn)異常狀態(tài)及時(shí)進(jìn)行處理。目前軟件市場雖然遠(yuǎn)遠(yuǎn)沒有達(dá)到飽和但是各種各樣功能的軟件也層出不窮競爭激烈,對(duì)軟件開發(fā)的質(zhì)量要求也是日益增高。
所以軟件測試是由于軟件開發(fā)編程行業(yè)高度成熟后所形成的產(chǎn)物。從行業(yè)的整體成熟度來講,軟件開發(fā)行業(yè)的整體成熟度更高,人們對(duì)軟件開發(fā)的理解也更為全面深入。故此通常將軟件測試和軟件開發(fā)放在一起做比較??v然二者都屬于產(chǎn)品研發(fā)但通常人們的關(guān)注點(diǎn)有所傾斜。所以經(jīng)常用軟件開發(fā)設(shè)計(jì)工程師的要求來評(píng)價(jià)軟件測試工程師,僅看到軟件測試和軟件開發(fā)相比的弱勢卻看不到優(yōu)勢。
五.發(fā)展趨勢
1.從整體行業(yè)背景看,一方面,在中國的很多軟件企業(yè)存在著重開發(fā)、輕測試的現(xiàn)象,造成日后的軟件產(chǎn)品的質(zhì)量問題頻出,亟待解決;另一方面市場上的軟件測試人員偏少,崗位缺口較大,不少企業(yè)以開發(fā)暫代測試,以作急用。目前軟件測試人才的缺口在30萬人以上。
2.從個(gè)人職業(yè)發(fā)展看,軟件測試人才更強(qiáng)調(diào)崗位的經(jīng)驗(yàn)積累。從業(yè)者在擁有幾年的測試經(jīng)驗(yàn)背景后,可以逐步轉(zhuǎn)向管理或者資深測試工程師,擔(dān)當(dāng)測試經(jīng)理或者部門主管,所以職業(yè)壽命更長。另外,由于國內(nèi)軟件測試工程師人才奇缺,并且一般只有大中型企業(yè)才會(huì)單獨(dú)設(shè)立軟件測試部門,所以很有保障,待遇普遍較高。
咨詢客服,獲取報(bào)價(jià)
立即咨詢