欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久

打開(kāi)APP
userphoto
未登錄

開(kāi)通VIP,暢享免費電子書(shū)等14項超值服

開(kāi)通VIP
軟件測試基本方法

動(dòng)態(tài)黑盒測試

        不深入代碼細節的軟件測試方法。常被稱(chēng)為行為測試,因為測試的是軟件在使用過(guò)程中的實(shí)際行為。

        首先,從產(chǎn)品說(shuō)明書(shū)獲知測試對象的軟件的輸入和應該得到的輸出。
     
        接下來(lái),開(kāi)始定義測試案例。 測試案例:指進(jìn)行實(shí)驗用的輸入,以及測試軟件用的程序。
          
        選擇測試案例是軟件測試員最重要的任務(wù)。不正確的選擇可能導致測試量過(guò)大或者過(guò)小,甚至測試目標不對。準確評估風(fēng)險,把不可窮近的可能性減少到可以控制的范圍是成功的訣竅。

  測試基本方法:通過(guò)測試 vs  失敗測試
 
        通過(guò)測試:確認軟件至少能做什么,而不考驗其能力。

        失敗測試:純粹為了破壞軟件而設計和執行的測試案例,也稱(chēng)為迫使出錯測試。蓄意攻擊軟件的薄弱環(huán)節。
      
        在設計和執行測試案例時(shí),總是首先進(jìn)行通過(guò)測試。在破壞性試驗之前看看軟件基本功能是否實(shí)現是很重要的,否則在正常使用軟件時(shí)就會(huì )奇怪為什么有那么多的軟件缺陷。
       常見(jiàn)的測試案例就是設法迫使軟件出現錯誤提示信息。產(chǎn)品說(shuō)明書(shū)可能會(huì )給出這樣的功能要求,針對這個(gè)問(wèn)題的測試可能是通過(guò)測試也可能是失敗測試??赡軆烧叨际?。不用去刻意區分,重要的是找到軟件缺陷!

   選擇測試案例:等價(jià)分配

        等價(jià)分配:是指分步驟地把過(guò)多(無(wú)限)的測試案例減小到同樣有效的小范圍的過(guò)程。也稱(chēng)等價(jià)劃分。

        等價(jià)分配技術(shù)提供了一個(gè)選擇哪些數值、舍棄哪些數值的系統方法。

        等價(jià)類(lèi)別或者等價(jià)區間是指測試相同目標或者暴露相同軟件缺陷的一組測試案例。在尋找等價(jià)區間時(shí),想辦法把軟件的相似輸入、輸出、操作分成組。這些組就是等價(jià)區間。
        等價(jià)分配的目的是把可能的測試案例組合縮減到仍然足以測試軟件的控制范圍。因為選擇了不完全測試,就要冒一定的風(fēng)險。如果為了減少測試案例的數量過(guò)度進(jìn)行等價(jià)分配,測試的風(fēng)險就會(huì )增加。另外,等價(jià)區間的劃分沒(méi)有一定的標準,只要足以覆蓋測試對象就行了。

   數據測試

        軟件由數據(包括鍵盤(pán)輸入、鼠標單擊、磁盤(pán)文件、打印輸出等等)和程序(可執行的流程、轉換、邏輯和運算)兩個(gè)最基本的要素組成。

        對數據進(jìn)行軟件測試,就是在檢查用戶(hù)輸入的信息、返回結果以及中間計算結果是否正確。主要根據下列原則來(lái)進(jìn)行等價(jià)分配,以合理減少測試案例:邊界條件、次邊界條件和無(wú)效數據。

        1. 邊界條件測試

        程序在處理大量中間數值時(shí)都是對的,但是可能在邊界處出現錯誤。比如數組的[0]元素的處理。想要在Basic中定義一個(gè)10個(gè)元素的數組,如果使用 Dim data(10) As Integer ,則定義的是一個(gè)11個(gè)元素的數組,在賦初值時(shí)再使用 For i =1 to 10 ...來(lái)賦值,就會(huì )產(chǎn)生權限,因為程序忘記了處理i=0的0號元素。
        邊界條件是指軟件計劃的操作界限所在的邊緣條件。

        數據類(lèi)型:數值、字符、位置、數量、速度、地址、尺寸等,都會(huì )包含確定的邊界。
        應考慮的特征:第一個(gè)/最后一個(gè)、開(kāi)始/完成、空/滿(mǎn)、最慢/最快、相鄰/最遠、最小值/最大值、超過(guò)/在內、最短/最長(cháng)、最早/最遲、最高/最低。這些都是可能出現的邊界條件。

       根據邊界來(lái)選擇等價(jià)分配中包含的數據。然而,僅僅測試邊界線(xiàn)上的數據點(diǎn)往往不夠充分。提出邊界條件時(shí),一定要測試臨近邊界的合法數據,即測試最后一個(gè)可能合法的數據,以及剛超過(guò)邊界的非法數據。以下例子說(shuō)明一下如何考慮所有可能的邊界:


