免费视频淫片aa毛片_日韩高清在线亚洲专区vr_日韩大片免费观看视频播放_亚洲欧美国产精品完整版

打開APP
userphoto
未登錄

開通VIP,暢享免費(fèi)電子書等14項(xiàng)超值服

開通VIP
軟件測(cè)試基本方法

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

        不深入代碼細(xì)節(jié)的軟件測(cè)試方法。常被稱為行為測(cè)試,因?yàn)闇y(cè)試的是軟件在使用過程中的實(shí)際行為。

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

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

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

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

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

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

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

   數(shù)據(jù)測(cè)試

        軟件由數(shù)據(jù)(包括鍵盤輸入、鼠標(biāo)單擊、磁盤文件、打印輸出等等)和程序(可執(zhí)行的流程、轉(zhuǎn)換、邏輯和運(yùn)算)兩個(gè)最基本的要素組成。

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

        1. 邊界條件測(cè)試

        程序在處理大量中間數(shù)值時(shí)都是對(duì)的,但是可能在邊界處出現(xiàn)錯(cuò)誤。比如數(shù)組的[0]元素的處理。想要在Basic中定義一個(gè)10個(gè)元素的數(shù)組,如果使用 Dim data(10) As Integer ,則定義的是一個(gè)11個(gè)元素的數(shù)組,在賦初值時(shí)再使用 For i =1 to 10 ...來賦值,就會(huì)產(chǎn)生權(quán)限,因?yàn)槌绦蛲浟颂幚韎=0的0號(hào)元素。
        邊界條件是指軟件計(jì)劃的操作界限所在的邊緣條件。

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

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


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

--------------------------------------------------------------------------------
               如果程序讀寫軟盤
               嘗試:保存一個(gè)尺寸極小,甚至只有一項(xiàng)的文件。
                           然后保存一個(gè)很大的——?jiǎng)偤迷谲洷P容量限制之內(nèi)的文件。
                           保存空文件。
                           保存尺寸大于軟盤容量的文件。

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


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

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


--------------------------------------------------------------------------------
           
        2.  次邊界條件測(cè)試

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

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

        位bit
         0或1

        雙位doublebit
         0~15

        字節(jié)Byte
         0~255

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

        千K
         1,024

        兆M
         1,048,576

        億
         1,073,741,824

        萬億
         1,099,511,627,776


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

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


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

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

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


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

    3. 默認(rèn)值測(cè)試(默認(rèn)、空白、空值、零值和無)

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


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

    4.  破壞測(cè)試(非法、錯(cuò)誤、不正確和垃圾數(shù)據(jù))

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


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

     狀態(tài)測(cè)試

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

        同數(shù)據(jù)測(cè)試一樣,狀態(tài)測(cè)試運(yùn)用等價(jià)分配技術(shù)選擇狀態(tài)和分支。因?yàn)檫x擇不完全測(cè)試,所以要承擔(dān)一定的風(fēng)險(xiǎn),但是通過合理選擇減少危險(xiǎn)。

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

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

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

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

   失敗狀態(tài)測(cè)試

        狀態(tài)測(cè)試的失敗測(cè)試的案例,主要是競(jìng)爭(zhēng)條件、重復(fù)、壓迫和重負(fù)。

        1.  競(jìng)爭(zhēng)條件和時(shí)序錯(cuò)亂

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

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

        2.  重復(fù)、壓迫和重負(fù)

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

         - 重復(fù)測(cè)試

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

        - 壓迫測(cè)試

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

        - 重負(fù)測(cè)試

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

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

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

   其他黑盒測(cè)試方法

        1.  像無經(jīng)驗(yàn)的用戶那樣做

        輸入意想不到的數(shù)據(jù);中途變卦而退回去執(zhí)行其他操作;單擊不應(yīng)該單擊的東西……

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

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

        3.  憑借經(jīng)驗(yàn)、直覺和預(yù)感

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

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

聯(lián)系客服