軟件測試怎么入門?
網(wǎng)友解答: 軟件測試是軟件工程的重要過程之一,是保證軟件質(zhì)量的重要手段。不同的軟件項(xiàng)目類型,軟件測試占整個項(xiàng)目開發(fā)工作量的15%到90%不等。例如普通數(shù)據(jù)分析軟件,測試投入的工作量比較小
軟件測試是軟件工程的重要過程之一,是保證軟件質(zhì)量的重要手段。不同的軟件項(xiàng)目類型,軟件測試占整個項(xiàng)目開發(fā)工作量的15%到90%不等。例如普通數(shù)據(jù)分析軟件,測試投入的工作量比較小,但對于飛行控制、核電管理等軟件測試所投入的精力遠(yuǎn)大于開發(fā)投入。軟件測試的重要性可見一斑。
現(xiàn)在軟件測試的書籍非常多,有介紹測試?yán)碚摰?、有介紹測試過程的、有介紹自動化測試的等等。軟件測試想入門可以先選擇2到3本好點(diǎn)的書,從閱讀開始。
這里我們先介紹一下軟件測試的基礎(chǔ)知識。
什么是軟件測試廣義的軟件測試說白了就是主動地找軟件的問題,包括需求問題、功能問題、可用性問題、可靠性、邏輯問題、健壯性、性能等等。
為什么進(jìn)行軟件測試軟件行業(yè)發(fā)展初期,軟件測試的活基本是由開發(fā)工程師自己干的,測試方法及過程比較隨意。但是隨著軟件項(xiàng)目規(guī)模越來越大,越來越復(fù)雜,軟件故障越來越難以避免,給企業(yè)和個人帶來沉痛損失的案例也屢見不鮮,下面僅舉兩例:
1962年美國水手1號飛船發(fā)射后262秒就不得不摧毀掉,后來分析是因?yàn)榇a中漏敲了一個破折號。
2009年,豐田因雷克薩斯ES350突然剎車失靈,導(dǎo)致車上4名乘客全部罹難。事后豐田不得不在全球召回900萬輛汽車,本次召回給豐田帶來的經(jīng)濟(jì)損失達(dá)30億美元。后來據(jù)查是防抱死延時軟件故障所致。
因此,對軟件產(chǎn)品主動進(jìn)行認(rèn)真測試,盡可能地查出可能的問題和漏洞,已經(jīng)是現(xiàn)代軟件開發(fā)必做的重要工作。通過軟件測試將軟件故障消滅在發(fā)布之前,這是所有軟件從業(yè)人員的共同心愿。
靜態(tài)測試和動態(tài)測軟件測試有動態(tài)測試和靜態(tài)測試兩種方法。
靜態(tài)測試就是通過閱讀軟件的需求 、設(shè)計、編碼等靜態(tài)文檔,通過分析靜態(tài)文字或圖表來發(fā)現(xiàn)需求、設(shè)計、編碼存在的問題。
可見靜態(tài)測試的主要方式就是同級評審,其好處是可以在軟件需求階段、設(shè)計階段和編碼期間就可以提前進(jìn)行檢查分析,及早發(fā)現(xiàn)存在的問題。一般而言,問題發(fā)現(xiàn)越早,修復(fù)成本越低。從這個角度看,靜態(tài)測試比動態(tài)測試具有更高的性價比。
動態(tài)測試就是等軟件開發(fā)完畢,測試工程師安裝好軟件,在不同的環(huán)境、不同的輸入的情況下,運(yùn)行并測試軟件的功能、可用性、性能等。我們通常所說的軟件測試就是指動態(tài)測試。
單元測試、集成測試、用戶測試、阿爾法測試軟件系統(tǒng)根據(jù)功能和系統(tǒng)內(nèi)部結(jié)構(gòu)可以劃分為一系列的軟件模塊(或子系統(tǒng)),具體開發(fā)是一個模塊一個模塊地實(shí)現(xiàn)的(當(dāng)然多個模塊可以并行開發(fā))。 每實(shí)現(xiàn)一個模塊,開發(fā)人員都要認(rèn)真地對所開發(fā)的模塊進(jìn)行測試,這種主要由開發(fā)工程師執(zhí)行的模塊測試,我們稱之為單元測試。
單元測試期間一般要開發(fā)專門的測試主程序(有時還要開發(fā)測試樁程序)。
整個系統(tǒng)開發(fā)完畢后,由測試團(tuán)隊(duì)對軟件進(jìn)行整體的測試,我們稱之為集成測試。
用戶拿到我們開發(fā)的軟件產(chǎn)品或系統(tǒng)后,他們一般也要進(jìn)行獨(dú)立的測試,這種類型的測試稱之為用戶測試。
如果認(rèn)為軟件基本合格了,企業(yè)可以將軟件進(jìn)行小范圍發(fā)布(如企業(yè)內(nèi)部、免費(fèi)用戶群等),讓大家測試用并反饋發(fā)現(xiàn)的問題,這個過程叫阿爾法測試。
單元測試、集成測試都需要事先進(jìn)行規(guī)劃,有明確的流程要求。
集成測試流程集成測試與軟件開發(fā)是軟件開發(fā)過程的兩條并行線程,其流程如下圖所示:
如上圖所示,集成測試可劃分為測試分析、測試設(shè)計(包括測試準(zhǔn)備)、測試執(zhí)行三大步驟。
測試分析階段對應(yīng)系統(tǒng)的需求分析,它將軟件系統(tǒng)進(jìn)行功能拆分,分成不同級別的多個功能點(diǎn),這些功能點(diǎn)是隨后測試設(shè)計的基礎(chǔ)。
測試設(shè)計在測試分析的基礎(chǔ)上為每個功能點(diǎn)設(shè)計多個測試用例。有些用例重點(diǎn)測試基本功能,有些用例重點(diǎn)測試錯誤響應(yīng),有些用例測試邊界條件,有些用例測試性能等等。測試數(shù)據(jù)的收集準(zhǔn)備是測試設(shè)計的重要工作內(nèi)容,也往往是測試過程的難點(diǎn)所在。
集成測試執(zhí)行階段使用測試設(shè)計生成的測試用例和測試數(shù)據(jù),對軟件逐個測試用例進(jìn)行測試。發(fā)現(xiàn)軟件故障應(yīng)按公司模板或使用專門的故障跟蹤工具進(jìn)行規(guī)范化的故障跟蹤記錄。
一輪測試完畢后,開發(fā)工程師應(yīng)該根據(jù)故障記錄進(jìn)行問題重現(xiàn)、分析、修復(fù),并認(rèn)真記錄好修復(fù)信息。
通常軟件提交給用戶前需要進(jìn)行三輪以上的集成測試。
實(shí)際工作中我們常常發(fā)現(xiàn),按正規(guī)的集成測試流程走也有一定的問題,就是工作量大,投入時間長,測試效果往往不好。大道無形,我們不妨根據(jù)項(xiàng)目和企業(yè)自身人力資源特點(diǎn),將集成測試和流程測試、Bug Hunting測試等多種測試方式結(jié)合起來使用,效果會更好一些,
測試工程師的職業(yè)規(guī)劃大的軟件公司通常有專門的測試團(tuán)隊(duì),測試團(tuán)隊(duì)常年累月負(fù)責(zé)軟件的測試分析、測試設(shè)計、集成測試工作。
好的測試工程師需要熟悉目標(biāo)軟件所在行業(yè)的專業(yè)背景知識,需要對項(xiàng)目需求細(xì)節(jié)有深入透徹的把握,需要有對軟件內(nèi)在邏輯的直覺領(lǐng)悟,也需要足夠的耐性、細(xì)心和認(rèn)真負(fù)責(zé)的工作態(tài)度。加班加點(diǎn)是軟件測試人員的家常便飯,團(tuán)隊(duì)沖突也是測試團(tuán)隊(duì)要面對的??停?dāng)一個好的測試工程師的確不容易。
小規(guī)模軟件公司,往往沒有專門的測試團(tuán)隊(duì),測試工作往往由開發(fā)工程師、現(xiàn)場工程師輪流擔(dān)當(dāng)。
測試工程師們在測試工作得心應(yīng)手之后,結(jié)合自身特點(diǎn),學(xué)習(xí)掌握一些開發(fā)技能,對自己職業(yè)發(fā)展會有幫助。
網(wǎng)友解答:新手期又叫入門,就是剛剛接觸這個東西,不太熟。無論進(jìn)入哪個行業(yè),我們都要經(jīng)歷一個新手期。這個時候的我們,對該行業(yè)一竅不通。你在軟件測試新手期嗎?軟件測試新手教程免費(fèi)版送給需要的你們。
軟件測試初識與職業(yè)發(fā)展 https://pan.baidu.com/s/1QJ18PQcO5185P-sV1bx7lg
軟件測試環(huán)境配置與管理 https://pan.baidu.com/s/1rqXPaitRBY3KbS1UjwuVBw
數(shù)據(jù)庫測試技術(shù) https://pan.baidu.com/s/1MqoWu8lSl5bU3fCC5z5Wyg
測試編程技術(shù) https://pan.baidu.com/s/1xU7X8Aup8HzAn7fUrZHEow
應(yīng)用程序測試技術(shù) https://pan.baidu.com/s/14zqd8J-s_Yaf4I-Akd6Ybw
測試進(jìn)階技術(shù) https://pan.baidu.com/s/1bNGOHtBDNZcEtp7Yzs2npQ
移動端測試技術(shù) https://pan.baidu.com/s/1nAI4c_liCGEkC4nx66gGqA
軟件測試學(xué)習(xí)的新手期應(yīng)該注意什么?
1. 關(guān)于書籍
很多朋友是打算買書學(xué)軟件測試的,買書的時候,大家通常會有這么一個想法,我多買幾本軟件測試入門書籍,多看看是不是軟件測試會學(xué)得比較好呢?其實(shí),你會發(fā)現(xiàn)書你買了,但是看沒看又是一回事,軟件測試入門書籍挑1-2本好的就行,并且學(xué)習(xí)每個階段可能要看的軟件測試書籍不同,所以不要一次性買太多的軟件測試書籍。
2. 關(guān)于視頻
很多朋友是打算靠視頻突破軟件測試學(xué)習(xí)的,視頻一定要選擇質(zhì)量上乘的,還有就是軟件測試講課的老師水平要高,視頻的播放效果要好,比如老師吐字不清晰,這很影響你的軟件測試學(xué)習(xí),所以不是隨隨便便下幾個軟件測試入門視頻,看看就可以學(xué)好軟件測試的。
3. 關(guān)于培訓(xùn)
學(xué)軟件測試切勿把費(fèi)用放在考慮的首位,是不是能夠?qū)W到真正有用的知識技能,并找到滿意工作,才是學(xué)習(xí)軟件測試應(yīng)該注意的關(guān)注點(diǎn)。目前來說,軟件測試培訓(xùn)是初步學(xué)軟件測試朋友最佳的學(xué)習(xí)方式選擇,不過一定要選擇一個靠譜的軟件測試培訓(xùn)機(jī)構(gòu)。