軟體測驗期末復習
- 第三章 黑盒測驗
- 等價類劃分
- 因果圖
- 邊值分析
- 功能測驗
- 第四章 白盒測驗
- 邏輯覆寫
- 路徑分析
- 程式路徑的樹表示及路徑編碼
- 程式插裝
- 斷言陳述句
- 程式變異
第三章 黑盒測驗
等價類劃分
1.劃分等價類:把數目極多的輸入情況劃分成若干個等價類
如果用集合中的一個輸入條件作為測驗資料進行測驗不能發現程式中的錯誤,那么使用集合中的其他輸入條件進行測驗也不可能發現錯誤
有效等價類vs無效等價類
有效等價類可以是一個,可以是多個
(1)如果輸入條件規定了取值范圍或值的個數,則可確定一個有效等價類和兩個無效等價類,
(2)輸入條件規定了輸入值的集合,或是規定了“必須如何”的條件,則可確定一個有效等價類和一個無效等價類,
(3)如果我們確知,已劃分的等價類中各元素在程式中的處理方式是不同的,則應將此等價類進一步劃分成更小的等價類,
無效等價類至少是一個,可能有多個
2.確定測驗用例
Eg:某程式規定:輸入三個整數作為作為三邊的邊長構成三角形,當此三角形為一般三角形、等腰三角形及等邊三角形時,分別做計算……,試用等價類劃分方法為該程式的構成三角形部分進行測驗用例設計,
(1)列出等價類表:


(2)列出覆寫上述等價類的測驗用例

(3)列出覆寫無效等價類的測驗用例

因果圖
1.匯出測驗用例的步驟:分析原因和結果->畫因果圖(標明約束條件)->轉換成判定表->寫測驗用例
2.因果關系
因果關系的基本符號:

(1)恒等:若c1是1,則e1也是1;否則e1為0
(2)非:若c1是1,則e1是0;否則e1是1
(3)或:若c1或c2或c3是1,則e1是1;否則e1為0,“或”可有任意個輸入
(4)與:若c1和c2都是1,則e1為1;否則e1為0,“與”也可有任意個輸入
3.輸入和輸出條件的約束
約束符號:

輸入條件的約束:
(1)E約束(異):a和b中至多有一個可能為1,即a和b不能同時為1
(2)I約束(或):a、b和c中至少有一個必須是1,即a、b和c不能同時為0
(3)O約束(唯一):a和b必須有一個,且僅有1個為1
(4)R約束(要求):a是1時,b必須是1,即不可能a是1時b是0
輸出條件的約束:
M約束(強制):若結果a是1,則結果b強制為0
Eg:某個軟體的規格說明書包含這樣的要求:第一列字符必須是A或者B,第二列字符必須是一個數字,在此情況下進行檔案的修改,但如果第1列字符不正確,則給出資訊L;如果第2列字符不是數字,則給出資訊M,
原因:
1:第一列字符是A;
2:第一列字符是B;
3:第二列字符是數字;
結果:
21:進行檔案的修改;
22:給出資訊L;
23:給出資訊M,


邊值分析
1.單變數邊界值的選取
五點法vs七點法
五點法:選擇最大值、略低于最大值、正常值、略高于最小值、最小值
七點法:選擇略大于最大值、最大值、略低于最大值、正常值、略高于最小值、最小值、略低于最小值
弱邊界值用五點法,強分析法用七點法
2.多變陣列合情況下邊界值的選取
對于n變數函式,使除一個以外的所有變數取正常值,對剩余的那個變數應用五點法(或七點法)取最小值、略高于最小值、正常值、略低于最大值、最大值,對每個變數都重復進行,
功能測驗
1.功能測驗的系統化
(1)數字型簡單變數
(2)陣列、向量型變數
(3)多維陣列
多維陣列的某一復合分量滿足一定的規范結構,這時,我們就應以此復合分量為基本的測驗資料生成單位
2.模塊功能的分解測驗(對子函式的功能測驗)

(1)平行子函式

(2)順序子函式

(3)控制子函式(常常被用來選擇計算函式或終止回圈與遞回程序)

第四章 白盒測驗
邏輯覆寫
1.幾種常用的邏輯覆寫測驗方法
陳述句覆寫:測驗時,首先設計若干個測驗用例,然后運行被測程式,使程式中的每個可執行陳述句至少執行一次
Eg:

