日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

软件测试技术---黑盒测试

發(fā)布時(shí)間:2025/7/14 编程问答 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 软件测试技术---黑盒测试 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

黑盒測(cè)試就是把測(cè)試對(duì)象看做一個(gè)不透明的黑盒子,不必了解程序的內(nèi)部邏輯和結(jié)構(gòu),只需按照需求規(guī)格說(shuō)明書檢查程序的功能是否符合

黑盒測(cè)試主要是為了發(fā)現(xiàn)以下幾點(diǎn)錯(cuò)誤:

(1)是否有不正確或者遺漏的功能

(2)在接口上,輸入能否被正確的接收,是否能輸出正確的結(jié)果

(3)是否有數(shù)據(jù)結(jié)構(gòu)錯(cuò)誤或者外部信息訪問(wèn)錯(cuò)誤

(4)性能上是否能滿足要求

(5)是否有初始化或者終止性錯(cuò)誤



1.等價(jià)類測(cè)試

因?yàn)闇y(cè)試所有的可能輸入數(shù)據(jù)時(shí)不可能的

所以需要在所有的輸入數(shù)據(jù)中選擇合適的代表性的子集來(lái)進(jìn)行測(cè)試

這一過(guò)程需要經(jīng)過(guò)等價(jià)類劃分和選取測(cè)試用例兩個(gè)步驟

所謂的等價(jià)類

就是在所有的測(cè)試數(shù)據(jù)中按照其最終的測(cè)試結(jié)果進(jìn)行劃分

比如說(shuō):

在一個(gè)接受三個(gè)數(shù)據(jù)計(jì)算是否可以構(gòu)成三角形的三個(gè)邊的程序中

如果輸入5,5,5這三個(gè)數(shù)據(jù),那么構(gòu)成了等邊三角形的邊

那么在輸入10,10,10后者20,20,20也是一樣的結(jié)果

所以這三個(gè)數(shù)據(jù)可以劃分為一個(gè)等價(jià)類

在i一個(gè)等價(jià)類中,只要一個(gè)測(cè)試數(shù)據(jù)時(shí)錯(cuò)誤的,那么這個(gè)等價(jià)類中所有的數(shù)據(jù)結(jié)果也都是錯(cuò)誤的,反之亦然


等價(jià)類分為有效等價(jià)類和無(wú)效等價(jià)類

因?yàn)闊o(wú)效的數(shù)據(jù)對(duì)應(yīng)程序的測(cè)試也是必不可少的


等價(jià)類測(cè)試的原則:

(1)如果輸入條件中規(guī)定了數(shù)值的取值范圍或者是個(gè)數(shù),那么可以確立一個(gè)有效等價(jià)類和兩個(gè)無(wú)效等價(jià)類

(2)如果輸入條件中規(guī)定了數(shù)值的集合或者規(guī)定了“必須如何”的條件,那么可以確立一個(gè)有效等價(jià)類和一個(gè)無(wú)效等價(jià)類

(3)如果輸入條件中規(guī)定了數(shù)值輸入的一組值,而且程序要對(duì)其中每個(gè)數(shù)值進(jìn)行單獨(dú)的處理,可以為每個(gè)數(shù)值確立一個(gè)有效等價(jià)類,然后對(duì)所有的數(shù)值的不允許輸入的數(shù)值確立一個(gè)無(wú)效等價(jià)類

(4)如果輸入條件中規(guī)定了數(shù)據(jù)必須遵守的規(guī)則,則可以確立一個(gè)有效等價(jià)類和若干個(gè)無(wú)效等價(jià)類(以不同的角度違反規(guī)則)

(5)如果一個(gè)等價(jià)類中的元素在程序中的處理方式不同,則進(jìn)一步劃分更小的等價(jià)類


劃分好等價(jià)類,并建立等價(jià)類表列出所有的等價(jià)類之后按照以下原則選擇測(cè)試用例

(1)為每一個(gè)等價(jià)類規(guī)定一個(gè)唯一的標(biāo)號(hào)

(2)設(shè)計(jì)一個(gè)新的測(cè)試用例,盡可能多的覆蓋沒(méi)有覆蓋過(guò)的有效等價(jià)類,重復(fù)這一步直至所有有效等價(jià)類都被覆蓋