--------------------------------------------------------------------------------
                如果文本輸入域允許輸入1-255個(gè)字符。
                嘗試:輸入1個(gè)字符和255個(gè)字符(合法區間),也可以加入254個(gè)字符作為合法測試。
                            輸入0個(gè)字符和256個(gè)字符作為非法區間。

--------------------------------------------------------------------------------
               如果程序讀寫(xiě)軟盤(pán)
               嘗試:保存一個(gè)尺寸極小,甚至只有一項的文件。
                           然后保存一個(gè)很大的——剛好在軟盤(pán)容量限制之內的文件。
                           保存空文件。
                           保存尺寸大于軟盤(pán)容量的文件。

--------------------------------------------------------------------------------


               如果程序允許在一張紙上打印多個(gè)頁(yè)面
               嘗試:只打印一頁(yè)
                           打印允許的最多頁(yè)面
                           打印0頁(yè)
                           多于所允許的頁(yè)面(如果可能的話(huà))

--------------------------------------------------------------------------------


--------------------------------------------------------------------------------
           
        2.  次邊界條件測試

        上面所講的是普通的邊界條件,在產(chǎn)品說(shuō)明書(shū)中有定義,或者在軟件的過(guò)程中確定。但有些邊界在軟件內部,最終用戶(hù)幾乎看不到,但是軟件測試仍有必要檢查,這樣的邊界條件成為次邊界條件或者內部邊界條件。尋找這樣的邊界條件,不要求軟件測試員成為程序員或者具有閱讀源代碼的能力,但是確實(shí)要求大體了解軟件的工作方式。2的乘方和ASCII表是這樣的兩個(gè)例子:

--------------------------------------------------------------------------------
        2的乘方
        術(shù)語(yǔ)
范圍或值

        位bit
         0或1

        雙位doublebit
         0~15

        字節Byte
         0~255

        字word
         0~65,535或者0~4,294,967,295

        千K
         1,024

        兆M
         1,048,576

        億
         1,073,741,824

        萬(wàn)億
         1,099,511,627,776


        計算機和軟件的基礎是二進(jìn)制數。因此二的乘方是作為邊界條件的重要數據。如:在通訊軟件中,帶寬或者傳輸信息的能力總是受限制,因此軟件工程師會(huì )盡一切努力在通訊字符串中壓縮更多數據。其中一個(gè)方法就是把信息壓縮到盡可能小的單元中,發(fā)送這些小單元中最常用的信息,在必要時(shí)再擴展為大一些的單元。假設某種通訊協(xié)議支持256條命令。軟件將發(fā)送編碼為一個(gè)雙位數據的最常用的15條命令;如果用到第16到256之間的命令,軟件就轉而發(fā)送編碼為更長(cháng)字節的命令。這樣,軟件就會(huì )根據雙位/字節邊界執行專(zhuān)門(mén)的計算和不同的操作。

        在建立等價(jià)區間的時(shí)候,要考慮是否需要包含2的乘方邊界條件。例如:軟件接受1~1000范圍內的數字,那么合法區間除了1和1000,也許還有2和999之外,還應該有臨近2的乘方次邊界:14,15,16以及254,255和256。


