測試資料生成(是什麼、如何操作、示例、工具)
作為測試人員,你可能會想到:“設計測試用例已經夠難了,為什麼還要在意像測試資料這樣的小事?”本指南將概述測試資料,解釋其重要性,並向你展示一些有效的建立方法。
軟體測試中測試資料是什麼意思?
“測試資料”是指在測試過程中輸入軟體應用程式的實際資訊。它代表在測試期間影響或受軟體執行影響的資訊。正向測試使用測試資料來確保函式為指定的輸入提供預期結果,而負向測試使用測試資料來評估程式對異常情況的響應。
如果可用測試資料未涵蓋所有可行的測試用例,則程式的質量可能會受到影響。
這有什麼重要性?
測試資料至關重要,此示例說明了原因。假設你對移動應用程式測試感興趣。在測試移動應用程式時,重要的是使用各種輸入資料,包括不同檔案格式的圖片、受支援和不受支援格式的音樂檔案、影片、聯絡人檔案和示例郵件。如果沒有這些資料,測試人員將無法繼續進行測試,也無法獲得預期的結果。
測試資料型別
有多種方法可以對測試資料進行分類。
使用“空白檔案”或“無資料”可以確保應用程式能夠處理錯誤並丟擲正確的錯誤,因為程式沒有獲得任何可處理的資訊。
“有效的測試資料集”是可以被軟體讀取和處理的一組檔案。作為輸入使用時,它們應該按預期工作。
“無效的測試資料集”是一組不受支援的檔案格式,旨在驗證應用程式是否可以讀取它們,並在遇到錯誤時顯示準確的錯誤訊息。
負載、效能和壓力測試需要大量的資料,這些資料不能在執行期間動態生成,而必須提前準備。例如,要載入應用程式,測試人員可能需要多達 10,000 個唯一格式的檔案,其中任何一個檔案都可能是由自動化指令碼或預先存在的測試資料生成的。
測試資料旨在透過包含具有所有可能的邊界值組合的資料來確保滿足所有邊界條件。例如,對於接受 2 到 20 之間的整數的文字框,輸入 2(最小值)和 20(最大值)。這些值是軟體可以處理的限制,如果測試人員超過這些限制,程式將崩潰。
理想的測試資料集將包含所有可能的組合資料,從而不可能錯過任何重大缺陷。
“測試資料生成”究竟是什麼?為什麼在測試執行之前建立測試資料很重要。
眾所周知,測試會生成和使用大量資料。測試的初始條件由測試中使用的資料定義,測試人員透過此資料修改程式。它在大多數功能測試中扮演著重要角色。
根據測試環境的性質,你可能需要從頭開始開發測試資料(這很可能是這種情況),或者只選擇適合你的測試用例的測試資料。
通常,測試資料是根據將要使用的測試用例建立的。
測試資料可以生成:
手動
從生產環境大量轉移資料到測試環境
從舊客戶端系統大量複製測試資料
自動化測試資料生成工具
如果不首先建立樣本資料,就無法管理測試資料,這應該在實際測試執行開始之前完成。因為許多測試環境需要廣泛的預處理過程或冗長的測試環境配置才能生成測試資料。此外,如果你等到測試執行階段才建立必要的測試資料,則有可能會超出時間安排。
下面提供了各種測試型別及其各自的資料需求的一些推測。
白盒測試的測試資料
白盒測試中的測試資料管理是從對原始碼本身的深入分析中獲得的。選擇測試資料時,請考慮以下事項:
最好測試程式原始碼中儘可能多的路徑,因此可以建立測試資料來確保已探索程式碼中的每條路徑。
測試每條可能的程式執行路徑,並且可以最佳化測試資料以涵蓋儘可能多的用例。
負面 API 測試:
可能使用了不正確的邏輯型別來呼叫測試資料中的多個方法。
在測試過程中,可能使用了不正確的引數組合來呼叫程式的方法。
效能測試的測試資料
效能測試的目的是確定系統從施加的負載中恢復的速度。這種測試並非旨在查詢錯誤,而是旨在消除瓶頸。
效能測試的一個關鍵方面是,用於模擬生產條件的資料應儘可能接近實際生產資料。好的,使用真實資料進行測試很棒,但是我該如何獲得一些資料呢?這是一個自然出現的問題。答案直接來自最瞭解這個問題的人:客戶。他們或許能夠與你分享他們已經擁有的資料,如果他們沒有,他們或許能夠透過評論真實世界的資料如果存在會是什麼樣子來幫助你。
在維護測試專案中,通常的做法是將生產資料複製到測試平臺。敏感的客戶資訊(例如社會安全號碼、信用卡號碼、銀行賬戶詳細資訊等)應在複製前進行匿名化(混淆)。
安全測試的測試資料
測試資訊系統中的安全漏洞稱為滲透測試。為了對軟體安全進行徹底評估,有必要收集以下資料:
所有客戶資訊都將被嚴格保密,絕不會洩露給第三方。例如,如果你的應用程式使用 SSL 加密資料,則可以建立一組測試資料來驗證加密是否正確執行。
檢查系統的可靠性以確保其完整性。要建立有用的測試資料,首先需要檢查體系結構、程式、資料來源和檔案。
“身份驗證”是指用於驗證使用者宣告身份的步驟。測試資料的目的是確保只有授權使用者才能訪問系統,測試資料可以建立為使用者名稱和密碼的唯一組合。
授權過程會傳達使用者擁有的許可權。為了確保只有擁有必要許可權的使用者才能執行特定活動,測試資料可能包括使用者、角色和活動的唯一組合。
黑盒測試的測試資料
在執行黑盒測試時,測試人員無權訪問原始碼。你可以在功能測試用例中使用滿足以下條件的測試資料:
驗證系統在沒有輸入時如何響應
驗證系統對已知良好測試資料的反應
無效測試資料 驗證系統對無效測試資料的反應
驗證在給出不正確資料時測試系統會發生什麼。
滿足邊界值條件的測試資料 - 邊界條件資料集
驗證等價劃分中的等價劃分資料集的測試資料。
決策表資料集中驗證決策表測試策略的測試資料。
狀態轉換測試資料集中用於狀態轉換測試策略的測試資料。
與你的用例相對應的用於測試目的的資料。
自動生成測試資料的工具
您可以使用多種自動化測試資料生成工具來生成各種型別的資料。下面列出了一些此類工具的示例:
DTM測試資料生成器是一個高度可定製的應用程式,可以生成資料和表(檢視、過程等),這對於資料庫測試(效能測試、質量保證測試、負載測試或可用性測試)非常有益。
Banner Software的Datatect是一個SQL資料生成器,它可以建立各種格式的測試資料,包括ASCII平面檔案和各種關係資料庫管理系統(RDBMS)的原生格式,包括Oracle、Sybase、SQL Server和Informix。
結論
高質量的測試資料對於識別和修復操作中的根本問題至關重要。在多階段產品開發週期的每個階段,都應重新評估測試資料的選擇。因此,請確保定期監控它。