軟件測(cè)試是干什么的?它為什么需要這個(gè)崗位?
一、軟件測(cè)試概念
軟件測(cè)試:為了發(fā)現(xiàn)軟件錯(cuò)誤和缺陷(統(tǒng)稱bug)而執(zhí)行程序的一個(gè)過程。
軟件測(cè)試是軟件開發(fā)過程的重要組成部分,是用來確認(rèn)一個(gè)程序的功能或性能是否符合開發(fā)之前所提出的一些要求。軟件測(cè)試就是在軟件投入運(yùn)行前,對(duì)軟件需求分析、設(shè)計(jì)規(guī)格說明和編碼的最終復(fù)審,是軟件質(zhì)量保證的關(guān)鍵步驟。
二、軟件測(cè)試目的
最直觀的目的肯定是通過對(duì)軟件系統(tǒng)或程序的測(cè)試,發(fā)現(xiàn)其中的錯(cuò)誤。
軟件測(cè)試的目的具體如下:
?驗(yàn)證軟件需求和功能是否得到了完整的實(shí)現(xiàn)
盡可能早的發(fā)現(xiàn)軟件中的bug
盡可能多的發(fā)現(xiàn)軟件中的bug
驗(yàn)證軟件是否可以發(fā)布
對(duì)軟件的質(zhì)量、性能、效率做出合理的評(píng)估
預(yù)防用戶使用可能出現(xiàn)的問題
預(yù)防下個(gè)版本可能出現(xiàn)的問題
三、軟件測(cè)試基本原則
所有測(cè)試的標(biāo)準(zhǔn)都是建立在用戶需求之上的,測(cè)試的目的在于發(fā)現(xiàn)系統(tǒng)是否滿足規(guī)定的需求;
“盡早地和不斷地測(cè)試”,越早進(jìn)行測(cè)試,缺陷的修復(fù)成本就會(huì)越低;
程序員應(yīng)避免檢查自己的程序,由第三方進(jìn)行測(cè)試更客觀有效;
窮舉測(cè)試是不可能的;
充分注意測(cè)試中的群集現(xiàn)象,一段程序中一發(fā)現(xiàn)的錯(cuò)誤數(shù)越多,其中存在的錯(cuò)誤概率越大,因此對(duì)發(fā)現(xiàn)錯(cuò)誤較多的程序段,應(yīng)進(jìn)行更深入的測(cè)試;
設(shè)計(jì)測(cè)試用例時(shí)應(yīng)包括合理輸入和不合理輸入,以及各種邊界條件、特殊情況下要制造極端狀態(tài)和意外狀態(tài);
注意回歸測(cè)試的關(guān)聯(lián)性,往往修改一個(gè)錯(cuò)誤會(huì)引起更多錯(cuò)誤;
測(cè)試應(yīng)從“小規(guī)?!遍_始,逐步轉(zhuǎn)向“大規(guī)?!保?/p>
測(cè)試用例式設(shè)計(jì)出來,不是寫出來的,應(yīng)根據(jù)測(cè)試的目的,采用相應(yīng)的方法設(shè)計(jì)測(cè)試用例,從而提高測(cè)試的效率,更多的發(fā)現(xiàn)錯(cuò)誤,提高程序的可靠性;
重視并妥善保存一切測(cè)試過程文檔(測(cè)試計(jì)劃,測(cè)試用例,測(cè)試報(bào)告等);
對(duì)測(cè)試錯(cuò)誤結(jié)果一定要有一個(gè)確認(rèn)的過程
四、軟件測(cè)試主要工作內(nèi)容
軟件測(cè)試主要工作內(nèi)容是驗(yàn)證和確認(rèn),下面分別給出其概念:
1、驗(yàn)證是保證軟件正確地實(shí)現(xiàn)了一些特定功能的一系列活動(dòng),即保證軟件做了你所期望的事情。
(1)確定軟件生存周期中的一個(gè)給定階段的產(chǎn)品是否達(dá)到前階段確立的需求的過程;
(2)程序正確性的形式證明,即采用形式理論證明程序符號(hào)設(shè)一計(jì)規(guī)約規(guī)定的過程;
(3)評(píng)市、審查、測(cè)試、檢查、審計(jì)等各類活動(dòng),或?qū)δ承╉?xiàng)處理、服務(wù)或文件等是否和規(guī)定的需求相一致進(jìn)行判斷和提出報(bào)告。
2、確認(rèn)是一系列的活動(dòng)和過程,目的是想證實(shí)在一個(gè)給定的外部環(huán)境中軟件的邏輯正確性。即保證軟件以正確的方式來做了這個(gè)事件。
(1)靜態(tài)確認(rèn),不在計(jì)算機(jī)上實(shí)際執(zhí)行程序,通過人工或程序分析來證明軟件的正確性;
(2)動(dòng)態(tài)確認(rèn),通過執(zhí)行程序做分析,測(cè)試程序的動(dòng)態(tài)行為,以證實(shí)軟件是否存在問題。
3、軟件測(cè)試的對(duì)象不僅僅是程序測(cè)試,軟件測(cè)試應(yīng)該包括整個(gè)軟件開發(fā)期問各個(gè)階段所產(chǎn)生的文檔,如需求規(guī)格說明、概要設(shè)計(jì)文檔、詳細(xì)設(shè)計(jì)文檔,當(dāng)然軟件測(cè)試的主要對(duì)象還是源程序。
從不同的角度出發(fā),軟件測(cè)試可以劃分為不同的分類:
(1)從是否關(guān)心軟件內(nèi)部結(jié)構(gòu)和具體實(shí)現(xiàn)的角度劃分
A.白盒測(cè)試
B.黑盒測(cè)試
C.灰盒測(cè)試
(2)從是否執(zhí)行程序的角度
A.靜態(tài)測(cè)試
B.動(dòng)態(tài)測(cè)試。
(3)從軟件開發(fā)的過程按階段劃分有
A.單元測(cè)試
B.集成測(cè)試
C.確認(rèn)測(cè)試
D.驗(yàn)收測(cè)試
E.系統(tǒng)測(cè)試
五、軟件測(cè)試方法
軟件測(cè)試一般分為白箱測(cè)試和黑箱測(cè)試。
1、黑箱測(cè)試
黑箱測(cè)試(black-box testing),也稱黑盒測(cè)試,是軟件測(cè)試方法,測(cè)試應(yīng)用程序的功能,而不是其內(nèi)部結(jié)構(gòu)或運(yùn)作。測(cè)試者不需具備應(yīng)用程序的代碼、內(nèi)部結(jié)構(gòu)和編程語言的專門知識(shí)。測(cè)試者只需知道什么是系統(tǒng)應(yīng)該做的事,即當(dāng)鍵入一個(gè)特定的輸入,可得到一定的輸出。測(cè)試案例是依應(yīng)用系統(tǒng)應(yīng)該做的功能,照規(guī)范、規(guī)格或要求等設(shè)計(jì)。測(cè)試者選擇有效輸入和無效輸入來驗(yàn)證是否正確的輸出。
此測(cè)試方法可適合大部分的軟件測(cè)試,例如單元測(cè)試(unit testing)、集成測(cè)試(integration testing)以及系統(tǒng)測(cè)試(system testing)。
2、白箱測(cè)試
白箱測(cè)試(white-box testing,又稱透明盒測(cè)試glass box testing、結(jié)構(gòu)測(cè)試structural testing等)是一個(gè)測(cè)試軟件的方法,測(cè)試應(yīng)用程序的內(nèi)部結(jié)構(gòu)或運(yùn)作,而不是測(cè)試應(yīng)用程序的功能(即黑箱測(cè)試)。在白箱測(cè)試時(shí),以編程語言的角度來設(shè)計(jì)測(cè)試案例。測(cè)試者輸入數(shù)據(jù)驗(yàn)證數(shù)據(jù)流在程序中的流動(dòng)路徑,并確定適當(dāng)?shù)妮敵?,類似測(cè)試電路中的節(jié)點(diǎn)。
白箱測(cè)試可以應(yīng)用于單元測(cè)試(unit testing)、集成測(cè)試(integration testing)和系統(tǒng)的軟件測(cè)試流程,可測(cè)試在集成過程中每一單元之間的路徑,或者主系統(tǒng)跟子系統(tǒng)中的測(cè)試。盡管這種測(cè)試的方法可以發(fā)現(xiàn)許多的錯(cuò)誤或問題,它可能無法檢測(cè)未使用部分的規(guī)范。
六、測(cè)試工程師的職責(zé)
1、參與軟件項(xiàng)目的需求分析,關(guān)注項(xiàng)目需求的可測(cè)性,并能預(yù)先評(píng)估項(xiàng)目的風(fēng)險(xiǎn);
2、負(fù)責(zé)軟件項(xiàng)目的測(cè)試方案制定,設(shè)計(jì)測(cè)試數(shù)據(jù)和測(cè)試用例,并進(jìn)行相互評(píng)審;
3、實(shí)施軟件測(cè)試,完成對(duì)產(chǎn)品的集成測(cè)試與系統(tǒng)測(cè)試,對(duì)產(chǎn)品的功能、性能及其他方面的測(cè)試負(fù)責(zé);
4、對(duì)項(xiàng)目總的問題進(jìn)行跟蹤分析和報(bào)告,推動(dòng)測(cè)試中發(fā)現(xiàn)問題及時(shí)合理地解決;
5、匯總測(cè)試執(zhí)行情況,編制相關(guān)報(bào)告。
七、為什么要軟件測(cè)試這個(gè)崗位
1、現(xiàn)在軟件系統(tǒng)越來越復(fù)雜,一個(gè)軟件系統(tǒng)可能由幾個(gè)幾十個(gè)人一起開發(fā)的,單個(gè)開發(fā)可能只熟悉他所有編寫的模塊,對(duì)于其他有影響的模塊不熟悉,容易產(chǎn)生錯(cuò)誤
2、開發(fā)自己寫的代碼自己不容易檢查出錯(cuò)誤,開發(fā)也有可能遺漏需求功能或者缺失異常處理,需要測(cè)試來幫助他們檢查軟件是否有bug ,是否符合產(chǎn)品設(shè)計(jì),是否符合用戶習(xí)慣,異常是否都已經(jīng)處理,?
3 、現(xiàn)在市場(chǎng)競(jìng)爭(zhēng)激烈,對(duì)軟件開發(fā)的周期和質(zhì)量要求越來越高, 如果沒有測(cè)試,開發(fā)很難再短時(shí)間內(nèi)開發(fā)出客戶滿意的系統(tǒng),導(dǎo)致軟件的經(jīng)濟(jì)效益不好
總之一句話, 如果沒有測(cè)試,軟件的質(zhì)量很難得到保證!軟件測(cè)試要怎么學(xué)呢 可以持續(xù)關(guān)注!
最后:?下方這份完整的軟件測(cè)試視頻學(xué)習(xí)教程已經(jīng)整理上傳完成,朋友們?nèi)绻枰梢宰孕忻赓M(fèi)領(lǐng)取?【保證100%免費(fèi)】

