計算機軟件

測試程序 - 在軟件產品差錯檢測處理

在軟件開發,生產過程中的顯著部分是基於軟件測試。 這是什麼,以及如何為這樣的活動將在本文中討論。

所謂的測試?

這通過運行軟件來檢測代碼不正確操作的位置指的是過程。 為獲得最佳效果,故意構造難以組輸入數據。 檢查的主要目的是創建失敗的最佳時機 的軟件。 雖然有時測試開發的程序可以被簡化為工作能力的例行檢查和執行的功能。 這樣可以節省時間,但往往伴隨著軟件的不可靠性,用戶的不滿,等等。

效用

如何又快又好錯誤,對成本影響顯著和軟件開發所需的質量的持續時間。 所以,儘管測試人員領取工資比小開發商好幾次這樣的事實,他們的服務的成本通常高達30 - 整個項目成本的40%。 這是由於工作人員的數量,因為這一錯誤的搜索 - 這是一個不尋常的,相當艱難的過程。 但是,即使該軟件傳遞的測試,一個可敬的數量,沒有100%的保證,這不會發生錯誤。 剛發生時不知道。 為了鼓勵測試者選擇類型的更容易找到故障測試,不同的動機工具使用:包括精神和物質。

對待工作

最好的方法是當實現各種機制,以確保軟件中的錯誤並沒有從一開始。 要做到這一點,你必須要小心適當的架構設計,明確的職權範圍,並沒有把通信,調整時,該項目的工作已經開始是很重要的。 在這種情況下,測試器尋找和鑑定小數量保留在最終結果的錯誤的任務。 這將節省時間和金錢。

什麼是考試?

這是檢查活動的一個重要方面,這是必要的成功檢測的代碼的缺陷。 他們是必要的,以便控制的正確應用。 什麼是包括在測試? 它由其中應作為所得到的(或中間體)而得到的數據和它們的初始值的。 為了成功地發現問題和矛盾,測試後應算法的開發,但沒有開始編程。 理想的是使用幾種方法來估計所需的數據。 在這種情況下,增加的檢測誤差,因為你可以檢查從不同的角度的代碼的可能性。 複雜的測試必須提供的成品軟件產品的外部影響,以及他的工作的算法驗證。 特別感興趣的,並提供邊際退化情況。 因此,在錯誤的做法往往能揭示出週期少於計劃的一次或多次操作。 同樣重要的是電腦檢測,通過它你可以驗證在不同的機器所需的結果。 這是必要的,以確保該軟件將在所有計算機上運行。 此外,電腦測試,對其中的發展將進行,是在創建多平台發展的重要。

故障排除藝術

計劃往往瞄準巨大的數據集工作。 是否有必要完全建立? 號 普遍取得的節目的“小型化”的做法。 在這種情況下相比與將要使用有數據量的一個合理的減少。 讓我們來看一個例子:有一個程序,它創建大小50×50的矩陣。 換句話說 - 你必須手動輸入2500的值。 這當然是可能的,但還需要一個很長的時間。 但為了測試功能,該軟件接收一個矩陣,其尺寸為5×5。 要做到這一點,你需要輸入超過25的值。 如果在這種情況下,一個正常,無故障運行,這意味著一切都井然有序。 雖然有位於與小型化的情況發生,造成的變化變得含蓄而暫時消失的事實陷阱。 這也是非常罕見的,但仍然發生是有新的bug。

追求的目標

測試是不是一件容易的任務,因為這樣的事實,這個過程是不適合將其全部以形式化。 大型程序幾乎從來沒有必要的準確的基準。 因此,採用多項間接數據,其中,但是,並不能完全反映調試軟件開發的特點和功能的指南。 此外,他們應該選擇正確的結果之前,如何對軟件產品進行測試計算。 如果你不前進,人們很容易將考慮所有有關的,如果機器的結果在預期範圍內獲得,它會做出一個錯誤的決定,這一切都是正確的。

檢查在不同條件下

