計算機, 軟件
和測試軟件的方法對它們進行比較。 “黑盒”測試的測試方法和“白盒”的方法
測試軟件(SW)確定需要解決的代碼的差距,缺點和錯誤。 它也可以被定義為與分析的幫助下評估軟件的功能性和正確性的過程。 集成和應用軟件測試的基本方法,並確保質量檢驗規範,設計和編碼,可靠性評估,驗證和確認。
方法
軟件測試的主要目的 - 軟件系統,通過系統的調試應用程序嚴格控制條件下的質量確認,以確定其完整性和準確性,以及隱藏的錯誤檢測。
驗證的方法 (測試)計劃 可分為靜態和動態。
前者包括非正式的,監測和技術審查,檢查,一步一步的分析,審計,以及靜態數據流分析和管理。
動態技術是:
- 白盒測試。 這是程序的內部邏輯和結構的詳細研究。 這是必要的源代碼的知識。
- 黑箱測試。 這種技術不需要對應用程序的內部工作原理的任何知識。 我們只考慮了系統的基本方面,不涉及或有一些它的內部邏輯結構的關聯。
- 灰箱方法。 它結合了前面兩種方法。 與應用程序的內部運作的有限知識調試與系統的基本方面的知識結合起來。
透明測試
白盒使用方法測試腳本控制程序設計的結構。 該技術允許通過分析軟件的內部工作的一部分,露出執行錯誤,如管理不善,編碼系統。 這些測試方法適用於集成,模塊和系統級別。 測試人員必須能夠訪問源代碼,並用它來找出哪個單位不恰當的行為。
通過白盒測試方案具有以下優點:
- 它允許通過去除不必要的行,以檢測隱藏的代碼中的錯誤;
- 使用的副作用;
- 最大覆蓋範圍由編寫測試腳本來實現的。
缺點:
- 高成本的過程,需要熟練的調試器;
- 許多途徑仍然未知,因為所有可能隱藏的錯誤,徹底的檢查是非常複雜的;
- 一些代碼將被傳遞忽視。
白箱測試通過檢測一個透明或開口盒,結構,邏輯測試,基於所述源代碼,和邏輯體系結構有時稱作。
主要品種有:
1)測試所述流量控制 - 使用節目控制流模型並且作為有利於更簡單的方法來更少更複雜的結構策略;
2)分支被設計為研究每個控制操作員,其中還包括一個組合解決方案的調試每個選項(true或false);
3)主路徑,其允許測試以建立邏輯複雜度測量程序項目用於分離一組基本的執行路徑的測試;
4)檢查數據流 - 通過註釋的研究流量控制策略計算有關的廣告信息,並使用程序變量;
5)測試週期 - 完全集中在循環過程的正確操作。
行為調試
黑盒測試把軟件作為一個“黑匣子” - 有關程序的內部工作信息進行計數,並檢查只有系統的基本方面。 在這種情況下,測試人員需要了解系統架構無需訪問源代碼。
這種方法的優點:
- 效率為大的代碼段;
- 緩解感知測試儀;
- 用戶的角度清楚地從顯影劑角度(程序員和測試器是彼此獨立的)分開;
- 更快速創建測試。
測試軟件黑箱方法有以下缺點:
- 確實執行的測試用例選定數量,從而導致有限的覆蓋;
- 缺乏明確的規範很難開發測試腳本的;
- 效率低。
該技術的其他名稱-行為的,不透明的, 功能測試 和封閉箱的調試方法。
此類別可包括如下軟件測試技術:
1)相當於分區,這可以減少該組測試數據作為輸入軟件模塊的數據被分解成單獨的部分的;
2)邊界值的分析集中於邊界或極限的值的驗證 - 的最小值,最大值,和錯誤的典型值;
3)起毛 - 用於實現通過輸入錯誤,或者在自動或半自動模式破壞的數據poluiskazhennyh搜索;
4)的因果關係計數 - 基於所述創建圖形和確定的動作和其原因的關係的技術:否定身份,邏輯OR和邏輯AND - 四個主角,表達因果之間的關係;
5)正交陣列的驗證應用到具有相對小的輸入區域超過了詳盡的研究的可能性的問題;
6)測試所有雙 - 一種技術,其中,一組測試值包括每對輸入參數的所有可能的二進制組合;
7)調試狀態轉變-用於檢查機器的狀態,以及通過導航有用的技術 GUI 用戶。
黑盒測試:實例
黑盒技術是基於規範,文檔,軟件接口或系統的描述。 此外,你可以使用模型(正式或非正式),佔軟件的預期行為。
典型地,用於調試用戶界面此方法,並需要與通過引入數據採集和結果的應用程序的交互的 - 從屏幕上,從報告或打印輸出。
該測試儀,因此,與通過輸入,通過作用於開關,按鈕或其他接口的軟件進行交互。 輸入數據的選擇,給藥或動作序列的順序可導致組合的一個巨大的總數,作為顯示在下面的例子。
有多少測試需要,以檢查所有的4個窗口標誌和一次性場的可能值進行設置以秒為單位的時間? 乍一看計算是簡單的:4個字段具有兩種可能狀態 - 24 = 16,其必須由可能的位置的數目乘以從00到99,即1600可能的測試。
但是,這種計算是錯誤的:我們可以判斷這兩個點場還可以包含一個空間,即它由兩個字母的位置,並且可以包含字母數字字符,特殊字符,空格等。因此,如果....系統是一個16位的計算機,轉216 = 65536一個用於每個位置在所得4294967296測試用例要由標誌16的組合,給出了一個總的68719476 736如果它們執行相乘以每秒1測試,總續 olzhitelnost測試是2177.5年。 對於32或64位系統,甚至更持續時間。
因此有必要減小此期間到可接受的水平。 因此,所述技術應當適用於減少的測試用例的數量而不降低測試的範圍。
等價類劃分
等價類劃分是一個簡單的方法適用於存在於該軟件的任何變量,無論是輸入或輸出值,字符,數字等。它是基於所有從一當量的分區的數據將在以同樣的方式和由待治療的原則相同的指令。
在測試過程中,選擇的一個代表每個特定等價劃分的。 這使您可以系統地減少可能的測試用例的數量沒有命令和功能的覆蓋損失。
這個分區的另一個後果是減少不同變量和測試用例的相應減少之間的組合爆炸。
例如,在(1 / x)的1/2使用三個數據序列,三當量分區:
1.所有正數會以同樣的方式進行處理,並應給出正確的結果。
2.所有負數是以同樣的結果相同的方式處理。 這是不正確的,因為負的根數是虛。
3.零將被分開處理和“被零除”給該錯誤。 這是一個單一的值的部分。
於是,我們看到三個不同的部分,其中的一個被減少為單個值。 有一個“正確”的部分,它提供了可靠的結果,以及兩個“錯誤”與不正確的結果。
邊界值分析
在相當於劃分的邊界處理可以以不同的方式做的比預期的。 極限值的調查 - 分析等方面的軟件的行為的一個眾所周知的方法。 這種技術能夠識別這樣的錯誤:
- 不當使用關係運算符的(<,>,=,≠,≥,≤);
- 單個錯誤;
- 在循環和迭代問題,
- 錯誤類型或用於存儲信息的變量的大小;
- 數據類型和變量相關的人為限制。
半透明測試
灰箱方法增加了測試覆蓋率,可以通過黑白技術的組合側重於系統的所有困難的水平。
使用這種技術,該測試儀測試值的發展應該有內部數據結構和算法的知識。 是的灰盒測試方法的實例如下:
- 建築模型;
- 統一建模語言(UML);
- 狀態模型(有限狀態機)。
灰色框中的方法來開發的測試用例研究了白色工程代碼模塊,並且實際測試是在黑技術方案的接口進行的。
這些測試方法具有以下優點:
- 的優點的技術人員白色和黑色盒組合;
- 測試儀是基於接口和功能規範,而不是源代碼上;
- 調試器也能取得巨大的測試用例;
- 檢查從用戶看來,而不是節目的設計者的點作出;
- 創建自定義的測試開發;
- 客觀性。
缺點:
- 測試覆蓋率有限的,因為不存在對源代碼沒有訪問;
- 中分佈式應用程序中的缺陷的複雜性;
- 許多方面仍然未開發的;
- 如果軟件開發商已經推出了測試,那麼進一步的調查可能會過度。
另一個名字灰盒技術 - 半透明的調試。
這一類包括測試的這樣的方法:
1)正交陣列 - 利用所有可能的組合的子集的;
2)使用的節目數據的狀態矩陣調試;
3)在新的軟件更改進行回歸檢查;
4)模板測試,分析了良好的應用的設計和架構。
軟件測試技術的比較
採用動態方法導致了需要被制定,實施和執行的測試數量的組合爆炸。 每一項技術都應該務實地使用,同時它的局限性考慮在內。
唯一真正的方法不存在,只有那些更適合具體情況。 結構工程讓我們找到一個無用的或惡意代碼,但它們是複雜的,並不適用於大型程序。 基於規範的方法 - 只有那些能夠識別丟失的代碼,但它們不能識別一個局外人。 一些技術更適合於比其他特定的測試水平,錯誤類型或上下文。
下面是三個動態測試技術之間的主要區別 - 給出了三種形式的調試軟件之間的對照表。
方面 | 黑盒法 | 灰箱方法 | 白盒法 |
可用性的信息的程序的組成 | 只檢查的基本方面 | 關於程序的內部結構部分知識 | 完全訪問源代碼 |
該方案的碎片化程度 | 低 | 中央 | 高 |
誰生產調試? | 最終用戶,測試人員和開發人員 | 最終用戶,開發和調試器 | 開發人員和測試人員 |
基地 | 測試是基於外部緊急情況。 | 圖數據庫,數據流圖,算法和體系結構的內部知識的狀態 | 內部設備完全了解 |
覆蓋度 | 不夠全面,需要在最短的時間 | 中央 | 可能是最全面的。 費時 |
數據和內部邊界 | 調試,只能通過試錯 |
可以檢查數據域和內部邊界,如果它們被稱為 | 最好的測試數據域和內部邊界 |
適用性測試算法 | 沒有 | 沒有 | 是的 |
自動化
軟件測試的自動方法大大簡化檢查的過程中,無論在技術和環境的上下文。 他們是在兩種情況下使用:
1)自動執行繁瑣的,重複的或細緻的任務,例如,以釋放時間測試器更重要點的濃度文件比較到幾千行;
2)用於執行跟踪或可以不容易被人如可在百分之一秒來測量性能驗證或分析響應時間執行的任務。
測試工具可以以不同的方式進行分類。 接下來的劃分是基於他們所支持的任務:
- 測試管理,包括項目管理支持,版本,配置,風險分析,測試跟踪,錯誤,缺陷和報告工具;
- 需求管理,它包括存儲要求和規範,檢查它們的完整性和模糊性,它們的優先級和每個測試的可追踪性;
- 嚴格審查和靜態分析,包括流量監控和任務,記錄和評價,缺陷檢測存儲和計劃更正管理鏈接清單和規則,跟踪通信的源文件和代碼靜態分析來檢測缺陷,確保其符合編寫代碼的標準,結構和相關性分析,代碼和架構的度量參數的計算。 此外,使用編譯器,分析儀,發電機和交叉引用的關係;
- 建模,其中包括業務建模工具,行為和測試模型;
- 測試開發,確保預期的條件和用戶界面模型和代碼的基礎上,數據的產生,管理創建或修改的管理,條件和風險統計分析的規則的基礎上的文件和數據庫,消息,數據驗證;
- 通過圖形用戶界面,API,命令使用比較器,以幫助識別成功和不成功的測試行輸入數據的關鍵視圖;
- 支持調試環境,使您可以替換基於所確定的輸出子集,終端仿真器,手機和網絡設備,用於檢查語言,操作系統和環境缺少的硬件或軟件,在卷小時。模擬設備 的硬件 更換缺少的組件的驅動程序,虛構模塊等,以及用於捕獲和修改OS工具請求CPU仿真限制,RAM,ROM,或網絡.;
- ..數據文件,數據庫,中,後的測試完成後,含動態和一批比較,自動“神諭”檢查預期結果的比較;
- 塗佈測量內存洩漏的下生長測量,分析和系統資源報告的驗證的一個真實的場景模擬負荷產生負載應用程序,數據庫,網絡或服務器的定位和不正確的其控制行為估計系統;
- 安全;
- 性能測試,負載和動態數據;
- 其他工具,在卷小時。檢查拼寫和語法, 網絡安全, 所有的網站頁面和其他的可用性。
透視
隨著軟件行業變化趨勢的,調試的過程中也可能發生變化。 有軟件測試的新方法,如服務orientirovannae架構(SOA),無線技術,移動服務等。E.,開拓了測試軟件的新途徑。 一些預計在行業在未來幾年中的變化如下所列:
- 測試人員提供了一個輕量級的模型,開發人員將能夠檢查你的代碼;
- 測試方法,包括查看並在早期階段建模方案,將消除許多矛盾的發展;
- 多個攔截測試的存在會縮短錯誤檢測的時間;
- 靜態分析器和檢測裝置得到越來越廣泛的使用;
- 使用礦物基質,如本說明書的覆蓋,模型和代碼覆蓋的範圍將決定的項目的開發;
- 組合工具允許測試,以確定調試的優先領域;
- 測試人員將提供整個軟件開發過程更加直觀和有價值的服務;
- 調試器可以創建寫成,並用多種編程語言的交互工具和軟件測試方法;
- 調試專家會更專業培訓。
將由一個新的面向企業的軟件測試方法進行更換,更改與系統進行交互的方式和他們提供的,同時降低風險和增加的業務變化帶來的好處的信息。
Similar articles
Trending Now