每個人都知道測試是一個產生和消耗大量數據的過程。測試中使用的數據描述了測試的初始條件,并代表測試人員通過其影響軟件的介質。它是大多數功能測試的關鍵部分。但實際上測試數據是什么?為什么用它?也許你會想知道'設計測試用例足夠具有挑戰性,然后為什么要像測試數據一樣煩惱'本教程的目的是向您介紹測試數據,它的重要性,并提供快速生成測試數據的實用技巧和竅門。那么,讓我們開始吧!
什么是測試數據?它為什么如此重要?
測試數據實際上是給予軟件程序的輸入。它表示影響或受特定模塊執行影響的數據。一些數據可用于正測試,通常用于驗證給定函數的給定輸入集產生預期結果。其他數據可用于否定測試,以測試程序處理異常,極端,異?;蛞馔廨斎氲哪芰?。設計不良的測試數據可能無法測試所有可能妨礙軟件質量的測試場景。
什么是測試數據生成?為什么應該在測試執行之前創建測試數據?
根據您的測試環境,您可能需要創建測試數據(大多數時間)或至少為您的測試用例確定合適的測試數據(測試數據是否已創建)。
通常,測試數據與其打算用于的測試用例同步創建。
可以生成測試數據 -
? 手動
? 從生產到測試環境的大量數據副本
? 從舊版客戶端系統批量復制測試數據
? 自動測試數據生成工具
通常,在開始測試執行之前應生成樣本數據,因為很難執行測試數據管理。由于在許多測試環境中創建測試數據需要許多前置步驟或測試環境配置,這非常耗時。此外,如果測試數據生成做,而你是在測試執行階段,你可能會超過你的測試的最后期限。
下面介紹幾種測試類型以及有關其測試數據需求的一些建議。
白盒測試的測試數據
在白盒測試中,測試數據源自對待測試代碼的直接檢查??梢酝ㄟ^考慮以下因素來選擇測試數據:
? 希望覆蓋盡可能多的分支; 可以生成測試數據,使得程序源代碼中的所有分支至少被測試一次
? 路徑測試:程序源代碼中的所有路徑至少測試一次 - 測試數據可以設計為涵蓋盡可能多的情況
? 負Api測試:
o 測試數據可能包含用于調用不同方法的無效參數類型
o 測試數據可能包含用于調用程序方法的無效參數組合
性能測試的測試數據
性能測試 是一種測試類型,用于確定系統在特定工作負載下的響應速度。此類測試的目標不是發現錯誤,而是消除瓶頸。性能測試的一個重要方面是使用的樣本數據集必須非常接近生產中使用的“真實”或“實時”數據。出現以下問題:“好的,用真實數據測試是好的,但我如何獲得這些數據?” 答案非常簡單:從了解最好的人 - 客戶。他們可能能夠提供他們已有的一些數據,或者,如果他們沒有現有的數據集,他們可以通過提供有關現實世界數據的樣子的反饋來幫助您。萬一你在維護測試項目,您可以將數據從生產環境復制到測試臺。在制作副本時,匿名(加密)敏感的客戶數據(例如社會保險號,信用卡號,銀行詳細信息等)是一種很好的做法。
安全測試的測試數據
安全測試是確定信息系統是否保護數據免受惡意×××的過程。為完全測試軟件安全性而需要設計的數據集必須包含以下主題:
? 保密:客戶提供的所有信息都嚴格保密,不與任何外部人員共享。舉個簡短的例子,如果應用程序使用SSL,您可以設計一組測試數據來驗證加密是否正確完成。
? 完整性:確定系統提供的信息是否正確。要設計合適的測試數據,您可以從深入了解設計,代碼,數據庫和文件結構開始。
? 身份驗證:表示建立用戶身份的過程。測試數據可以設計為用戶名和密碼的不同組合,其目的是檢查只有授權人員才能訪問軟件系統。
? 授權:告知特定用戶的權限。測試數據可能包含用戶,角色和操作的 不同組合,以便僅檢查具有足夠權限的用戶是否能夠執行特定操作。
黑盒測試的測試數據
在黑盒測試中,測試人員看不到代碼。您的功能測試用例可以使測試數據符合以下條件 -
? 無數據:未提交數據時檢查系統響應
? 有效數據:提交有效測試數據時檢查系統響應
? 無效數據: 提交InValid測試數據時檢查系統響應
? 非法數據格式:當測試數據格式無效時,檢查系統響應
? 邊界條件數據集:滿足邊界值條件的測試數據
? 等價分區數據集:驗證等價分區的測試數據。
? 決策表數據集:驗證決策表測試策略的測試數據
? 狀態轉換測試數據集:滿足您的狀態轉換測試策略的測試數據
? 用例測試數據:測試數據與您的用例同步。
注意:根據要測試的軟件應用程序,您可以使用上述部分或全部測試數據
自動化測試數據生成
為了生成各種數據集,您可以使用各種自動測試數據生成工具。以下是此類工具的一些示例:
GSApps的測試數據生成器可用于在幾乎任何數據庫或文本文件中創建智能數據。它使用戶能夠:
? 通過使用有意義的數據擴充數據庫來完成應用程序測試
? 創建可用于演示的行業特定數據
? 通過創建現有數據的克隆并屏蔽機密值來保護數據隱私
? 通過簡化測試和原型設計來加速開發周期
DTM的測試數據生成器是一個完全可定制的實用程序,可為數據庫測試(性能測試,QA測試,負載測試或可用性測試)生成數據,表(視圖,過程等)。
Datatect 是Banner Software 的SQL數據生成器,可以在ASCII平面文件中生成各種實際測試數據,或者直接為RDBMS生成測試數據,包括Oracle,Sybase,SQL Server和Informi。
總之,精心設計的測試數據可以幫助您識別和糾正功能上的嚴重缺陷。必須在多階段產品開發周期的每個階段重新評估所選測試數據的選擇。所以,要時刻關注它。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。