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

面向對象的白盒測試技術的研究與分析

2010-01-01 00:00:00巨志斌
軟件工程 2010年5期

摘要:本文討論了面向對象軟件的特點,從軟件測試的層次劃分出發,以一個自動售貨機為例設計了一個軟件系統的白盒測試用例,分析了白盒測試在面向對象軟件測試中的特點和測試的方法。

關鍵詞:面向對象;白盒測試;用例

1 引言

如何提高軟件質量是軟件工程致力解決的關鍵問題之一。軟件測試和驗證是保證軟件正確性和提高軟件可靠性的最基本和最重要的手段。自20世紀80年代以來,面向對象方法和技術的研究已遍及計算機軟件、硬件和應用各領域,在軟件工程領域更是得到了廣泛的重視,但研究的重點和成果主要集中于面向對象分析與技術方法學領域(即軟件開發的前期),而面向對象軟件測試技術的研究還比較薄弱。近年來,國內外對面向對象軟件測試進行了大量的研究,但目前該領域還處于百家爭鳴的階段,還未形成一套較為成熟與完善的軟件測試理論與方法。本文從軟件測試的層次劃分出發,對面向對象的測試方法和解決方案做一探討,并結合具體項目給出了實例設計。

2 面向對象理論

運用面向對象的方法和技術,首先必須明確什么是“面向對象”。曾經有很多年,“面向對象”被認為是使用一系列面向對象程序設計語言(如Ada95,C++,Smalltalk等)的軟件開發方法。現在“面向對象”己包含完整的軟件工程觀點,Peter Coad和Edward Yourdon給出了“面向對象”的如下定義:面向對象(Object-Oriented)=對象(Objects)+分類(Classification)+繼承(Inheritance)+通信(Communication)。

面向對象軟件的封裝性、繼承性、多態性和動態綁定等特性提高了軟件的可重用性,使軟件開發更快、質量更高,而且軟件易于維護、易于修改。通過組裝可利用子系統而產生更大的系統,然而另一方面,它卻給軟件測試帶來了更多的困難。與之相對應的軟件測試技術還相對滯后,如何探索出一套行之有效的方法,尤其是如何采用自動化的方法來測試這些軟件,己成為軟件測試者們所面臨的挑戰。

3 白盒測試的傳統方法

白盒測試方法主要依據邏輯段蓋準則,如語句覆蓋和判定覆蓋等。這些覆蓋準則是白盒測試方法的重要理論基礎,能夠指導測試人員設計出有效的測試用例。

SQA Team Test是測試Power Builder軟件的有用測試工具,它能夠與Power Builder對象緊密地結合在一起,根據使用SQA Team Test測試軟件的經驗和對該軟件的理解,認為設計出有效的測試用例仍是使用SQA Team Test測試軟件的關健性工作。能否設計出一系列有效的測試用例,將直接影響到軟件的測試效果,因為SQA Team Test測試軟件的測試思想是回歸測試,所以能否發現軟件中存在的問題,仍依賴于測試用例的設計。

從前面的分析中可以看出,無論是使用白盒測試方法還是使用SQA Team Test測試軟件,設計有效的測試用例是測試工作的重要環節。傳統的白盒測試方法是按照軟件模塊內的邏輯控制結構、運行過程和模塊間的組織結構與接口,逐個設計出針對每個模塊、每個子系統和系統的測試用例,因此每個模塊都會被測試到,或者說能夠保證測試的模塊被覆蓋。因為白盒測試的基礎是依據對程序結構的清楚描述,而模塊內部的邏輯履蓋由邏輯覆蓋準則提供保證。但是在事件驅動面向對象的軟件中,軟件的設計思路和軟件的結構與傳統的面向過程的軟件相比已經發生了相當大的改變,對象和事件概念在軟件開發中占有非常重要的地位,而傳統的白盒測試方法并不能適應這種變化。

4 面向對象白盒測試框架分析

測試設計是整個測試過程的關鍵部分,面向對象軟件開發中的白盒測試設計優劣更是整個測試工作的成敗所在。為此在本文中我們可以具體的實例來設計一個白盒測試的框架和方法。

面向對象的白盒測試通常不能獨立地測試一個方法(操作),這個方法相當于傳統的測試單元,而是將這個方法作為一個測試類的一部分。

如果一個基類中有一個方法,繼承類也繼承了這個方法,但是這個方法可能在繼承類中被私有數據和方法使用,所以盡管基類中已經測試了這個方法,但是每個繼承類也需要考慮對這個方法進行測試。一般從下面兩個方面進行考慮。

(1)繼承的成員函數是否都不需要測試。一般來說,對父類中已經測試過的成員函數,兩種情況需要在子類中重新測試,即繼承的成員函數在子類中作了改動,或成員函數調用了改動過的成員函數的部分。

(2)對父類的測試是否能照搬到子類。多態有幾種不同的形勢,如參數多態,包含多態,過載多態。包含多態和過載多態在面向對象語言中通常體現在子類與父類的繼承關系上。對具有包含多態的成員函數測試時,只需要在原有的測試分析的基礎上擴大測試用例中輸入數據的類型。