(3)設(shè)計(jì)一個(gè)新的測(cè)試用例,其實(shí)僅覆蓋一個(gè)沒(méi)有被覆蓋過(guò)的無(wú)效等價(jià)類,重復(fù)這一步使得所有的無(wú)效等價(jià)類都被覆蓋




2.邊界值分析


邊界值分析其實(shí)是讀等價(jià)類劃分的補(bǔ)充

因?yàn)槌绦蛑械拇罅垮e(cuò)誤是發(fā)生在輸入或輸出范圍的邊界上,而不是范圍的內(nèi)部,所以要針對(duì)各種邊界情況設(shè)計(jì)測(cè)試用例

進(jìn)行邊界值分析首先要確定邊界情況

應(yīng)當(dāng)選取正好等于,剛剛大于,或者剛剛小于邊界的值進(jìn)行測(cè)試

進(jìn)行邊界值分析的原則:

(1)如果輸入條件中規(guī)定了值的范圍,則應(yīng)選取這個(gè)范圍的邊界的值以及剛剛超過(guò)這個(gè)范圍的值

(2)如果輸入條件中規(guī)定了值的個(gè)數(shù),則應(yīng)當(dāng)選取最大,最小個(gè)數(shù)以及比最大多一和比最小少一的值

(3)根據(jù)規(guī)格說(shuō)明的每個(gè)輸出條件進(jìn)行原則1

(4)根據(jù)規(guī)格說(shuō)明的每個(gè)輸出條件進(jìn)行原則2

(5)如果規(guī)格說(shuō)明規(guī)定輸出或輸出域是有序集合,則選取集合的第一個(gè)元素和最后一個(gè)元素

(6)如果程序中使用了一個(gè)內(nèi)部的數(shù)據(jù)結(jié)構(gòu),則選取這個(gè)數(shù)據(jù)結(jié)構(gòu)的邊界值

(7)分析規(guī)格說(shuō)明,找出其他可能的邊界條件




3.基于判定表的測(cè)試


判定表又稱為決策表,最適合描述在將多個(gè)邏輯條件取值組合或復(fù)雜條件情況下執(zhí)行哪些不同的動(dòng)作

使用判定表時(shí)

在條件框列出所有的可能的單個(gè)條件

在動(dòng)作框列出對(duì)應(yīng)條件的執(zhí)行動(dòng)作



4.基于因果圖的測(cè)試


等價(jià)類劃分和邊界值分析著重考慮輸入條件,但對(duì)于各個(gè)輸入條件之間的關(guān)系則討論不多

而在某些情況下又需要對(duì)輸入條件之間的關(guān)系和各種組合情況進(jìn)行描述

就要使用到因果圖測(cè)試

因果圖方法最終生成的就是判定表

使用因果圖方法的步驟如下:

(1)根據(jù)規(guī)格說(shuō)明書分析哪些是原因(輸入條件)哪些是結(jié)果(輸出條件),并為每個(gè)原因和結(jié)果賦予一個(gè)標(biāo)識(shí)符

(2)分析規(guī)格說(shuō)明書中的語(yǔ)義,找出原因和結(jié)果之間的對(duì)應(yīng)關(guān)系,畫出因果圖

(3)由于語(yǔ)法和環(huán)境限制,有些原因或者結(jié)果之間的組合情況有著一些限制,為了表明這些特殊情況,在因果圖上用一些記號(hào)標(biāo)明約束條件

(4)把因果圖轉(zhuǎn)換為判定表

(5)把判定表的每一列作為依據(jù),設(shè)計(jì)測(cè)試用例




5.基于狀態(tài)圖的測(cè)試


狀態(tài)圖描述了當(dāng)前測(cè)試對(duì)象和測(cè)試數(shù)據(jù)之間的關(guān)系

狀態(tài)圖的主要圖形元素有:

(1)狀態(tài),用圓圈表示,反映當(dāng)前對(duì)象所處的環(huán)境或者動(dòng)作

(2)轉(zhuǎn)換,用箭頭表示,表示從一個(gè)狀態(tài)到另一個(gè)狀態(tài)的過(guò)程

(3)事件,和特定的轉(zhuǎn)換有關(guān),用來(lái)描述轉(zhuǎn)換的過(guò)程

(4)活動(dòng),以/形式表示

