整合營銷服務商

          電腦端+手機端+微信端=數據同步管理

          免費咨詢熱線:

          #9.白盒測試:數據流測試

          數據流測試 1、數據流分析

          從數據流視角:程序是一個程序元素對數據訪問的過程;

          數據流關系:數據的【定義——使用】對;

          出發點:對數據的不正確處理;

          使用程序圖來描述數據【定義——使用】對。

          數據流測試:指關注變量接受值的點 和使用(或引用)這些值的點 的 結構性測試形式。

          2、數據流測試

          數據流測試按照程序中的變量定義和使用的位置來選擇程序的測試路徑;

          數據流測試關注變量接收值的點和使用這些值的點;

          一種簡單的數據流測試策略是要求覆蓋每個定義-使用路徑一次;

          數據流測試用做路徑測試的“真實性檢查”。

          數據流分析—程序控制流圖

          G(P ) :程序圖

          構造方式同前,語句片段代表節點,邊代表節點序列

          單入口,單出口,且不允許從某個節點到其自身的邊

          P:程序

          V:一組程序變量

          DD-路徑

          DD路徑:決策對決策路徑(Miller)。從決策語句的“出路”開始,到下一個決策語句的“入路”結束。

          DD鏈:有向圖中一條起始和終止節點不同點路徑。

          由一個節點組成,內度=0;

          由一個節點組成,外度=0;

          由一個節點組成,內度〉=2或外度〉=2;

          由一個節點組成,內度=1并且外度=1;

          長度〉=1的最大練

          DD-路徑圖

          DD-Path graph是一張帶有標簽的有向圖,圖中的節點表示程序圖的DD路徑,而邊表示路徑的控制流。

          對于給定的程序,可以構造多種不同的程序圖,所有這些程序圖,都可以簡化為唯一的DD-路徑圖。

          對100行以內的程序生成DD路徑是可行的,如果超過這個規模,一般需要有分析工具的支持。

          數據流測試分析_數據流測試方法有三種_測流技術的應用

          控制流圖最簡化也就是DD路徑了。可以理解為 DD屬于控制流圖。

          在這里插入圖片描述

          3、定義/使用測試 定義節點

          節點n∈G(P)是變量v ∈V的定義節點,記做DEF(v,n),當且僅當變量的值由對應節點n的語句片斷處定義。

          定義節點語句:

          使用節點

          節點n∈G(P)是變量v ∈V的使用節點,記做USE(v,n),當且僅當變量v的值在對應節點n的語句片斷處使用。

          使用節點語句:

          謂詞使用、計算使用

          使用節點USE(v,n)是一個謂詞使用(記做P-use),當且僅當語句n是謂詞語句;否則,USE(v,n)是計算使用(記做C-use)

          定義-使用路徑

          定義-使用路徑(記做du-path):是PATHS(P)中的路徑,使得對某個v ∈V,存在定義和使用節點DEF(v,m)和USE(v,n),使得m和n是該路徑的最初和最終節點。

          就是以定義節點開頭,使用節點結尾。

          定義清除路徑

          定義清除路徑(記做dc-path):是具有最初和最終節點DEF(v,m)和USE(v,n)的PATHS(P)中的路徑,使得該路徑中沒有其他節點是v的定義節點。

          以定義節點開頭,使用節點結尾,且路徑途中沒有其他(該變量的)定義節點。

          4、覆蓋指標 定義-使用路徑測試覆蓋指標

          數據流指標假設所有程序變量都標識了定義節點和使用節點,且關于各變量都表示了定義-使用路徑

          T:擁有變量集合V的程序P的程序圖G§中的一個路徑集合

          全定義準則

          集合T滿足程序P的全定義準則,當且僅當所有變量 ,T包含從v的每個定義節點到v的一個使用的定義清除路徑。(這ppt里定義的是真的拗口。)

          可以理解為:T是一個路徑集合,包含了(所有變量)變量v的所有定義節點到任意一個使用節點的dc-path。

          有一說一,我思索了半天還是懵的。百度相關內容又太少!

          【這里先放下】

          在這里插入圖片描述

          圖中標亮部分。

          def(U,3),use(x,3),use(y,3);

          use(U,5),use(U,14),use(U,15);

          按照當時老師講的:n3分別到n5、n14、n15的路徑集合就是U的全覆蓋。

          我:???

          全使用準則

          測流技術的應用_數據流測試方法有三種_數據流測試分析

          集合T滿足程序P的全使用準則,當且僅當所有變量 ,T包含從v的每個定義節點到v的所有使用以及到所有USE(v,n)后續節點的定義清除路徑。

          在這里插入圖片描述

          全謂詞使用/部分計算使用準則

          集合T滿足程序P的全謂詞使用/部分計算使用準則,當且僅當所有變量,T包含從v的每個定義節點到v的所有謂詞使用的定義清除路徑,且若v的一個定義沒有謂詞使用,則定義清除路徑導致至少一個計算使用。

          全計算使用/部分謂詞使用準則

          集合T滿足程序P的全計算使用/部分謂詞使用準則,當且僅當所有變量,T包含從v的每個定義節點到v的所有計算使用的定義清除路徑,且若v的一個定義沒有計算使用,則定義清除路徑導致至少一個謂詞使用。

          全定義-使用路徑準則

          集合T滿足程序P的全定義-使用路徑準則,當且僅當所有變量 ,T包含從v的每個定義節點到v的所有使用,以及到所有USE(v,n)后續節點的定義清除路徑,且這些路徑要么有一次的環經過,要么沒有環路。

          這定義看的我是真的腦殼子暈。

          在這里插入圖片描述

          在這里插入圖片描述

          其他白盒測試方法 黑盒白盒比較:

          黑盒測試:漏洞和冗余,而且不能被發現。

          白盒測試的基路徑測試方法:用有向圖表示代碼和程序路徑公式化,掩蓋了代碼中的重要信息,即可行路徑和不可行路徑的區別。

          5、測試的效率 什么時候測試可以停止?多少是足夠的測試?

          當時間用完時——缺少標準

          當繼續測試沒有產生新失效時

          當繼續測試沒有發現新缺陷時

          當無法考慮新測試用例時—原因?

          當回報很小時—基于分析的方法

          當達到所要求的覆蓋時—結構化測試的指標

          當所有缺陷都已經清除時—難以實現

          在這里插入圖片描述

          相關內容可以參考這位大佬的博客。很清楚。

          另外,學了這么多,感覺脈絡有點雜亂,最后會整理一下。

          THE END


          主站蜘蛛池模板: 一区二区三区AV高清免费波多| 亚洲AV无一区二区三区久久| 国产美女av在线一区| 久久一区二区三区免费播放| 精彩视频一区二区三区| 亚洲日本一区二区| 国产午夜毛片一区二区三区| 国产手机精品一区二区| 精品乱人伦一区二区三区| 日韩精品一区二区三区不卡| 亚洲欧洲专线一区| 亚洲一区二区三区在线| 日本一区精品久久久久影院| 日韩精品一区二区三区中文字幕 | 成人无号精品一区二区三区| 无码人妻少妇色欲AV一区二区| 日韩精品无码Av一区二区 | 波多野结衣一区视频在线| 国产日韩精品一区二区三区在线 | 国产午夜精品一区二区三区小说| 日本精品啪啪一区二区三区| 中文字幕一区在线观看视频| 日韩一区精品视频一区二区| 日本欧洲视频一区| 亚洲综合国产一区二区三区| 东京热无码av一区二区| 国产成人精品无人区一区| 国产一区二区在线观看视频| 日本一道一区二区免费看| 亚洲AV日韩综合一区| 亚洲一区二区三区高清在线观看| 99精品国产一区二区三区不卡| 亚洲一区二区三区AV无码| 成人精品视频一区二区三区不卡| 中文字幕久久久久一区| 亚洲成av人片一区二区三区 | 国产一国产一区秋霞在线观看| 中文字幕无线码一区2020青青| 一区二区三区视频在线| 精品一区二区三区无码免费视频 | 立川理惠在线播放一区|