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

功能性測試軟件的6種常見(jiàn)故障模型_化工模型


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

功能性測試軟件的6種常見(jiàn)故障模型

  1 輸出不符合業(yè)務(wù)規則的無(wú)效輸出

  1.1缺陷產(chǎn)生原因

  有時(shí)開(kāi)發(fā)人員也可能對業(yè)務(wù)了解不深刻,對有些問(wèn)題也是一知半解,因此編寫(xiě)出的軟件就會(huì )產(chǎn)生不符合業(yè)務(wù)邏輯的問(wèn)題。另外在絕大多數情況下開(kāi)發(fā)人員會(huì )忽略處理沒(méi)有遵循一般規則的輸進(jìn),如果不對這些特殊情況進(jìn)行編程處理,軟件就會(huì )產(chǎn)生錯誤的結果。

  1.2如何發(fā)現這類(lèi)問(wèn)題

   測試人員應該盡可能地學(xué)習的涉及問(wèn)題的領(lǐng)域。

  有時(shí)在列舉出無(wú)效輸出后,也很難知道哪些輸進(jìn)組合能強制這些輸出產(chǎn)生。這時(shí)測試人員必須先要確定哪些輸入與輸出有關(guān),然后用產(chǎn)生意外結果的輸入組合進(jìn)行測試,測試過(guò)程中要留意輸入執行順序,用不同的順序執行可能得到不同的結果。如果不能強制無(wú)效的輸出產(chǎn)生,就說(shuō)明軟件沒(méi)有這方面的缺陷。

  1.3測試方法小結

  應用場(chǎng)合:強制產(chǎn)生不符合業(yè)務(wù)背景的知識。

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

  測試知識儲備:全面理解需求規格說(shuō)明書(shū)中的內容,熟悉行業(yè)背景知識。

  2 輸出屬性修改后的結果

  2.1缺陷產(chǎn)生原因

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

  2.2如何發(fā)現這類(lèi)問(wèn)題

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

  2.3測試方法小結

  應用場(chǎng)合:輸出的結果,可以由用戶(hù)修改屬性得出。

  測試方法:強制每個(gè)輸出產(chǎn)生,并編輯其屬性,然后再次強制產(chǎn)生輸出。

     測試知識儲備:全面理解需求規格說(shuō)明書(shū)中的內容,了解能夠產(chǎn)生的輸出。

  3 屏幕刷新顯示

  3.1缺陷產(chǎn)生原因

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

  3.2如何發(fā)現這類(lèi)問(wèn)題

     測試刷新問(wèn)題的方法是增加、刪除稱(chēng)移動(dòng)屏幕上的對象,這樣會(huì )使某些對象重新顯示。如果不能正確、及時(shí)地進(jìn)行重新顯示,就產(chǎn)生了軟件缺陷。我們可以通過(guò)以下幾個(gè)方法來(lái)檢查刷新:

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

  從覆蓋對象的邊界開(kāi)始一點(diǎn)點(diǎn)覆蓋,使其中一個(gè)對象遮住別一個(gè)對象。

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

  3.3測試方法小結

  應用場(chǎng)合:一個(gè)對象包含在另一個(gè)對象中,拖動(dòng)被包含教學(xué)模型對象時(shí),可能出現刷新問(wèn)題。

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

  測試知識儲備:全面理解需求規格說(shuō)明書(shū)中的內容,了解程序中對象之間的關(guān)系。

  4 數據結構溢出

  4.1缺陷產(chǎn)生原因

  所有數據結構的大小都有上限。一些數據結構會(huì )逐步增加長(cháng)度以布滿(mǎn)機器內存容量或磁盤(pán)空間,而其它數據結構具有固定的上限。開(kāi)發(fā)人員經(jīng)常對有關(guān)數據結構的內容進(jìn)行編碼,忘記結構本身的物理局限。

  4.2如何發(fā)現這類(lèi)問(wèn)題

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

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

  4.3測試方法小結

  應用場(chǎng)合:程序中存在數組。

  modern-psychoanalyst.com 測試方法:嘗試將過(guò)多的值輸入數據結構,測試上溢;對于下溢的測試,
  可以嘗試多刪除一個(gè)數據。

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

  5 數據結構不符合約束

  5.1缺陷產(chǎn)生原因

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

  5.2如何發(fā)現這類(lèi)問(wèn)題

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

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

  對數據進(jìn)行初始化,改變每個(gè)屬性以確定是否正確進(jìn)行了約束。

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

  5.3測試方法小結

  應用場(chǎng)合:應用程序內部的數據結構存在約束。

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

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

        6 操縱數與操縱符不符

  6.1缺陷產(chǎn)生原因

  幾乎每個(gè)運算符都有它無(wú)效的操縱數,對于具體的操縱符,開(kāi)發(fā)人員在使用它們時(shí),必須編寫(xiě)錯誤檢查代碼。例如:除以零的問(wèn)題。

  6.2如何發(fā)現這類(lèi)問(wèn)題

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

  6.3測試方法小結

  應用場(chǎng)合:需要進(jìn)行數值計算的程序或圖形操作的程序。

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

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

  7 遞回調用自身

  7.1缺陷產(chǎn)生原因

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

  7.2如何發(fā)現問(wèn)題

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

  7.3測試方法小結

  應用場(chǎng)合:需要和其它對象進(jìn)行交互的地方。

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

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

    


日韩人妻无码一专区_国产精品国产自线拍免费_99久久综合精品国产_黄片哪里在线播放