(5)條件,以[]形式表示,說(shuō)明在這個(gè)條件下該狀態(tài)才能被轉(zhuǎn)換

(6)特殊狀態(tài),開始和結(jié)束狀態(tài)


通常需要將狀態(tài)圖轉(zhuǎn)換成狀態(tài)轉(zhuǎn)換樹后者狀態(tài)轉(zhuǎn)換表來(lái)進(jìn)行測(cè)試用例的選擇

從狀態(tài)圖到狀態(tài)轉(zhuǎn)換樹的轉(zhuǎn)換步驟:

(1)將初始或者開始狀態(tài)作為樹的根節(jié)點(diǎn),所處的層次是1

(2)設(shè)當(dāng)前生成狀態(tài)轉(zhuǎn)換樹的層次為k,從左到右檢查所有層次為k的節(jié)點(diǎn),把對(duì)應(yīng)節(jié)點(diǎn)的下一個(gè)可能狀態(tài)作為其子女節(jié)點(diǎn),并將轉(zhuǎn)換作為邊

(3)重復(fù)(2)直至下面兩種情況出現(xiàn):

? ? ? ? ?1)一個(gè)位于k層的節(jié)點(diǎn)出現(xiàn)在j層上,且j<=k,這個(gè)節(jié)點(diǎn)成為最終的葉節(jié)點(diǎn),不需要繼續(xù)生成他的子節(jié)點(diǎn)

? ? ? ? ?2)節(jié)點(diǎn)的狀態(tài)是結(jié)束狀態(tài),也不需要針對(duì)該節(jié)點(diǎn)繼續(xù)進(jìn)行狀態(tài)轉(zhuǎn)換




6.基于功能圖的測(cè)試


功能圖模型由狀態(tài)圖和邏輯功能圖模型構(gòu)成



7.基于用例和場(chǎng)景的測(cè)試



UML通過(guò)用例模型來(lái)描述系統(tǒng)與外界的交互和功能需求

為了給出UML中用例的細(xì)節(jié),還要為每個(gè)用例建立一個(gè)規(guī)格說(shuō)明,描述用例的事件流

典型的事件流有基本事件流(簡(jiǎn)稱基本流),后補(bǔ)事件流和異常事件流(統(tǒng)稱備選流)

在建立了用例模型之后,需要對(duì)每個(gè)用例進(jìn)行場(chǎng)景分析,發(fā)現(xiàn)所包含的基本流和備選流

然后根據(jù)每個(gè)場(chǎng)景和事件流來(lái)設(shè)計(jì)測(cè)試用例




8.基于有向圖的測(cè)試用例設(shè)計(jì)


在面向?qū)ο蠓椒ㄖ?/p>

通常使用用例圖來(lái)建立系統(tǒng)的功能模型

用類圖來(lái)建立數(shù)據(jù)模型

用狀態(tài)圖,順序圖,活動(dòng)圖等建立行為模型

基于有向圖設(shè)計(jì)測(cè)試用例主要針對(duì)行為模型

該過(guò)程中主要包含6個(gè)活動(dòng):

(1)定義圖

(2)定義鏈接

(3)節(jié)點(diǎn)覆蓋

(4)鏈接覆蓋

(5)權(quán)重測(cè)試

(6)圈測(cè)試





9.基于正交實(shí)驗(yàn)設(shè)計(jì)法的測(cè)試


所謂的正交實(shí)驗(yàn)法就是從大量的試驗(yàn)點(diǎn)中挑選出適量的有代表性的點(diǎn)進(jìn)行實(shí)驗(yàn)

首先根據(jù)被測(cè)軟件的需求規(guī)格說(shuō)明,找出影響其功能實(shí)現(xiàn)的操作對(duì)象和外部因素

把他們當(dāng)做因子,將因子的取值作為狀態(tài),構(gòu)造出二元的因素分析表

然后利用正交表進(jìn)行各因子的狀態(tài)組合,建立因果圖

這樣得出的測(cè)試用例集中,測(cè)試用例的數(shù)目將大大減少




10.其他黑盒測(cè)試用例設(shè)計(jì)技術(shù)



轉(zhuǎn)載于:https://www.cnblogs.com/jchubby/p/4429733.html

總結(jié)

以上是生活随笔為你收集整理的软件测试技术---黑盒测试的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。