題注:很多人都認(rèn)為 Microsoft 是一家軟件開發(fā)公司,而事實(shí)上,我們是一家軟件測(cè)試公司。在最后產(chǎn)品要發(fā)布的時(shí)候,此產(chǎn)品所有相關(guān)部門都必須簽字,而測(cè)試人員則具有絕對(duì)的否決權(quán)? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? —— Bil Gates
什么是軟件測(cè)試?
就是使用人工或自動(dòng)手段來運(yùn)行或測(cè)試某個(gè)系統(tǒng),并發(fā)現(xiàn)問題,解決問題的過程,其目的在于檢驗(yàn)它是否滿足規(guī)定的需求或弄清預(yù)期結(jié)果與實(shí)際結(jié)果之間的差別。
軟件測(cè)試的目的:
測(cè)試是為了發(fā)現(xiàn)系統(tǒng)中的錯(cuò)誤而執(zhí)行程序的過程;好的測(cè)試方案在于盡可能的發(fā)現(xiàn)迄今為止尚未發(fā)現(xiàn)的錯(cuò)誤;成功的測(cè)試是發(fā)現(xiàn)了至今為止尚未發(fā)現(xiàn)錯(cuò)誤的測(cè)試。
測(cè)試并不僅僅是為了找出錯(cuò)誤,通過分析錯(cuò)誤產(chǎn)生的原因和錯(cuò)誤的發(fā)生趨勢(shì),可以幫助項(xiàng)目管理者發(fā)現(xiàn)當(dāng)前軟件開發(fā)過程中的缺陷,以便及時(shí)改進(jìn)。
這種分析也能幫助測(cè)試人員設(shè)計(jì)出有針對(duì)性的測(cè)試方法,改善測(cè)試的效率和有效性;沒有發(fā)現(xiàn)錯(cuò)誤的測(cè)試也是有價(jià)值的,完整的測(cè)試是評(píng)定軟件質(zhì)量的一種方法。
軟件測(cè)試的原則
所有的軟件測(cè)試都應(yīng)追溯到需求;應(yīng)當(dāng)把“盡早地和不斷地進(jìn)行軟件測(cè)試”作為軟件測(cè)試人的座右銘;完全測(cè)試是不可能的,測(cè)試需要終止;測(cè)試無法顯示系統(tǒng)所有潛在的缺陷。
軟件測(cè)試對(duì)象
軟件測(cè)試不等于程序測(cè)試,軟件測(cè)試貫穿于軟件定義和開發(fā)期間。需求分析,概要設(shè)計(jì),詳細(xì)設(shè)計(jì),以及程序編碼等各個(gè)階段所得到的文檔,包括需求規(guī)格說明,概要設(shè)計(jì)規(guī)格說明,詳細(xì)設(shè)計(jì)規(guī)格說明以及源程序,都是軟件測(cè)試的對(duì)象。
主要可分為程序(應(yīng)用軟件整體的功能使用流程)、數(shù)據(jù)(主要針對(duì)數(shù)據(jù)庫存放信息以及數(shù)據(jù)的展示)、文檔(需求文檔的邏輯、表達(dá)是否準(zhǔn)確)、過程(用戶體驗(yàn)和交互)、硬件(配置是否達(dá)標(biāo))和網(wǎng)絡(luò)(流量需求)測(cè)試。?
想以最少的時(shí)間和人力,系統(tǒng)地找出軟件中潛在的各種錯(cuò)誤和缺陷。如果我們成功地實(shí)施了測(cè)試,我們就能夠發(fā)現(xiàn)軟件中的錯(cuò)誤。
測(cè)試的附帶收獲是,它能夠證明軟件的功能和性能與需求說明相符合。
實(shí)施測(cè)試收集到的測(cè)試結(jié)果數(shù)據(jù)為可靠性分析提供了依據(jù)。
測(cè)試不能表明軟件中不存在的錯(cuò)誤,它只能說明軟件中存在錯(cuò)誤。
優(yōu)秀的軟件測(cè)試人員應(yīng)該具備的素質(zhì)
軟件測(cè)試員的一個(gè)基本素質(zhì)是:打破砂鍋問到底
1、探索精神:軟件測(cè)試員不會(huì)害怕進(jìn)入陌生環(huán)境
2、故障排除能手:軟件測(cè)試員善于發(fā)現(xiàn)問題的癥結(jié),喜歡猜謎
3、不懈努力:軟件測(cè)試員總是在不停嘗試。他們可能會(huì)碰到轉(zhuǎn)瞬即逝或者難以重建的軟件缺陷;他們不會(huì)心存僥幸,而是盡一切可能去尋找。
4、創(chuàng)造性:想出富有創(chuàng)意甚至超常的手段來尋找軟件缺陷
5、追求完美:他們力求完美,但是知道某些無法企及時(shí),不去苛求,而是盡力接近目標(biāo)
6、判斷準(zhǔn)確:軟件測(cè)試員要決定測(cè)試內(nèi)容、測(cè)試時(shí)間,以及看到的問題是否算作真正的缺陷
7、老練穩(wěn)重:軟件測(cè)試員不害怕壞消息
8、說服力:軟件測(cè)試員要善于表達(dá)觀點(diǎn),表明軟件缺陷為何必須修復(fù),并通過實(shí)際演示力陳述觀點(diǎn)。
軟件測(cè)試關(guān)鍵詞:
單元測(cè)試、集成測(cè)試、系統(tǒng)測(cè)試、驗(yàn)收測(cè)試、白盒測(cè)試、黑盒測(cè)試、灰盒測(cè)試
測(cè)試階段
單元測(cè)試、集成測(cè)試、系統(tǒng)測(cè)試、驗(yàn)收測(cè)試。是“從小到大”、“由內(nèi)至外”、“循序漸進(jìn)”的測(cè)試過程,體現(xiàn)了“分而治之”的思想。
單元測(cè)試的粒度最小,一般由開發(fā)小組采用白盒方式來測(cè)試,主要測(cè)試單元是否符合“設(shè)計(jì)”。
集成測(cè)試界于單元測(cè)試和系統(tǒng)測(cè)試之間,起到“橋梁作用”,一般由開發(fā)小組采用白盒加黑盒的方式來測(cè)試,既要驗(yàn)證“設(shè)計(jì)”又要驗(yàn)證“需求”。
系統(tǒng)測(cè)試的粒度最大,一般由獨(dú)立測(cè)試小組采用黑盒方式來測(cè)試,主要測(cè)試系統(tǒng)是否符合“需求規(guī)格說明書”。
驗(yàn)收測(cè)試與系統(tǒng)測(cè)試非常相似,主要區(qū)別是測(cè)試人員不同,驗(yàn)收測(cè)試由用戶執(zhí)行。
軟件測(cè)試的分類
從是否關(guān)系軟件內(nèi)部結(jié)構(gòu)的角度劃分
1、白盒測(cè)試 --- 測(cè)試源代碼,主要在系統(tǒng)內(nèi)部結(jié)構(gòu)中測(cè)試
2、黑盒測(cè)試 --- 主要在應(yīng)用端和服務(wù)器端,不用接觸系統(tǒng)內(nèi)部結(jié)構(gòu)
3、灰盒測(cè)試 --- 以上兩種的結(jié)合
從是否執(zhí)行程序的角度劃分
1、靜態(tài)測(cè)試 --- 不用執(zhí)行程序,通過人工或程序分析來證明軟件的正確性
2、動(dòng)態(tài)測(cè)試 --- 通過執(zhí)行程序做分析,測(cè)試程序的動(dòng)態(tài)行為,以證實(shí)軟件是否存在問題