輸入域主要來源于需求規格說明、程序觀察和額外的屬性規約。假設D表示輸入域,S表示規格說明,P表示程序觀察,T表示額外的屬性規約。則輸入域可表示為:D=S∪P∪T。其中額外的屬性規約主要是指規格說明中沒有但滿足負面測試或可能用到的那部分數據。?
輸入點的選取對軟件測試來說也是至關重要的,為了確保輸入點集選取的客觀性,特采取有選擇性隨機輸入的方法。其大體過程分為兩步:?
1) 提取測試用例的邊界值點,構成集合T1;?
2) 在每個相鄰邊界點中選取n個點進行測試,其中選取測試點個數由測試人員根據具體情況而定,關于相鄰邊界值點間測試點的選取通過高斯隨機函數產生。即:?
其中ij表示輸入點,n表示選擇點的個數,σ表示所選取點的方差,Id表示所選取點。?
根據上式所得到的Id構成了集合T2。則測試用例的輸入域D=T1∪T2。根據邊界值和等價類相結合的方法將輸入域化分成L個子區域。即D=(D1,D2,…,DL)。?
2測試用例可靠性評估?
2.1基本概念?
軟件可靠性模型通常分為三種:時間域可靠性模型、輸入域可靠性模型和混合可靠性模型。實際上,軟件黑盒測試的過程是從輸入域著手,反復有選擇性地隨機抽取輸入點集,通過觀察其輸入和輸出之間的映射關系得出其可靠性。下面給出一些測試過程中常用到的概念和度量。?
定義1測試準則:測試準則是關于一組有限可枚舉的待測試目標(待測試的軟件部分)的判定規則,如果測試通過了判定規則的判定,則認為達到了測試準則,否則就沒有。假設i表示輸入數據,且i∈D,output表示輸出數據,也就是說如果輸入數據i滿足 output=f(i)(i∈D),就認為達到了判定準則,否則就沒有。
定義2測試子域:把測試用例的輸入域D按照上述二個步驟劃分成L個互不相交的子域D1,D2,…,DL,即D=D1∪D2∪…∪DL,且Di∩Dj=?(i≠j且i,j=1,2,…,L),則Di稱為測試子域。?
定義3測試可靠性因子:為了更好的判斷輸入和輸出是否滿足映射關系,特此引入功能性可靠因子c,其中c=1或c=0。當c=1時,表示輸入和輸出符合其映射關系;當c=0時,表示輸入和輸出不滿足其映射關系。?
定義4缺陷影響因子:不同的缺陷對軟件可靠性的影響不一樣。通常測試人員將缺陷分為如下幾個級別:致命、嚴重、一般、輕微、建議。對應不同的級別應給予相應權重來描述它,以表示它對測試結果的影響。其中缺陷影響因子用γi表示,這里i=5,表示5 個級別。根據經驗可設γ=(10,5,2,1,0.5)。?
軟件就好比一輛汽車,不同的缺陷、故障(缺陷因子不同)會產生不同的結果,就像座位和車剎的故障一樣,同樣是缺陷,但產生的結果不同。作為軟件的可靠性來說,應該把缺陷因子考慮到其中,這樣才能更好地度量和評價軟件可靠性。?
假設輸入i產生缺陷的概率為P(i),其中i∈D,根據定義3可將c表示為i的函數c(i),它滿足c(i)=1或c(i)=0,根據定義4可將缺陷影響因子γ表示為i的函數γ(i)。則測試用例的可靠性可用(1)式表示:?
2.2測試用例的可靠性評估
在軟件測試可靠性評估領域,所有的結果都是在一定假設條件下產生的,不論是JM模型、Musa模型或者NHPP模型,都是在一定的假設基礎上進行的。?
根據等價類原理可知測試向量所產生的缺陷在各個子域內出現的概率是均等的。同時,軟件的復雜性在觀測數據矩陣中也得到了很好的體現。根據等價類原理,可以計算出相應的可靠性模型。?
推論1對任意一功能點進行一次有選擇性的隨機測試,其可靠度可表示為:?
其中γi表示第i個缺陷影響因子,c/ij表示觀測結果。?
證明假設對任意一個功能向量F進行測試,其輸入點集為:?
根據其映射規則,通過定義3可以得出一組相應的矩陣C。它可表示為式(2)。?
根據定義4可知每組輸入可能產生5種等級的缺陷,而每種等級的缺陷對軟件可靠度造成的影響是不一樣的,因此可把矩陣C分解成一個新矩陣C/,C/中包含了5種缺陷影響因子的信息。由于論文主要是計算軟件的可靠性,在定義3中已規定當輸入和輸出滿足映射關系時,c取1,否則取0。所以C/表示式(3)。?
根據矩陣C/和(1)式可以得出軟件無缺陷運行的概率如(4)式所示。?
原文轉自:http://www.uml.org.cn/Test/200903242.asp