軟體測試的方法

2021-10-06 02:08:45 字數 2714 閱讀 8860

黑盒測試

邊界值分析法

判定表方法

因果圖法

正交試驗法

功能圖法

錯誤推測法

從哲學觀點看,分析問題和解決問題的方法有兩種:白盒方法和黑盒方法。

所謂白盒方法就是能夠看清楚事物的內部,即了解事物的內部結構和執行機制,通過剖析事物的內部結構和執行機制,來處理和解決問題。如果我們沒有辦法或不去了解事物的內部結構和執行機制,而把整個事物看成乙個整體——黑盒子,通過分析事物的輸入、輸出以及周邊條件來分析和處理問題,這種方法就是黑盒方法。

語句覆蓋方法的基本思想是設計若干測試用例,執行被測程式,是程式中的每個可執行語句至少被執行一次。

判定覆蓋法的基本思想是設計若干用例,執行被測程式,使得程式中每個判斷的取真分支和取假分支至少經歷一次,即判斷真假值均曾被滿足。乙個判定往往代表著程式的乙個分支,所以判定覆蓋也被稱為分支覆蓋。

條件覆蓋的基本思想是設計若干測試用例,執行被測程式以後,要使每個判斷中每個條件的可能取值至少滿足一次。

判定-條件覆蓋實際上是將前兩種方法結合起來的一種設計方法,它是判定和條件覆蓋設計方法的交集,即設計足夠的測試用例,使得判斷條件中的所有條件可能取值至少執行一次,同時,所有判斷的可能結果至少執行一次。

條件組合覆蓋的基本思想是設計足夠的測試用例,使得判斷中每個條件的所有可能至少出現一次,並且每個判斷本身的判定結果也至少出現一次。它與條件覆蓋的差別是它不是簡單地要求每個條件都出現「真」與「假」兩種結果,而是要求讓這些結果的所有可能組合都至少出現一次。

路徑覆蓋就是設計所有的測試用例,來覆蓋程式中的所有可能的執行路徑。

基本路徑測試法是在程式控制流圖的基礎上,通過分析控制構造的環路複雜性,匯出基本可執行路徑集合,從而設計測試用例的方法。設計出的測試用例要保證被測試程式的每個可執行語句至少被執行一次。

(1)程式的流程控制圖

(2)計算程式環路複雜度

(3)確定基本路徑

(4)準備測試用例,確保基本路徑組中的每一條路徑被執行一次

(5)利用圖形矩陣可以自動實現乙個基本路徑集

等價類劃分法基於對輸人或輸出情況的評估,然後劃分成兩個或更多子集來進行測試的一種方法,即它將所有可能的輸人資料(有效的或無效的)劃分成若

千個等價類,從每個等價類中選擇一定的代表值進行測試。等價類是指某個輸入域的乙個特定的子集合,在該子集合中各個輸入資料對於揭露程式中的錯誤都是等效的。

● 有效等價類是指輸入完全滿足程式輸入的規格說明、有意義的輸入資料所構成的集合,利用有效等價類可以檢驗程式是否滿足規格說明所規定的功能和效能。

● 無效等價類和有效等價類相反,即不滿足程式輸入要求或者無效的輸入資料構成的集合。使用無效等價類,可以測試程式/系統的容錯性一對異常輸入情況的處理。

邊界值分析法就是在某個輸人輸出變數範圍的邊界上,驗證系統功能是否正常執行的測試方法。

(1)如果輸人條件規定了值的範圍,則取剛剛達到這個範圍的邊界值;

(2)如果輸入條件規定了值的個數,則用最大個數、最小個數、比最大個數多1個、比最小個數少1個的數等作為測試資料。

(3)根據規格說明的每乙個輸出條件,分別使用以上兩個規則。

(4)如果程式的規格說明給出的輸入域或輸出域是有序集合(如有序表、順序檔案等),則應選取集合的第乙個和最後乙個元素作為測試資料。

● 條件樁:列出問題的所有條件;

● 動作樁:列出可能針對問題所採取的操作;

● 條件項:針對所列條件的具體賦值,即每個條件可以取真值和假值。

● 動作項:列出在條件項(各種取值)組合情況下應該採取的動作。

● 規則:任何乙個條件組合的特定取值及其相應要執行的操作。在判定表中貫穿條件項和動作項的一列就是一條規則。

判定表制定一般經過下面4個步驟:

(1)列出所有的條件樁和動作樁;

(2)填入條件項;

(3)填入動作項,制定初始判定表;

(4)簡化、合併相似規則或者相同動作。

因果圖法(cause-effectdiagram)借助圖形,著重分析輸入條件的各種組合,每種組合條件就是「因」,它必然有乙個輸出的結果,這就是「果」。

(1)分析軟體規格說明書中的輸入輸出條件並分析出等價類,將每個輸入輸出賦予乙個識別符號;分析規格說明中的語義,通過這些語義來找出相對應的輸入與輸入之間,輸入與輸出之間的關係。

(2)將對應的輸入輸出之間,輸入與輸出之間的關係關聯起來,並將其中不可能的組合情況標註成約束或者限制條件,形成因果圖。

(3)由因果圖轉化成判定表。

(4)將判定表的每一列拿出來作為依據,設計測試用例。

確定影響功能的因子與狀態

選擇乙個合適的正交表

利用正交表構造測試資料集

功能圖法就是使用功能圖形式化地表示程式的功能說明,並機械地生成功能圖的測試用例。功能圖模型由狀態遷移圖和邏輯功能模型組成。其中:

● 狀態遷移圖用於表示輸入資料序列以及相應的輸出資料,由輸入和當前的狀態決定輸出資料和後續狀態;

● 邏輯功能模型用於表示狀態輸入條件和輸出條件之間的對應關係。邏輯功能模型只適合於描述靜態說明,輸出資料僅僅由輸入資料決定。

有經驗的測試人員往往可以根據自己的工作經驗和直覺推測出程式可能存在的錯誤,從而有針對性地進行測試,這就是錯誤推測法(errorguessmethod),或叫探索性測試方法(exploratory test)。 錯誤推測法是測試者根據經驗、知識和直覺來發現軟體錯誤,來推測程式中可能存在的各種錯誤,從而有針對性地進行測試。

軟體測試 軟體測試方法分類

目錄 軟體測試方法分類 一 從是否關心內部結構來看 1.白盒測試 2.黑盒測試 3.灰盒測試 二 從是否執行 看 1.靜態測試 2.動態測試 三 從開發過程級別看 1.單元測試 2.整合測試 3.系統測試 4.驗收測試 四 從執行過程是否需要人工干預來看 1.手工測試 2.自動化測試 五 從測試實施...

軟體測試之 軟體測試方法

1 介紹測試方法 2 區分黑盒測試 灰盒測試和白盒測試 邏輯覆蓋測試 3 區分靜態測試 控制流分析 資料流分析 資訊流分析 同行評審 和動態測試 動態測試工具 4 了解手工測試和自動化測試。在介紹以上軟體測試方法時,需要先了解軟體產品的概念,軟體研發過程中產生的所有文件和 都可以稱之為軟體產品,同時...

軟體測試方法

測試的本質,就是 想盡一切辦法尋找軟體的缺陷!測試是乙個貫穿於整個開發過程的連續過程,從某個意義上說,軟體開發的過程實際上就是測試過程,測試最基本的原理就是比較預期結果是否與實際執行結果相同,如果相同則測試成功,否則測試失敗。測試的工作模式 1 編寫和維護一套詳盡的單元測試用例 2 先構造單元測試和...