一、軟件測(cè)試是干什么的
軟件測(cè)試,是指對(duì)開發(fā)的軟件功能、使用進(jìn)行測(cè)試的過程,軟件測(cè)試的目的主要有:
1、發(fā)現(xiàn)程序中的錯(cuò)誤,好的測(cè)試方案能發(fā)現(xiàn)尚未發(fā)現(xiàn)的錯(cuò)誤,成功的測(cè)試是發(fā)現(xiàn)了至今為止尚未發(fā)現(xiàn)的錯(cuò)誤。
2、除了找出錯(cuò)誤,軟件測(cè)試的作用還有一個(gè),是通過分析錯(cuò)誤產(chǎn)生的原因和錯(cuò)誤的發(fā)生趨勢(shì),幫助軟件項(xiàng)目管理者發(fā)現(xiàn)當(dāng)前軟件開發(fā)過程中的缺陷,以便及時(shí)改進(jìn)。這種分析也能幫助測(cè)試人員設(shè)計(jì)出有針對(duì)性的測(cè)試方法,改善測(cè)試的效率和有效性。
3、另外,根據(jù)測(cè)試目的的不同,還有回歸測(cè)試、壓力測(cè)試、性能測(cè)試等,分別為了檢驗(yàn)修改或優(yōu)化過程是否引發(fā)新的問題、軟件所能達(dá)到處理能力和是否達(dá)到預(yù)期的處理能力等。
二、軟件測(cè)試的原則有哪些
進(jìn)行軟件測(cè)試時(shí),要注意遵循以下幾大原則:
1、測(cè)試應(yīng)該盡早進(jìn)行,最好在需求階段就開始介入,因?yàn)樽顕?yán)重的錯(cuò)誤不外乎是系統(tǒng)不能滿足用戶的需求。
2、程序員應(yīng)該避免檢查自己的程序,軟件測(cè)試應(yīng)該由第三方來負(fù)責(zé)。
3、設(shè)計(jì)測(cè)試用例時(shí)應(yīng)考慮到合法的輸入和不合法的輸入以及各種邊界條件,特殊情況下還要制造極端狀態(tài)和意外狀態(tài),如網(wǎng)絡(luò)異常中斷、電源斷電等。
4、應(yīng)該充分注意測(cè)試中的群集現(xiàn)象。
5、對(duì)錯(cuò)誤結(jié)果要進(jìn)行一個(gè)確認(rèn)過程。一般由A測(cè)試出來的錯(cuò)誤,一定要由B來確認(rèn)。嚴(yán)重的錯(cuò)誤可以召開評(píng)審會(huì)議進(jìn)行討論和分析,對(duì)測(cè)試結(jié)果要進(jìn)行嚴(yán)格地確認(rèn),是否真的存在這個(gè)問題以及嚴(yán)重程度等。
6、制定嚴(yán)格的測(cè)試計(jì)劃。一定要制定測(cè)試計(jì)劃,并且要有指導(dǎo)性。測(cè)試時(shí)間安排盡量寬松,不要希望在極短的時(shí)間內(nèi)完成一個(gè)高水平的測(cè)試。
7、妥善保存測(cè)試計(jì)劃、測(cè)試用例、出錯(cuò)統(tǒng)計(jì)和最終分析報(bào)告,為維護(hù)提供方便。
三、軟件測(cè)試的方法有哪些
軟件測(cè)試有多種不同的方法,其中常用的四種測(cè)試方法分別是:
1、靜態(tài)測(cè)試
靜態(tài)測(cè)試方式指軟件代碼的靜態(tài)分析測(cè)驗(yàn),此類過程中應(yīng)用數(shù)據(jù)較少,主要過程為通過軟件的靜態(tài)性測(cè)試(即人工推斷或計(jì)算機(jī)輔助測(cè)試)測(cè)試程序中運(yùn)算方式、算法的正確性,進(jìn)而完成測(cè)試過程,此類測(cè)試的優(yōu)點(diǎn)在于能夠消耗較短時(shí)間、較少資源完成對(duì)軟件、軟件代碼的測(cè)試,能夠較為明顯地發(fā)現(xiàn)此類代碼中出現(xiàn)的錯(cuò)誤。靜態(tài)測(cè)試方法適用范圍較大,尤其適用于較大型的軟件測(cè)試。
2、動(dòng)態(tài)測(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),只有如此才能于使用過程中發(fā)現(xiàn)軟件缺陷,進(jìn)而對(duì)此類缺陷進(jìn)行修復(fù)。目前動(dòng)態(tài)測(cè)試過程中可包括兩類因素,即被測(cè)試軟件與測(cè)試中所需數(shù)據(jù),兩類因素決定動(dòng)態(tài)測(cè)試正確展開、有效展開。
3、黑盒測(cè)試
黑盒測(cè)試,顧名思義,就是將軟件測(cè)試的環(huán)境模擬為不可見的“黑盒”。通過數(shù)據(jù)輸入觀察數(shù)據(jù)輸出,檢查軟件內(nèi)部功能是否正常。測(cè)試展開時(shí),數(shù)據(jù)輸入軟件中,等待數(shù)據(jù)輸出。數(shù)據(jù)輸出時(shí)若與預(yù)計(jì)數(shù)據(jù)一致,則證明該軟件通過測(cè)試,若數(shù)據(jù)與預(yù)計(jì)數(shù)據(jù)有出入,即便出入較小亦證明軟件程序內(nèi)部出現(xiàn)問題,需盡快解決。
4、白盒測(cè)試
白盒測(cè)試相對(duì)于黑盒測(cè)試而言具有一定透明性,原理為根據(jù)軟件內(nèi)部應(yīng)用、源代碼等對(duì)產(chǎn)品內(nèi)部工作過程進(jìn)行調(diào)試。測(cè)試過程中常將其與軟件內(nèi)部結(jié)構(gòu)協(xié)同展開分析,最大優(yōu)點(diǎn)即為其能夠有效解決軟件內(nèi)部應(yīng)用程序出現(xiàn)的問題,測(cè)試過程中常將其與黑盒測(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í)加以修改。