作為一項規則,程序測試發生在所必需的最小測試功能在有限程度上卷。 隨著參數的變化,以及他們的工作條件下進行活動。 測試過程可以分為三個階段:

  • 檢查在正常情況下。 在這種情況下,我們測試所開發軟件的基本功能。 結果必須符合預期。
  • 檢查在極端條件下。 在這種情況下,與邊界的數據,它可以創建軟件的性能產生不利影響的代名詞。 作為一個例子,我們有一個非常大的或小的數字,甚至完全不存在的信息接收工作。
  • 檢查在特殊情況下。 它涉及超出處理數據的使用。 在這種情況下,這是非常不好的時候軟件感知它們作為有用的計算並給出一個合理的結果。 必須小心,在這種情況下,有一個排斥,不能正確地處理的任何數據。 也有必要提供通知用戶其

測試:類型

沒有錯誤創建軟件是非常困難的。 這需要一個相當長的時間。 為了得到一個好的產品往往使用兩種類型的測試:“阿爾法”和“貝塔”。 它們是什麼? 當人們談論的alpha測試,這意味著審查中的發展“實驗室”條件的狀態下進行自己。 這是測試的最後階段之前的計劃將被轉移到最終用戶。 因此,開發商正試圖掉頭最大。 為了便於操作,可將數據記錄到創造的問題及其解決方案的年表。 在beta測試,了解軟件用戶的數量有限的供應,使他們可以利用該程序,並確定你已經錯過了錯誤。 在這種情況下,一個特點是經常的軟件不能用於其預期目的的事實。 因為這種故障將被確定那裡是沒有見過。 這是很正常的,擔心是沒有必要的。

測試完成

如果前面的步驟成功完成,但仍然進行驗收測試。 他在這種情況下流於形式。 在這個測試來確認是否有額外的問題已經發現和軟件可以在市場上發行。 最重要的將是最終的結果,更緊密地應進行驗證。 應小心,以確保所有步驟已經成功完成。 下面是測試過程作為一個整體。 現在,讓我們深入的技術細節和談論這樣一個有用的工具,作為測試程序。 它們是什麼,在使用時?

計算機輔助測試

以前人們認為開發的軟件的動態分析 - 它是有效地用於檢測缺陷過重的方法。 但由於程序的日益複雜和數量出現了相反的觀點。 自動化測試使用,其中最重要的優先事項是效率和安全性。 而且應該在任何輸入。 作為一個例子,對於其合適的是這樣的測試程序,包括以下情況:網絡協議,網絡服務器,沙盒。 我們繼續看幾個樣本,它可以用來進行此類活動。 如果你有興趣的免費檢測項目,質量難以其中找到。 但也有破解了完善的項目“盜版”版本,所以你可以參考他們的服務。

雪崩

此工具可幫助檢測缺陷的測試在動態分析模式的程序。 它收集數據和分析軌道設計對象的性能。 該測試儀中給出了一組引起錯誤或繞過現有的約束集的輸入。 由於有大量的可能的情況下開發的算法的一個很好的測試。 程序接收一組不同的輸入數據,其允許模擬大量的情況下,並創建在其中最有可能的是一個故障的發生狀況的。 該計劃的一個重要優點是使用啟發式度量。 如果有問題,那麼應用程序錯誤的可能性非常大。 但是,這種方案有可能,如只有一個檢查標記輸入插座或文件的限制。 當執行一個操作,例如測試計劃將包含與空指針由於使用圖書館的問題,無限循環,不正確的地址或故障的詳細信息。 當然,這是沒有檢測到錯誤,他們唯一的共同實例的完整列表。 校正缺陷,唉,具有開發者 - 自動裝置不適合於這些目的。

KLEE

它是用於測試內存的好節目。 它可以攔截約50的系統調用和大量因而並行地或單獨執行的虛擬過程。 但在一般情況下,程序是不是找了一些可疑的地方,並處理代碼的最大可能的量和分析利用數據路徑。 正因為如此,測試程序取決於物體的大小。 當檢查賭注被放置在象徵性的過程。 他們是可能的方法在測試程序執行的任務之一。 由於並行操作,可以分析大量的測試應用工作的變種。 用於輸入數據集的每個路徑的測試,其與被檢查開始之後被存儲。 應當注意的是,使用KLEE測試程序有助於識別大量的變化,這不應該的。 它可以發現,即使在那些數十年開發的應用程序的問題。

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

Copyright © 2018 zhtw.delachieve.com. Theme powered by WordPress.