這些資料,對(duì)于【軟件測(cè)試】的朋友來說應(yīng)該是最全面最完整的備戰(zhàn)倉庫,這個(gè)倉庫也陪伴上萬個(gè)測(cè)試工程師們走過最艱難的路程,希望也能幫助到你!
你可以在公眾號(hào):傷心的辣條 ! 自行領(lǐng)取一份216頁軟件測(cè)試工程師面試寶典文檔資料【免費(fèi)的】。以及相對(duì)應(yīng)的視頻學(xué)習(xí)教程免費(fèi)分享!,其中包括了有基礎(chǔ)知識(shí)、Linux必備、Shell、互聯(lián)網(wǎng)程序原理、Mysql數(shù)據(jù)庫、抓包工具專題、接口測(cè)試工具、測(cè)試進(jìn)階-Python編程、Web自動(dòng)化測(cè)試、APP自動(dòng)化測(cè)試、接口自動(dòng)化測(cè)試、測(cè)試高級(jí)持續(xù)集成、測(cè)試架構(gòu)開發(fā)測(cè)試框架、性能測(cè)試、安全測(cè)試等。
現(xiàn)在我邀請(qǐng)你進(jìn)入我們的軟件測(cè)試學(xué)習(xí)交流群:【746506216】,備注“入群”, 大家可以一起探討交流軟件測(cè)試,共同學(xué)習(xí)軟件測(cè)試技術(shù)、面試等軟件測(cè)試方方面面,還會(huì)有免費(fèi)直播課,收獲更多測(cè)試技巧,我們一起進(jìn)階Python自動(dòng)化測(cè)試/測(cè)試開發(fā),走向高薪之路。