軟件測試筆記概要

一、基本概念

軟件測試:

a.實際輸出與預期輸出間的審覈或者比較過程

b.描述一種用來促進鑑定軟件正確性、完整性、安全性和質量的過程

c.在規定的條件下對程序進行操作,以發現程序錯誤,衡量軟件質量,並對其是否能滿足設計要求進行評估的過程

測試原則:

a.測試應該儘早進行,最好在需求階段就開始介入

b.軟件測試應由第三方負責,避免程序員自己檢查

c.設計測試用例時應該考慮合法的輸入、不合法的輸入以及各種邊界條件,特殊情況下還要考慮製造極端狀態和意外狀態

d.應該充分注意測試中羣集現象

e.對錯誤結果應該有個確認過程

f.制定嚴格的測試計劃

g.妥善保存測試計劃、測試用例、出錯統計及最終分析報告,便於維護

測試目標:

a.發現一些可以通過測試避免的開發風險

b.實施測試來降低所發現的風險

c.確定測試何時可以結束

d.在開發項目的過程中將測試看做時一個標準項目

測試對象:

程序、數據、文檔

測試過程:

1.對要執行測試的產品/項目進行分析,確定測試策略,制定測試計劃。計劃被審覈批准後才能轉向第2步。

2.根據測試需求和測試策略設計測試用例。進度壓力不大時應詳細設計,否則也應該保證覆蓋關鍵性測試需求。該測試用例被批准後轉第3步。

3.執行測試。主要搭建測試環境,執行測試用例,同時要進行進度控制、項目協調等工作

4.提交缺陷,主要進行缺陷審覈和驗證等工作

5.消除軟件缺陷。開發經理需要審覈缺陷,進行缺陷分配。程序員完成修改後進入迴歸測試階段。如果滿足“完成準則”,正常結束測試

6.撰寫測試報告。

二、黑盒測試

測試者在不考慮程序內部結構情況下,僅依據程序功能需求規範來設計測試用例。包括等價類劃分和邊界值分析等方法

等價類劃分:

原理:等價類把程序分爲若干部分,從每個部分選擇少許代表性數據當做測試用例。

等價類劃分情況:

有效等價類,即合理的,有意義的輸入數據集合

無效等價類,即不合理的,無意義的輸入數據集合

等價類劃分設計測試用例原則:

1.爲每個等價類規定唯一編號

2.設計一個新的測試用例,使其儘可能覆蓋尚未被覆蓋的有效等價類,重複,直至所有有效類都被覆蓋

3.設計一個新的測試用例,使其僅覆蓋一個尚未被覆蓋的無效等價類,重複直至所有無效等價類都被覆蓋

邊界值分析:

原理:對等價類劃分的進一步補充,通過選擇等價類邊界值的測試用例來發現更多的錯誤,因爲大量錯誤發生在輸入輸出的邊界上,而不是其取值範圍內

原則:

1.如果輸入條件規定了取值範圍,則選擇該範圍的邊界值及剛剛超過和低於邊界值的測試用例

2.如果規定是輸入值的個數,則選擇最大個數、最小個數以及最大+1和最小-1的個數的數

3.如果規定的是輸入域或輸出域的有序集合,則選擇第一個和最後一個作爲測試用例

4.分析規格說明書,找到其他可能的邊界值條件

5.根據規格說明書的每個輸出條件,按第1原則選擇測試用例

三、白盒測試

通過檢查軟件內部的邏輯結構,對軟件中的邏輯路徑進行覆蓋測試;在程序的不同地方設立測試點,檢查程序的狀態,以確定實際運行狀態和預期是否一致

包括語句覆蓋、判定覆蓋、條件覆蓋、判定條件覆蓋、條件組合覆蓋、路徑覆蓋六種。

1.語句覆蓋:

最起碼的結構覆蓋要求,設計足夠多的測試用例,使得每條語句至少被執行一次。

2.判定覆蓋:

又稱分支覆蓋,設計足夠多的測試用例,使得程序中每個判定至少有一次爲真有一次爲假

3.條件覆蓋:

設計足夠多的測試用例,使得判定中每個條件獲得各種可能的結果,即每個條件至少一次真一次假。

4.判定/條件覆蓋

設計足夠多的測試用例,使得判定中每個條件的所有結果至少出現一次,每個判定本身所有結果也至少出現一次。

5.條件組合覆蓋:

設計足夠多的測試用例,使得每個判定中條件結果的所有組合至少出現一次。

6.路徑覆蓋:

設計足夠多的測試用例,覆蓋程序中所有路徑。

四、圈複雜度

概念:衡量代碼複雜程度的標準

圈複雜度越高的危害:

說明代碼的判斷邏輯越複雜,可能質量低

需要更多的測試用例,難以測試和維護

圈複雜度的表現:

分支循環語句多;表達式複雜(含三元表達式)

計算方法:

  1. V(G) = E + 2 -N

E:控制流程圖的邊數;N:控制流程圖的節點數

  2.從起點到終點的路徑條數

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章