測驗用例:
A=2,B=0,X=3 路徑為ace,達到陳述句覆寫
A=2,B=1,X=3 路徑為abe,未能達到陳述句覆寫
判定覆寫:使得程式中每個判斷的取真分支和取假分支至少經歷一次,即判斷的真偽值均曾被滿足,
測驗用例:
A=2,B=0,X=3
A=1,B=1,X=1
達到判定覆寫
條件覆寫:要使每個判斷中每個條件的可能取值至少滿足一次
T1:A>1
T2: B=0
T3: A=2
T4: X>1

3個測驗用例把4個條件的8種情況均做了覆寫,但滿足條件覆寫并不一定滿足判定覆寫,
判定-條件覆寫:使得判斷中每個條件的所有可能至少出現一次,并且每個判斷本身的判定結果也至少出現一次

既滿足判定覆寫(覆寫了4個分支bcde),又滿足條件覆寫(覆寫了8種情況),但少了一條路徑acd
路徑覆寫:要求覆寫程式中所有可能的路徑

路徑分析
著眼于路徑分析的測驗可稱為路徑測驗,完成路徑測驗的理想情況是做到路徑覆寫,
1.程式路徑運算式
(1)路徑的弧序串列示及節點序串列示


(2)路徑運算式
引入兩個運算:乘和加
乘:弧a和弧b相乘,所得的乘積為ab,它表示先沿弧a再沿弧b所經歷的路段
加:弧a與弧b相加,其和a + b表示兩弧是或的關系,是并行的路段

圖(a)的路徑運算式為:e(a + b)(c + d)f
圖(b)的路徑運算式為:ab(1+cb+(cb)2+…)d
2.程式中路徑數的計算
(1)程式復雜度計算
V=E-N+2
V:復雜度
E:邊數
N:結點數(判斷框也算結點)

3.計算獨立路徑數
獨立路徑:某一程式的獨立路徑是從程式入口到出口的多次執行中,每次至少一個陳述句(包括運算、賦值、輸入輸出或判斷)是新的


程式路徑的樹表示及路徑編碼
1.路徑“與/或”樹及其特征

2.簡化路徑樹
AND結點下有AND結點(a)
OR結點下有OR結點(c)

AND結點有一子結點是葉結點A,A相鄰結點也是葉結點(a)
AND結點有一子結點是葉結點A,A相鄰結點是OR結點(b)
AND結點有一子結點是葉結點A,A相鄰結點是AND結點(c)

3.路徑編碼

任一路徑的編碼是從根結點出發遍歷該路徑各葉結點而后回到根結點經歷的所有OR結點出端編碼的序列

程式插裝
程式插裝:是一種基本的測驗手段,在軟體測驗中有著廣泛的應用,簡單地說是通過往被測程式中插入操作來實作測驗目的的方法,通過用于排錯,
斷言陳述句
斷言陳述句:有時在程式中的特定部位插入某些用以判斷變數特性的陳述句,使得程式執行中這些陳述句得以證實,從而使程式的運行特性得到證實,我們把插入的這些陳述句稱為為斷言
程式變異
錯誤驅動測驗:是指該方法是針對某類特定程式錯誤的
程式強變異
程式強變異意味著對測驗資料集中的每一元素,都要對程式P及其變異因子進行測驗,所以要求測驗資料集D和變異因子集m(P)都需精心挑選,這是強變異方法成功的關鍵,
m(P)是對P進行微小改動得到的,也是一個程式,稱為P的變異因子
假設P有測驗資料集D,若P在D上是正確的,可以找出P的變異因子的某一集合
M={M( P)|M( P)是P的變異因子},
若M中每一元素在D上都存在錯誤,則認為程式的正確程度較高,
若M中某些元素在D上不存在錯誤,則可能存在三種情況:
(1)這些變異因子與P在功能上是等價的;
(2)現有的測驗資料不足以找出P與其變異因子間的差別;
(3)P可能含有錯誤,而其某些變異因子卻是正確的;
強變異兩大弱點:一是要運行所有的變異因子,從而成倍地提高了測驗的成本;二是決定程式與其變異因子是否等價是一個遞回不可解問題
程式弱變異
與強變異的區別在于:強變異是產生實際的變異因子,而弱變異并不產生,而只是選擇測驗資料,使得變異前后程式部件產生不同的值,
第五章、第六章復習總結
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/224302.html
標籤:其他
上一篇:后端指路手冊(建議收藏):一文告訴你后端都要學習什么?應該從哪里學起!
下一篇:三極管的基本狀態分析
