999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于擴展對象關系圖的集成測試研究

2008-12-31 00:00:00劉長華
電腦知識與技術 2008年14期

摘要:測試順序是面向對象軟件集成測試中的一個重要問題。本文提出使用擴展對象關系圖作為測試模型研究面向對象軟件集成測試順序問題,并給出計算測試順序的算法以及設計測試用例的策略。

關鍵詞:擴展對象關系圖;集成測試;測試順序;多態

中圖分類號:TP311文獻標識碼:A文章編號:1009-3044(2008)14-20938-02

1 引言

面向對象軟件特有的封裝、繼承、多態和動態綁定等特征產生了傳統語言根本不存在的錯誤類型,因此傳統的軟件測試技術不能直接應用到面向對象軟件測試中來。面向對象軟件測試相對于面向對象軟件分析、設計和編程來說還沒有引起足夠的重視,尤其是多態對面向對象軟件集成測試的影響還需要進一步研究。多態是面向對象軟件特有的特征,凡是父類對象出現的地方都可以用子類對象進行替換的多態稱為對象多態;同一個消息可以被不同對象接受而產生不同行為的多態稱為消息多態。

測試順序(Test Order)是面向對象軟件集成測試研究的一個重要問題。文獻[1-4]提出利用對象關系圖(Object-Oriented Graph)研究測試順序,但是這些文獻都沒有涉及到多態對測試順序的影響。文獻[5]在對象關系圖上增加因消息多態引起的動態依賴信息,構成擴展對象關系圖(Extended Object-Oriented Graph),作為研究測試順序的測試模型,但是該文沒有考慮對象多態對交互測試的影響以及沒有給出哪些類之間需要進行兩兩交互測試以及它們之間的測試順序。本文在文獻[5]的基礎之上,在擴展對象關系圖中增加對象多態信息,并設計算法計算哪些類之間需要進行交互測試以及它們之間的測試順序。

2 擴展對象關系圖

對象關系圖在文獻[1]中首次作為面向對象回歸測試的測試模型。程序P的對象關系圖是一個有向圖,其中的結點表示程序P中的類,有向邊表示程序P中類間的依賴關系。繼承、聚集和關聯關系是面向對象模型中三種最為廣泛使用的類間依賴關系。繼承意味著基類中定義的特性可以自動在所有的子類中定義;聚集意味著一個對象是另一個對象的一個組成部分;關聯意味著兩個對象之間存在著更一般的關系,A關聯B表示A會存取B中的數據成員或A會向B傳遞消息。

定義2.1 G=(V,L,E)表示邊上加標簽的有向圖,其中V={V1,V2,…,Vn}是結點的有限集合,L={L1,L2,…,Lk}是標簽的有限集合,邊集E#8838;V×V×L是帶標簽的邊的有限集合。

定義2.2 面向對象程序P的對象關系圖是一個邊上加標簽的有向圖ORG=(V,L,E),其中集合V中的結點表示程序P中的類,標簽集L={I,Ag,As}中的元素表示邊上的標簽集合,邊集E=EI∪EAg∪EAs的定義如下:

定義2.3 EI#8838;V×V×L是一個有向邊的集合,EI中的有向邊反映的是P中類之間的繼承關系。

定義2.4 EAg#8838;V×V×L是一個有向邊的集合,EAg中的有向邊反映的是P中類之間的聚集關系。

定義2.5 EAs#8838;V×V×L是一個有向邊的集合,EAs中的有向邊反映的是P中類之間的關聯關系。

定義2.6 如果一個類在對象關系圖中既沒有被其它類包含又不是其它類的子類,則稱該類為主類。例如,圖1中類A和類F是主類。

定義2.7 設D1(X)是類X靜態依賴的所有類構成的集合。

類X靜態依賴類Y當且僅當在對象關系圖中存在一條從類X到類Y的有向路徑。例如,圖1中的D1(A)={B,C,D,F,G,H}。

定義2.8 設D2 (X)是類X靜態和動態依賴的所有類構成的集合。

動態依賴關系可以從靜態關系中推導出來。如果類Y是類X的服務類,則在程序執行的時候,類X及其所有直接或間接子類動態依賴Y及其所有直接或間接子類。例如,圖1中的D2(A)={B,C,D,F,G,H,F1,F2}。如果在對象關系圖中用虛邊表示動態依賴信息,則構成的對象關系圖稱為擴展對象關系圖。圖2是圖1加上動態依賴信息之后形成的擴展對象關系圖。

3 測試順序

測試順序是面向對象軟件集成測試研究的一個重要問題。在面向對象軟件集成測試階段,構造一個類對象或類成員函數的測試樁的代價非常昂貴。因此,假如使用已經測試過的組件去測試將要被測試的組件,則可以減少構造測試樁的工作量。這個策略的基本思想就是首先測試獨立的組件,然后根據依賴關系測試有依賴關系的組件。例如,如果測試人員首先測試服務類,然后再測試客戶類,則可以減少構造測試樁的工作量。拓撲排序可以用來計算無環對象關系圖的測試順序。例如,圖1的測試順序為B-C-G-H-F-F1-F2 -D-A-E-A1-A2。如果對象關系圖有環,則可以采用某種策略臨時刪除某些關聯邊使之變成無環的對象關系圖,然后再應用拓撲排序計算相應的測試順序。

測試順序解決的是類的測試順序問題,而沒有解決哪些類之間需要進行兩兩交互測試以及它們之間的測試順序。例如,圖2中需要進行交互測試的有AB,AC,AD,FG,FH,DF,AF,A1E,A1B,A2F,A1F,A1F1,A1F2,A2F1,……,其中AD應該在DF之后測試。下面給出計算需要進行兩兩交互測試的類及其順序的算法。其中,假設對象關系圖中沒有環(對應的擴展對象關系圖中可能有環),并且算法從對象關系圖中的主類開始遍歷整個擴展對象關系圖。

