南方科技展覽模型  首頁 > 資訊中心 > 新聞閱讀

功能性測試軟件的6種常見故障模型_化工模型


概述:功能性測試軟件的6種常見故障模型_化工模型,功能性測試軟件的6種常見故障模型_化工模型

功能性測試軟件的6種常見故障模型

  1 輸出不符合業務規則的無效輸出

  1.1缺陷產生原因

  有時開發人員也可能對業務了解不深刻,對有些問題也是一知半解,因此編寫出的軟件就會產生不符合業務邏輯的問題。另外在絕大多數情況下開發人員會忽略處理沒有遵循一般規則的輸進,如果不對這些特殊情況進行編程處理,軟件就會產生錯誤的結果。

  1.2如何發現這類問題

   測試人員應該盡可能地學習的涉及問題的領域。

  有時在列舉出無效輸出后,也很難知道哪些輸進組合能強制這些輸出產生。這時測試人員必須先要確定哪些輸入與輸出有關,然后用產生意外結果的輸入組合進行測試,測試過程中要留意輸入執行順序,用不同的順序執行可能得到不同的結果。如果不能強制無效的輸出產生,就說明軟件沒有這方面的缺陷。

  1.3測試方法小結

  應用場合:強制產生不符合業務背景的知識。

  測試方法:列舉出所有的無效輸出,然后逐一測試。

  測試知識儲備:全面理解需求規格說明書中的內容,熟悉行業背景知識。

  2 輸出屬性修改后的結果

  2.1缺陷產生原因

  輸出經常具有可修改的屬性,如顏色、形狀、維數及大小等,用戶可以修改這些屬性。在這種情況下,開發人員必須編碼、設立初始或默認屬性值,然后編碼允許用戶編輯這些屬性。當用戶改變了這些屬性后,內部的相應變量值也隨著變化,再次進行處理時,這些值沒有被重新恢復為默認值,輸出的屬性就被強制改變了。

  2.2如何發現這類問題

  該測試方法可以使用模型公司在那些輸出具有可編輯性、可修改性的功能中。測試人員首先要仔細了解能夠產生的輸出,特別要留意具有可編輯屬性的輸出。測試人員的任務就是強制每個輸出產生,并編輯其屬性,然后再次強制輸出產生。

  2.3測試方法小結

  應用場合:輸出的結果,可以由用戶修改屬性得出。

  測試方法:強制每個輸出產生,并編輯其屬性,然后再次強制產生輸出。

     測試知識儲備:全面理解需求規格說明書中的內容,了解能夠產生的輸出。

  3 屏幕刷新顯示

  3.1缺陷產生原因

  通常GUI軟件會產生刷新問題,由于GUI在對窗口進行覆蓋、移動和調整大小時,必須刷新屏幕才能使對象重新顯示。但是如果經常刷新,輕易減慢應用程序的運行速度;如果不刷新,又會影響用戶對程序的使用,使用戶必須停止工作,去尋找刷新的方法才可以繼續工作。所以開發人員有時候不能很好地確定什么時候需要刷新,需要刷新多大范圍的區域,這就發生了令人煩惱的刷新問題。

  3.2如何發現這類問題

     測試刷新問題的方法是增加、刪除稱移動屏幕上的對象,這樣會使某些對象重新顯示。如果不能正確、及時地進行重新顯示,就產生了軟件缺陷。我們可以通過以下幾個方法來檢查刷新:

  從起始位置移動對象。先移動一點,然后增加移動幅度;先移動一次或兩次,然后多次移動,確保覆蓋了所有區域。

  從覆蓋對象的邊界開始一點點覆蓋,使其中一個對象遮住別一個對象。

  使用不同類型的對象。如果應用程序支持多種類型的對象,如文本對象、圖形對象等,就把這些不同對象混在一起使用。

  3.3測試方法小結

  應用場合:一個對象包含在另一個對象中,拖動被包含教學模型對象時,可能出現刷新問題。

  測試方法:增加、刪除和移動屏幕上的對象。

  測試知識儲備:全面理解需求規格說明書中的內容,了解程序中對象之間的關系。

  4 數據結構溢出

  4.1缺陷產生原因

  所有數據結構的大小都有上限。一些數據結構會逐步增加長度以布滿機器內存容量或磁盤空間,而其它數據結構具有固定的上限。開發人員經常對有關數據結構的內容進行編碼,忘記結構本身的物理局限。

  4.2如何發現這類問題

  確定數據結構的界限,嘗試將過多的值輸入數據結構。應該特別留意界限為數據類型的邊界256、1024、等上溢的測試。

  對于下溢的測試,可以嘗試多刪除一個數據,例如當結構為空時,嘗試再刪除,或者添加一個數據,嘗試刪除兩個數據時的情況。

  4.3測試方法小結

  應用場合:程序中存在數組。

  www.wi3388.com 測試方法:嘗試將過多的值輸入數據結構,測試上溢;對于下溢的測試,
  可以嘗試多刪除一個數據。

  測試知識準備:全面理解需求規格說明書中的內容,確定數據結構的界限。壁紙漆價格

  5 數據結構不符合約束

  5.1缺陷產生原因

  在編程過程中對內部數據結構都有所約束,包括大小、維數、類型、形狀、屏幕上的位置等。我們測試的重點就是用戶能夠設置的屬性,這些屬性使用了一組參數來約束。在建立數據項和隨后對數據項進行修改的任何時刻都要對數據屬性的約束進行檢查。初始化代碼中修改后的代碼有錯誤,在修改錯誤的時候只修改了初始化部分,而忽略了對其他部分的修改,使得其修改不完全,不徹底。

  5.2如何發現這類問題

  確認候選數據,并列出其可修改的屬性。對每個屬性列出有效值的允許范圍、約束的條件等。

  確定所有可修改屬性的功能位置。

  對數據進行初始化,改變每個屬性以確定是否正確進行了約束。

  如果數據約束遭到破壞,可能導致系統崩潰,或者表現為響應時間延遲,錯誤信息,不正確以及使用錯誤數據產生的無效輸出。

  5.3測試方法小結

  應用場合:應用程序內部的數據結構存在約束。

  測試方法:破壞內部數據結構的約束。

  測試知識儲備:全面理解需求規格說明書中的內容,確定內部數據結構的所有約束。

        6 操縱數與操縱符不符

  6.1缺陷產生原因

  幾乎每個運算符都有它無效的操縱數,對于具體的操縱符,開發人員在使用它們時,必須編寫錯誤檢查代碼。例如:除以零的問題。

  6.2如何發現這類問題

  找到程序中包含的數據或輸入(即操作數)的計算(即操作符)、數學表達式(即操作符和操作數的組合)及對圖形的操作。另外,對多個操作數進行組合也更輕易發生錯誤。例如,字符和數字都可以使用“+”操作符。對字符通過“+”把它們連成一串;對數字通過“+”來進行加法運算。如果系統嘗試把字符和數字相加,即進行相互矛盾的操作,就會引起軟件失效。

  6.3測試方法小結

  應用場合:需要進行數值計算的程序或圖形操作的程序。

  測試方法:對于數值計算考慮操作數和操作符之間的限定關系,對于圖形計算還要考慮各種輸入數據之間的組合關系。

  測試知識儲備:全面把握被測軟件中操作符對操作數的要求。把握不同的操作符和操作數具有的不同的有效和無效的取值范圍。

  7 遞回調用自身

  7.1缺陷產生原因

  函數有時會遞歸調用自身,如果不限制執行次數,遞歸就會出現問題,它不斷地調用自身,很快地占用機器資源,最終產生溢出,使程序崩潰或掛起。產生這類問題的主要原因是開發人員沒有編碼來保證循環和遞歸調用的終止,通常是在循環的開始或結束時缺少檢查條件。

  7.2如何發現問題

  在軟件中尋找可以使用遞歸調用的功能。這時化工模型可以制作一個列表,標明軟件中可能嵌入遞歸的功能的列表,然后自己引用自己來檢查程序是否能正確處理。

  7.3測試方法小結

  應用場合:需要和其它對象進行交互的地方。

  測試方法:考慮對象的自我交互或復制。

  測試知識儲備:全面把握被測軟件的需求。

    


久久高清免费观看_无码网天天爽免费视频_变态sm无码凌虐视频网站_亚洲va成无码人在线观看