關于軟件測試的一點心得

題注:很多人都認為 Microsoft 是一家軟件開發(fā)公司,而事實上,我們是一家軟件測試公司。在最后產(chǎn)品要發(fā)布的時候,此產(chǎn)品所有相關部門都必須簽字,而測試人員則具有絕對的否決權? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? —— Bil Gates

什么是軟件測試?

就是使用人工或自動手段來運行或測試某個系統(tǒng),并發(fā)現(xiàn)問題,解決問題的過程,其目的在于檢驗它是否滿足規(guī)定的需求或弄清預期結果與實際結果之間的差別。

軟件測試的目的:

測試是為了發(fā)現(xiàn)系統(tǒng)中的錯誤而執(zhí)行程序的過程;好的測試方案在于盡可能的發(fā)現(xiàn)迄今為止尚未發(fā)現(xiàn)的錯誤;成功的測試是發(fā)現(xiàn)了至今為止尚未發(fā)現(xiàn)錯誤的測試。
測試并不僅僅是為了找出錯誤,通過分析錯誤產(chǎn)生的原因和錯誤的發(fā)生趨勢,可以幫助項目管理者發(fā)現(xiàn)當前軟件開發(fā)過程中的缺陷,以便及時改進。
這種分析也能幫助測試人員設計出有針對性的測試方法,改善測試的效率和有效性;沒有發(fā)現(xiàn)錯誤的測試也是有價值的,完整的測試是評定軟件質量的一種方法。

軟件測試的原則

所有的軟件測試都應追溯到需求;應當把“盡早地和不斷地進行軟件測試”作為軟件測試人的座右銘;完全測試是不可能的,測試需要終止;測試無法顯示系統(tǒng)所有潛在的缺陷。

軟件測試對象

軟件測試不等于程序測試,軟件測試貫穿于軟件定義和開發(fā)期間。需求分析,概要設計,詳細設計,以及程序編碼等各個階段所得到的文檔,包括需求規(guī)格說明,概要設計規(guī)格說明,詳細設計規(guī)格說明以及源程序,都是軟件測試的對象。

主要可分為程序(應用軟件整體的功能使用流程)、數(shù)據(jù)(主要針對數(shù)據(jù)庫存放信息以及數(shù)據(jù)的展示)、文檔(需求文檔的邏輯、表達是否準確)、過程(用戶體驗和交互)、硬件(配置是否達標)和網(wǎng)絡(流量需求)測試。?

想以最少的時間和人力,系統(tǒng)地找出軟件中潛在的各種錯誤和缺陷。如果我們成功地實施了測試,我們就能夠發(fā)現(xiàn)軟件中的錯誤。

測試的附帶收獲是,它能夠證明軟件的功能和性能與需求說明相符合。

實施測試收集到的測試結果數(shù)據(jù)為可靠性分析提供了依據(jù)。

測試不能表明軟件中不存在的錯誤,它只能說明軟件中存在錯誤。

優(yōu)秀的軟件測試人員應該具備的素質

軟件測試員的一個基本素質是:打破砂鍋問到底

1、探索精神:軟件測試員不會害怕進入陌生環(huán)境

2、故障排除能手:軟件測試員善于發(fā)現(xiàn)問題的癥結,喜歡猜謎

3、不懈努力:軟件測試員總是在不停嘗試。他們可能會碰到轉瞬即逝或者難以重建的軟件缺陷;他們不會心存僥幸,而是盡一切可能去尋找。

4、創(chuàng)造性:想出富有創(chuàng)意甚至超常的手段來尋找軟件缺陷

5、追求完美:他們力求完美,但是知道某些無法企及時,不去苛求,而是盡力接近目標

6、判斷準確:軟件測試員要決定測試內容、測試時間,以及看到的問題是否算作真正的缺陷

7、老練穩(wěn)重:軟件測試員不害怕壞消息

8、說服力:軟件測試員要善于表達觀點,表明軟件缺陷為何必須修復,并通過實際演示力陳述觀點。

軟件測試關鍵詞:

單元測試、集成測試、系統(tǒng)測試、驗收測試、白盒測試、黑盒測試、灰盒測試

測試階段

單元測試、集成測試、系統(tǒng)測試、驗收測試。是“從小到大”、“由內至外”、“循序漸進”的測試過程,體現(xiàn)了“分而治之”的思想。

單元測試的粒度最小,一般由開發(fā)小組采用白盒方式來測試,主要測試單元是否符合“設計”。

集成測試界于單元測試和系統(tǒng)測試之間,起到“橋梁作用”,一般由開發(fā)小組采用白盒加黑盒的方式來測試,既要驗證“設計”又要驗證“需求”。

系統(tǒng)測試的粒度最大,一般由獨立測試小組采用黑盒方式來測試,主要測試系統(tǒng)是否符合“需求規(guī)格說明書”。

驗收測試與系統(tǒng)測試非常相似,主要區(qū)別是測試人員不同,驗收測試由用戶執(zhí)行。

軟件測試的分類

從是否關系軟件內部結構的角度劃分

1、白盒測試 --- 測試源代碼,主要在系統(tǒng)內部結構中測試

2、黑盒測試 --- 主要在應用端和服務器端,不用接觸系統(tǒng)內部結構

3、灰盒測試 --- 以上兩種的結合

從是否執(zhí)行程序的角度劃分

1、靜態(tài)測試 --- 不用執(zhí)行程序,通過人工或程序分析來證明軟件的正確性

2、動態(tài)測試 --- 通過執(zhí)行程序做分析,測試程序的動態(tài)行為,以證實軟件是否存在問題

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容