--------------------------------------------------------------------------------
        ASCII表

        ASCII碼表并不是結構良好的連續表。數字0~9對應48~57;斜杠字符(/)在0的前面,冒號(在9的后面;大寫(xiě)字母A~Z對應65~90;小寫(xiě)字母對應97~122。這些情況都代表次邊界條件。
        如果測試進(jìn)行文本輸入或文本轉換的軟件,在定義數據區間包含哪些值時(shí),參考一下ASCII表是相當明智的。例如:測試的文本框只接受用戶(hù)輸入字符A~Z和a~z,就應該在非法區間中包含ASCII表中這些字符前后的值——@,‘,[,{。

--------------------------------------------------------------------------------


--------------------------------------------------------------------------------

    3. 默認值測試(默認、空白、空值、零值和無(wú))

        好的軟件會(huì )處理這種情況,常用的方法:一是將輸入內容默認為合法邊界內的最小值,或者合法區間內某個(gè)合理值;二是返回錯誤提示信息。
        這些值在軟件中通常需要進(jìn)行特殊處理。因此應當建立單獨的等價(jià)區間。在這種默認下,如果用戶(hù)輸入0或-1作為非法值,就可以執行不同的軟件處理過(guò)程。


--------------------------------------------------------------------------------

    4.  破壞測試(非法、錯誤、不正確和垃圾數據)

        數據測試的這一類(lèi)型是失敗測試的對象。這類(lèi)測試沒(méi)有實(shí)際規則,只是設法破壞軟件。不按軟件的要求行事,發(fā)揮創(chuàng )造力吧!


--------------------------------------------------------------------------------

     狀態(tài)測試

        狀態(tài)測試是通過(guò)不同的狀態(tài)驗證程序的邏輯流程。軟件測試員必須測試軟件的狀態(tài)及其轉換。軟件狀態(tài)是指軟件當前所處的情況或者模式。軟件通過(guò)代碼進(jìn)入某一個(gè)流程分支,觸發(fā)一些數據位,設置某些變量,讀取某些變量,從而轉入一個(gè)新的狀態(tài)。

        同數據測試一樣,狀態(tài)測試運用等價(jià)分配技術(shù)選擇狀態(tài)和分支。因為選擇不完全測試,所以要承擔一定的風(fēng)險,但是通過(guò)合理選擇減少危險。

        1.  建立狀態(tài)轉移圖
               
        使用:方框和箭頭;圓圈(泡泡)和箭頭。
        應包含的項目:
            - 軟件可能進(jìn)入的每一種獨立狀態(tài)。
                    如果不能斷定是否獨立,先認為是;以后一旦發(fā)現不是,隨時(shí)剔除。
            - 從一種狀態(tài)轉入另一種狀態(tài)所需的輸入和條件。
                    狀態(tài)變化和存在的原因,就是我們要尋找的對象。
            - 進(jìn)入或退出某種狀態(tài)時(shí)的設置條件及輸出結果。
                   包括顯示的菜單和按鈕、設置的標志位、產(chǎn)生的打印輸出、執行的運算等等。
        由于是黑盒測試,因而只需從用戶(hù)的角度建立狀態(tài)圖即可。

        2.  減少要測試的狀態(tài)及轉換的數量
       
        測試每一種路線(xiàn)的組合,走遍所有分支是不可能的事情。大量的可能性也需要減少到可以操作的測試案例集合。方法有以下5種:
            - 每種狀態(tài)至少訪(fǎng)問(wèn)一次。
                    無(wú)論用什么方法,每種狀態(tài)都必須測試。
            - 測試看起來(lái)最常見(jiàn)最普遍的狀態(tài)轉換
            - 測試狀態(tài)之間最不常用的分支。
                    這些分支是最容易被產(chǎn)品設計者和程序員忽視的。
            - 測試所有錯誤狀態(tài)機器返回值。
                    錯誤是否得到正確的處理、錯誤提示信息是否正確、修復錯誤時(shí)是否正確恢復軟件等
            - 測試隨機狀態(tài)轉換。

        3.  進(jìn)行具體的測試——定義測試案例

         測試狀態(tài)及其轉換包括檢查所有的狀態(tài)變量——與進(jìn)入和退出狀態(tài)相關(guān)的靜態(tài)條件、信息、值、功能等等。如:窗口外觀(guān)、窗口尺寸定義(固定/上次使用時(shí)的尺寸)、顯示的菜單、默認設定值、文檔的名稱(chēng)等。狀態(tài)無(wú)論是否可見(jiàn),都必須進(jìn)行狀態(tài)確定。       狀態(tài)變量也許不可見(jiàn),但是很重要,一個(gè)常見(jiàn)的例子時(shí)文檔涂改標志(以此判斷退出時(shí)是否詢(xún)問(wèn)保存)。

   失敗狀態(tài)測試

        狀態(tài)測試的失敗測試的案例,主要是競爭條件、重復、壓迫和重負。

        1.  競爭條件和時(shí)序錯亂

        設計多任務(wù)操作系統不是很難,設計充分利用多任務(wù)能力的軟件才是艱巨的任務(wù)。在真正的多任務(wù)環(huán)境中軟件設計絕對不能想當然,必須處理隨時(shí)被中斷的情況,能夠與其他任何軟件在系統中同時(shí)運行,并且共享內存、磁盤(pán)、通信設備以及其他硬件資源。
        這樣的結果,就是導致競爭條件問(wèn)題;軟件未預料到的中斷發(fā)生,時(shí)序就會(huì )發(fā)生錯亂。
        競爭條件測試難以設計,最好是首先仔細查看狀態(tài)轉換圖中的每一個(gè)狀態(tài),以找出哪些外部影響會(huì )中斷該狀態(tài)??紤]要使用數據如果沒(méi)有準備好,或者在用到時(shí)發(fā)生了變化,狀態(tài)會(huì )怎樣。數條弧線(xiàn)或者直線(xiàn)同時(shí)相連的情形如何。

        一下是要面臨競爭條件的典型情形:
            - 兩個(gè)不同的程序同時(shí)保存或打開(kāi)同一個(gè)文檔。
            - 共享同一臺打印機、通信端口或者其他外圍設備。
            - 當軟件處于讀取或者修改狀態(tài)時(shí)按鍵或者單擊鼠標。
            - 同時(shí)關(guān)閉或者啟動(dòng)軟件的多個(gè)實(shí)例。
            - 同時(shí)使用不同的程序方位一個(gè)共同數據庫。

        2.  重復、壓迫和重負

        這三個(gè)測試的目標是處理那些連程序員都沒(méi)有想到的惡劣條件下產(chǎn)生的問(wèn)題的能力。

         - 重復測試

         重復測試是不斷執行同樣的操作。最簡(jiǎn)單的是不停地啟動(dòng)和關(guān)閉程序,或者反復讀寫(xiě)數據或者選擇同一個(gè)操作。這種測試的主要目的是看內存是否不足。如果內存被分配進(jìn)行某項操作,但操作完成時(shí)沒(méi)有完全釋放,就會(huì )產(chǎn)生一個(gè)常見(jiàn)的軟件問(wèn)題。

        - 壓迫測試

         壓迫測試是使軟件在不夠理想的條件下運行——內存小、磁盤(pán)空間少、CPU速度慢、調制解調器速率低等等。觀(guān)察軟件對外部資源的要求和依賴(lài)程度。壓迫測試就是將支持降到最低限度,目的在于盡可能的限制軟件的必要條件。

        - 重負測試

        重負測試和壓迫測試相反。壓迫測試是盡量限制軟件,而重負測試是盡量提供條件任其發(fā)揮。讓軟件處理盡可能大的數據文件。最大限度的發(fā)掘軟件的能力,讓它不堪重負。比如:軟件對打印機或通信端口進(jìn)行操作,就把能連的都連上;服務(wù)器可以處理幾千個(gè)模擬連接,就按他說(shuō)的做。
        不要忘了,時(shí)間也是一種重負測試。

        重復、壓迫和重負測試應聯(lián)合使用,同時(shí)進(jìn)行。

        需要注意的是:
        一,項目管理員和小組程序員可能不完全接受軟件測試員這樣打破軟件的做法。但是軟件測試員的任務(wù)就是確保軟件在這樣惡劣的條件下正常工作,否則就報告軟件缺陷。如何以最佳方式報告軟件缺陷,使其得到嚴肅對待和修復,也是一門(mén)學(xué)問(wèn)。
        二,無(wú)數次重復和上千次的連接對于手工操作是不可能的。因而需要借助自動(dòng)化測試工具來(lái)實(shí)現。

   其他黑盒測試方法

        1.  像無(wú)經(jīng)驗的用戶(hù)那樣做

        輸入意想不到的數據;中途變卦而退回去執行其他操作;單擊不應該單擊的東西……

        2.  在已經(jīng)找到軟件缺陷的地方再找找

        原因有二:一是軟件缺陷的集中性。如果發(fā)現在不同的特性中找出了大量上邊界條件軟件缺陷,那么就應該對所有特性著(zhù)重上邊界條件。對某個(gè)存在的缺陷,應當投入一些案例來(lái)保證這個(gè)問(wèn)題不是普遍存在的。二是程序員往往傾向于只修改報告出來(lái)的軟件缺陷,不多也不少。比如報告啟動(dòng)-終止-再啟動(dòng)255次導致沖突,程序員可能只修復了這個(gè)問(wèn)題。重新測試時(shí),一定要重新執行同樣的測試256次以上。

        3.  憑借經(jīng)驗、直覺(jué)和預感

        記錄哪些技術(shù)有效,哪些不行。嘗試不同的途徑。如果認為有可疑之處,就要仔細探究。按照預感行事,直至證實(shí)這是錯誤為止。
        經(jīng)驗是人們對錯誤行為的稱(chēng)謂。 

本站僅提供存儲服務(wù),所有內容均由用戶(hù)發(fā)布,如發(fā)現有害或侵權內容,請點(diǎn)擊舉報。
打開(kāi)APP,閱讀全文并永久保存 查看更多類(lèi)似文章
猜你喜歡
類(lèi)似文章
軟件測試工程師學(xué)習筆記
軟件測試面試題(2)
測試用例設計方法大全
系統測試階段及試運行方案
第6章 軟件測試
什么是軟件測試?入門(mén)測試需要具備的理論知識體系(個(gè)人總結)
更多類(lèi)似文章 >>
生活服務(wù)
分享 收藏 導長(cháng)圖 關(guān)注 下載文章
綁定賬號成功
后續可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服

欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久