從上面的分析可以看出,面向對象的軟件的白盒測試主要是針對軟件設計中的類和對象來進行測試的。因此鏈接被測試的軟件的類結構,是進行白盒測試的關鍵。由于封裝的原則,在面向對象軟件的類一般設計為私有或受保護類型,即類的屬性和方法是無法從外部直接訪問的,必須通過類中的公有方法來實現。因此設計測試用例時必須要注意對這些公有成員的才做。白盒測試邏輯覆蓋的方法主要包括語句覆蓋、分支覆蓋、條件覆蓋、條件組合覆蓋等。窮舉測試要求對所有可能的輸入和狀態執行所有的路徑,除非對一些小實例,窮舉測試是不現實的,通常是通過從所有可能的測試用例中確定最有可能檢測出最多錯誤的子集,進行有限的測試來發現盡可能多的錯誤。但是為了實現對類中所有方法的有效測試,必須設計足夠多的測試用例。

下面我們就以一個自動售貨機為例設計一個軟件系統的白盒測試用例。一個軟件系統是有很多的服務組成的,而每個服務時由很多的用例組成的,下面我們給出自動售貨機的用例和服務,如表1所示,描述用例的用例圖如圖1所示。

對用例的用戶描述往往采用系統序列圖,它將系統看做一個整體,并從用戶的角度描述用例的處理過程,以購買商品用例為例,給出其處理過程序列表如表2所示。

借助購買商品的流程可以對服務進行白盒測試。白盒測試主要進行基本路徑測試,我們在這里主要設計語句覆蓋測試和分支覆蓋測試,來設計面向對象軟件的白盒測試的測試用例,測試用例的設計原則是保證在測試中程序的每一個可執行語句至少執行一次,針對購買商品的流程得出的具體路徑有兩條,路徑1:1-2-3-4-5;路徑2:1-3a-2-3-5a-4-4a-5。

根據路徑生成測試用例:根據判斷節點給出的條件,選擇適當的數據以保證每一條路徑可以被測試到。只要設計出的測試用例能夠保證控制流程圖中的所有路徑都能被執行到,就可以使得程序中的每一個可執行語句至少執行一次,則服務中每個條件的真假兩種取值都可以得到測試,從而實現可以檢查程序的主要執行路徑,又可以覆蓋程序的所有分支,而且可以滿足語句覆蓋的要求。

5 小結

由于面向對象軟件自身的特點,使得面向對象的白盒測試有別于傳統的白盒測試思想。到目前為止,現有的面向對象軟件測試方法還存在許多問題,對面向對象軟件的白盒測試技術還有待進一步的深入研究,以便做出對軟件測試的理論和實踐有指導意義、有影響的成果。

參考文獻

[1]LARMAN C.UML和模式應用:面向對象分析與設計導論[M].姚淑珍,李虎,譯.北京:機械工業出版社,2001.

[2]JACOBSON I, BOOCH G, RUMBAUGH J.統一軟件開發過程[M].周伯生,馮學民,樊東平,譯.北京:機械工業出版社,2001.

[3]PRESSMAN R S.軟件工程:實踐者的研究方法[M].黃柏素,梅宏,譯.北京:機械工業出版社,1999.

主站蜘蛛池模板: 人妻21p大胆| 亚洲AV成人一区二区三区AV| 一级成人a毛片免费播放| 日韩国产亚洲一区二区在线观看| 成人久久精品一区二区三区| 中文字幕在线观| 99在线观看视频免费| 青青青亚洲精品国产| 就去吻亚洲精品国产欧美| 国产成人亚洲综合a∨婷婷| 无码内射中文字幕岛国片| 中文字幕亚洲精品2页| 91久久精品国产| 本亚洲精品网站| 亚洲成人www| 波多野结衣第一页| 波多野结衣爽到高潮漏水大喷| 999精品在线视频| 92精品国产自产在线观看| 久久无码av三级| 国产国产人成免费视频77777 | 亚洲动漫h| 亚洲综合日韩精品| 99无码中文字幕视频| 国产人人干| 美美女高清毛片视频免费观看| 欧美成人午夜影院| 谁有在线观看日韩亚洲最新视频| 国产交换配偶在线视频| 日本中文字幕久久网站| 一区二区三区国产| 亚洲欧美另类专区| 亚洲三级电影在线播放| 3p叠罗汉国产精品久久| 亚洲一区无码在线| 日韩无码一二三区| 亚洲成a人片在线观看88| 国模沟沟一区二区三区| 成人永久免费A∨一级在线播放| 国产欧美自拍视频| 国产污视频在线观看| 动漫精品啪啪一区二区三区| 亚洲大尺度在线| 久久精品66| 大陆精大陆国产国语精品1024| 国产剧情一区二区| 99re热精品视频国产免费| 国产一区在线视频观看| 亚洲综合婷婷激情| 欧美成人一区午夜福利在线| 91蜜芽尤物福利在线观看| 无码AV高清毛片中国一级毛片| 国产理论精品| 999福利激情视频| 亚洲无码高清视频在线观看 | 青草视频免费在线观看| 亚洲毛片一级带毛片基地| 欧美伊人色综合久久天天| 91久久偷偷做嫩草影院精品| 免费国产黄线在线观看| 久久香蕉国产线看观看式| 日韩免费毛片| 9丨情侣偷在线精品国产| 一本色道久久88综合日韩精品| 国产精品手机在线播放| 伊人91视频| 91麻豆国产精品91久久久| 久久无码av三级| 99re在线视频观看| 波多野吉衣一区二区三区av| 欧美一级在线播放| 日本不卡在线播放| 成人噜噜噜视频在线观看| 国产精品美女在线| 欧美日本不卡| 欧美人与性动交a欧美精品| 五月综合色婷婷| 色爽网免费视频| 日韩123欧美字幕| 久久人体视频| 亚洲另类色| 亚洲欧美h|