步驟1:如果(V,Vi)之間有一條聚集邊,則遞歸處理Vi,遞歸返回時將(V,Vi)插入到測試順序隊列中;

步驟2:如果(V,Vi)之間有一條關聯邊,則遞歸處理Vi,遞歸返回時將(V,Vi)插入到測試順序隊列中;

步驟3:如果(V,Vi)之間有一條動態關聯邊,則將(V,Vi)插入到測試順序隊列中;

步驟4:如果(Vi,V)之間有一條繼承邊,則遞歸處理Vi 。

根據上述算法可知,如果從圖2中的主類A開始遍歷,則得到的兩兩交互測試及其測試順序為AB-AC-FG-FH-DF-DF1-DF2-AD-AF-AF1-AF2-A1E-A1B -A1F-A1F1-A1F2-A2F-A2F1-A2F2。

4 設計交互測試用例

確定好哪些類之間需要進行兩兩交互測試以及它們之間的測試順序之后便可以設計交互測試用例。

步驟1:確定每個類的設計狀態。例如,隊列有空、非空和滿三種設計狀態;

步驟2:根據交互對象的狀態組合設計交互測試用例;

步驟3:如果某個交互測試的測試用例數量太大,則可以使用某種啟發式策略減少測試用例的設計數量。

5 結束語

測試順序是面向對象軟件集成測試的一個重要問題,并給出計算集成測試順序的算法以及設計測試用例的策略。本文提出利用擴展對象關系圖作為測試模型研究集成測試問題。本文只解決了兩個類間的交互測試及其順序問題,多個類間的交互測試及其順序問題還需要進一步研究。

參考文獻:

[1] KUNG D C, GAO J, HSIA P, et al. Class firewall, test order, and regression testing of object-oriented programs[J]. Journal of Object-Oriented Programming, 1995, 8(2): 239-244.

[2] TAI K C, DANIELS F J. Test order for inter-class integration testing of object-oriented software[C]. Proceedings of the CompsAC'97-21st International Computer Software and Applications conference, 1997: 602-607.

[3] TRAON Y L, JéRON T, JéZéQUEL J M, et al. Efficient object-oriented integration and regression testing [J]. IEEE Transactions on Reliability, 2000, 49(1):12-25.

[4] MAO Ying-Cheng, LU Yan-Sheng. An improved algorithm for planning inter-class test order[C]. Proceedings of the Fifth International Conference on Computer and Information Technology (CIT'05), 2005: 927-931.

[5] LABICHE Y, THEVENOD P, WAESELYNCK H, etc. Testing levels for object-oriented software[C]. Proceeding of the 22nd IEEE International Conference on Software Engineering (ICSE), Limerick (Ireland), IEEE Computer Society, 2000:136-154.

注:本文中所涉及到的圖表、注解、公式等內容請以PDF格式閱讀原文

主站蜘蛛池模板: 国产午夜福利在线小视频| 日韩久草视频| 国产成人亚洲综合a∨婷婷| 亚洲中文字幕久久精品无码一区| 777午夜精品电影免费看| 最新精品久久精品| 国产成人亚洲毛片| 国产福利不卡视频| 日韩色图区| 亚洲永久免费网站| 欧美黄网在线| 91精品啪在线观看国产| 麻豆国产精品| 国产毛片高清一级国语| 亚洲精品无码av中文字幕| 欧美日韩高清在线| 中文字幕有乳无码| 国产手机在线ΑⅤ片无码观看| 亚洲三级影院| 国产成人综合亚洲欧美在| 成人免费午间影院在线观看| 丰满的熟女一区二区三区l| 国产午夜小视频| 亚洲国产欧美国产综合久久| 国产精品久久久久无码网站| 五月天香蕉视频国产亚| 在线毛片免费| 国产青青草视频| 日韩欧美中文字幕在线精品| 欧美一级特黄aaaaaa在线看片| 亚洲愉拍一区二区精品| 精品無碼一區在線觀看 | 久久九九热视频| 亚洲国产中文欧美在线人成大黄瓜 | 制服无码网站| 九色在线视频导航91| 欧美精品伊人久久| 久久久久久国产精品mv| 播五月综合| 国产黄在线观看| 日韩色图在线观看| 久久婷婷五月综合97色| 成色7777精品在线| 国禁国产you女视频网站| 在线看片免费人成视久网下载| 97无码免费人妻超级碰碰碰| 国产成人精品三级| 国产特级毛片aaaaaa| 亚洲日韩高清在线亚洲专区| 亚洲成人www| 日韩在线欧美在线| 日本道综合一本久久久88| 国产一区二区网站| 久久香蕉国产线看观| 日韩在线中文| 永久在线精品免费视频观看| 国产情侣一区二区三区| 欧美综合在线观看| 一区二区三区成人| 亚洲视频免费播放| 亚洲国产成熟视频在线多多| 久久婷婷国产综合尤物精品| 99ri国产在线| 91热爆在线| 毛片免费试看| 国产欧美日韩免费| 亚洲激情区| 欧美专区日韩专区| 一区二区午夜| 国产丰满大乳无码免费播放| 9久久伊人精品综合| 97人妻精品专区久久久久| 在线精品亚洲一区二区古装| 亚洲首页国产精品丝袜| 日韩美一区二区| av在线无码浏览| 色综合中文| 午夜福利无码一区二区| 亚洲人成影视在线观看| 欧美中文字幕在线二区| 日本在线亚洲| 玖玖免费视频在线观看|