亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        軟件測試用例設計分析

        2010-09-23 09:58:20郭學品
        海南開放大學學報 2010年4期
        關(guān)鍵詞:白盒黑盒測試用例

        郭學品,鐘 聲,黃 成

        (1.海南大學信息科學技術(shù)學院,海南???570228; 2.海南師范大學信息科學技術(shù)學院,海南???571158)

        軟件測試用例設計分析

        郭學品1,2,鐘 聲1,黃 成2

        (1.海南大學信息科學技術(shù)學院,海南???570228; 2.海南師范大學信息科學技術(shù)學院,海南???571158)

        軟件測試是軟件開發(fā)過程中的重要組成部分,是發(fā)現(xiàn)軟件缺陷的重要環(huán)節(jié),是保證軟件質(zhì)量和可靠性的重要手段。而軟件測試的成效在某種程度上取決于采用的測試方法和測試用例的設計。因此,測試用例的設計是非常重要和關(guān)鍵的。文章就此對測試用例設計的基本原則、考慮要素、設計方法等進行了闡述和分析。

        軟件測試;測試用例;設計方法;白盒測試;黑盒測試

        隨著現(xiàn)代計算機在社會各行各業(yè)的廣泛應用,各種軟件走進了人們的日常工作和日常生活中,人們越來越多的依賴各種軟件,從而也對軟件品質(zhì)保證提出了更高要求。在這樣的背景下,軟件測試在整個軟件開發(fā)活動中就擺在了特別突出的位置。

        軟件測試是軟件生命周期中的一個重要階段,是保證軟件質(zhì)量和可靠性的重要手段。如何對軟件進行全面、高效的測試成為軟件行業(yè)比較關(guān)注的問題。測試用例是軟件測試活動的核心部分,指導測試工作的開展,是軟件測試必須遵守的準則。軟件測試正是根據(jù)軟件開發(fā)各階段的規(guī)格說明和程序內(nèi)部結(jié)構(gòu)而精心設計了一批測試用例,并利用這些測試用例運行軟件,來發(fā)現(xiàn)軟件系統(tǒng)缺陷的。測試用例對測試工作的控制和指導作用相當于設計文檔對編碼的指導作用,尤其在大系統(tǒng)表現(xiàn)出對系統(tǒng)測試的權(quán)威性。

        一 測試用例定義

        測試用例是對軟件運行過程中所有可能存在的目標、運動、環(huán)境和結(jié)果的描述,是對客觀世界的一種抽象。測試用例是為特定目標開發(fā)的測試輸入、執(zhí)行條件和預期結(jié)果的集合,是有效發(fā)現(xiàn)軟件缺陷的最小測試執(zhí)行單元。這些特定目標可以是驗證一個特定的程序路徑或核實是否符合特定需求。

        測試用例體現(xiàn)了一定的測試方案、方法、技術(shù)和策略,內(nèi)容包括測試目標、測試環(huán)境、輸入數(shù)據(jù)、測試步驟、預期結(jié)果、測試腳本等,并形成文檔。測試用例屬于軟件測試工作的指導性文件,測試用例的優(yōu)劣直接影響軟件測試的質(zhì)量。

        二 測試用例在軟件測試中的作用

        測試用例作為檢驗測試效果的重要參考因素,也從某種角度來衡量軟件質(zhì)量的好壞。設計良好的測試用例具有可重復使用的功能,可以使軟件測試的成本降低,使測試效果事半功倍。

        (一)有效性

        不同測試人員使用相同測試用例得到的驗證結(jié)果是相同的,它是測試人員進行軟件測試的重要參考依據(jù)。

        (二)易組織性

        對于一個項目來說,測試用例有可能在數(shù)月或數(shù)年的測試過程中被創(chuàng)建、使用,測試計劃應組織好這些測試用例,提供給測試人員作為參考和使用。

        (三)可復用性

        軟件測試是不可能進行窮舉測試的,設計良好的測試用例應具有可重復使用的功能,減少編制測試用例的數(shù)量,提高測試效率。

        (四)可評估性

        在測試中,測試用例的通過率是檢驗代碼質(zhì)量的保證。代碼質(zhì)量的高低,可以通過測試用例的通過率和軟件錯誤的數(shù)量來衡量。

        (五)可管理性

        測試用例是檢驗測試人員工作進度和工作量,以及跟蹤管理測試人員的工作效率的一種依據(jù),從而合理做出測試計劃和測試安排。

        三 測試用例設計的基本原則

        (一)盡量避免設計含糊不清的測試用例

        含糊不清的測試用例會給測試過程帶來困難,甚至影響測試結(jié)果。在測試過程中,測試用例一般有三種狀態(tài):通過、未通過和不能測試。如果測試未通過,一般會有測試的錯誤報告進行關(guān)聯(lián);如果不能測試,則需要找出原因,判斷是否是測試用例本身的錯誤,還是環(huán)境因素等其他問題。不能說這個測試用例部分通過,部分未通過,不允許出現(xiàn)模棱兩可的情況。含糊的測試用例會給測試人員的判斷帶來困難,也不利于測試過程的跟蹤。

        (二)盡量避免設計復雜繁瑣的測試用例

        復雜繁瑣的測試用例難于保證測試用例的準確性。因此,在測試過程中,如果測試用例包含很多不同類型的輸入或者輸出,或者測試過程的邏輯復雜而不連續(xù),此時就要對測試用例進行合理分解。

        (三)盡量將類似功能的測試用例抽象并歸類

        由于軟件測試是無法進行窮舉測試的,所以對類似功能的測試用例的抽象歸類顯得尤為重要,一個好的測試用例應該能夠代表一組或者一系列的測試過程。

        四 測試用例設計考慮因素

        (一)測試用例應具有代表性和典型性

        一個測試用例應能基本涵蓋一組或多組情形,這也是測試用例設計的初衷。

        (二)測試用例設計時,要濃縮系統(tǒng)設計

        測試用例需要準確反映系統(tǒng)功能設計,當然也不能完全復制使用規(guī)格設計說明書。同時,測試用例還要結(jié)合多個規(guī)格說明書進行設計,將所有可能出現(xiàn)的情況結(jié)合起來考慮。

        (三)用戶測試用例設計,要多考慮用戶實際使用場景

        用戶測試用例基于用戶實際的可能場景,從用戶的角度模擬程序的輸入,從而針對程序來進行測試的用例,需要考慮用戶實際的環(huán)境因素。

        (四)測試用例設計時,要考慮異常情況

        測試用例不僅需要考慮正確的輸入情形,還要考慮錯誤或異常的輸入情況,以及需要分析如何使得這樣的錯誤和異常能夠發(fā)生。

        五 測試用例設計方法分析

        測試用例設計方法,主要分為白盒設計方法和黑盒設計方法。白盒設計方法分為邏輯覆蓋法和基本路徑覆蓋法,其中邏輯覆蓋法包括語句覆蓋、判定覆蓋、條件覆蓋、判定-條件覆蓋、條件組合覆蓋法。黑盒設計方法分為等價類劃分法、邊界值劃分法、錯誤推測法、因果圖法等。在實際測試用例設計過程中,這些方法不僅單獨使用,常常根據(jù)需要場合綜合運用多個方法,使測試用例的測試效果更佳。

        (一)白盒設計方法

        白盒測試主要針對程序內(nèi)部邏輯和數(shù)據(jù)流程的測試,因此白盒測試用例的設計需要了解程序的內(nèi)部邏輯。根據(jù)程序的控制結(jié)構(gòu)設計測試用例,主要用于軟件驗證。

        白盒測試用例設計的目的是:

        1.保證一個模塊中所有獨立路徑至少被執(zhí)行一次;

        2.對所有邏輯值均需要測試真、假兩個分支;

        3.在上下邊界及可操作范圍內(nèi)檢查;

        4.檢查內(nèi)部數(shù)據(jù)結(jié)構(gòu)的有效性。

        白盒測試用例設計方法的設計思想:

        1.語句覆蓋:設計若干測試用例,使被測程序中的每個語句至少都能執(zhí)行一次。

        2.判定覆蓋:設計若干測試用例,使被測程序中的每個判斷至少都能獲得一次“真”值和“假”值,或者說使得程序中的每個分支至少都執(zhí)行一次。

        3.條件覆蓋:設計若干測試用例,使每個判斷中的每個條件的可能取值至少滿足一次,即使得判定中的每個條件獲得各種可能的結(jié)果。

        4.判定-條件覆蓋:設計若干測試用例,使判斷條件中的所有條件至少執(zhí)行一次取值,同時,所有判斷的可能結(jié)果至少都執(zhí)行一次。

        5.條件組合覆蓋:設計足夠測試用例,使每個判斷中的條件的各種組合都至少出現(xiàn)一次。

        6.基本路徑覆蓋:設計足夠測試用例,確?;韭窂郊械拿恳粭l路徑都執(zhí)行。

        上述的幾種邏輯覆蓋法中,它們的邏輯覆蓋程度的強弱如圖1所示。圖中,連線上方的覆蓋程度比連線下方的覆蓋程度要強。其中,條件組合覆蓋法覆蓋程度最高,判定覆蓋和條件覆蓋不能比較覆蓋程度強弱。

        (二)黑盒設計方法

        黑盒測試主要是基于功能規(guī)格說明進行的測試,黑盒測試用例的設計不需要考慮程序內(nèi)部的邏輯結(jié)構(gòu)和特性。黑盒測試主要根據(jù)輸入條件和輸出條件確定測試數(shù)據(jù),檢查程序是否能產(chǎn)生正確的輸出。

        黑盒測試用例設計的目的主要是:

        1.檢查功能是否實現(xiàn)或遺漏;

        2.檢查人機界面是否錯誤;

        3.是否有數(shù)據(jù)結(jié)構(gòu)錯誤或外部數(shù)據(jù)庫訪問錯誤;

        4.性能等其他特性要求是否滿足。

        黑盒測試用例設計方法的設計思想:

        1.等價類劃分法:把程序的輸入域劃分為若干子集,從每一個子集選取少數(shù)具有代表性的數(shù)據(jù)作為測試用例,既考慮有效等價類劃分,又要考慮無效等價類劃分。

        2.邊界值劃分法:從一個等價類中選一個或幾個例子,測試等價類的邊界情況;不僅根據(jù)輸入條件,還可能根據(jù)輸出情況來設計測試用例。

        3.錯誤推測法:憑測試者經(jīng)驗和直覺推測程序中可能存在的各種錯誤,從而有針對性的編寫檢查這些錯誤的測試用例。

        4.因果圖法:著重檢查輸入條件的各種組合情況,找出因果關(guān)系,通過畫因果圖將功能說明轉(zhuǎn)換成一張判定表,然后為判定表的每一列設計測試用例數(shù)據(jù)。

        在實際應用中,采用黑盒法設計測試用例的策略為:首先使用邊界值劃分法,必要時用等價類劃分法,必要時再用錯誤推測法;如果在程序中含有輸入條件的組合,則先采用因果圖法,再按上述策略進行。

        通過上面論述,我們發(fā)現(xiàn),白盒測試是一種驗證技術(shù),主要回答“我們在正確地構(gòu)造一個系統(tǒng)嗎?”;而黑盒測試是一種確認技術(shù),主要回答“我們在構(gòu)造一個正確的系統(tǒng)嗎?”。兩者的方法分析比較,我們知道各有千秋,每種方法提供的測試用例可能比較容易發(fā)現(xiàn)某種類型的錯誤,但不易發(fā)現(xiàn)其他類型的缺陷。因此,對于一個具體的待測系統(tǒng),應該將各種設計方法結(jié)合起來,選擇最佳的幾種方法組合進行綜合測試。

        總之,在實際的測試用例設計中,還應將設計的基本原則和各種考慮因素結(jié)合起來,遵循基本書寫規(guī)范,按照實際需求靈活組織設計測試用例。選擇合適的設計方法和策略,使得設計出來的測試用例能夠達到這樣的要求:

        1.可以最大程度地滿足測試覆蓋要求

        2.可以最大程度地找出軟件隱藏的缺陷

        3.可以最高效率地找出軟件錯誤

        4.測試用例既不過分復雜、也不能過分簡單

        5.使軟件缺陷的表現(xiàn)可以清楚的判定

        6.測試用例包含期望的正確結(jié)果

        7.待查的輸出結(jié)果或文件必須盡量簡單明了

        8.測試用例內(nèi)容清晰、格式一致、分類組織

        9.不包含重復的測試用例

        小 結(jié)

        軟件測試是軟件研發(fā)過程的重要組成部分,是保證軟件質(zhì)量和可靠性的重要環(huán)節(jié),軟件測試的成效直接關(guān)系到軟件系統(tǒng)的優(yōu)劣。因此一個軟件系統(tǒng)在發(fā)布上市前,都必須經(jīng)過嚴格的測試過程。當然,由于軟件系統(tǒng)的復雜性,軟件測試不可能找到系統(tǒng)中的所有錯誤,也不能證明系統(tǒng)程序的正確性,只能最大程度的發(fā)現(xiàn)系統(tǒng)中隱藏的錯誤和缺陷。

        測試用例設計是軟件測試的核心,測試用例設計得當,在某種程度上決定著軟件測試的成效。因此在軟件測試中,測試用例的設計是非常重要和關(guān)鍵的。當然,對于一個比較復雜的系統(tǒng)測試來說,如何設計正確、高效的測試用例是非常困難的,需要軟件測試人員具備較高的專業(yè)素質(zhì)和豐富的測試經(jīng)驗。

        [1]鄭人杰.實用軟件工程[M].北京:清華大學出版社,2002.

        [2]張海藩.軟件工程[M].北京:人民郵電出版社.2007.

        [3]陳松喬,任勝兵,王國軍.現(xiàn)代軟件工程[M].北京:清華大學出版社,2005.

        [4]肖漢等.軟件工程理論與實踐[M].北京:科學出版社,2006.

        [5]朱少民.軟件測試方法和技術(shù)[M].北京:清華大學出版社,2005.

        [6]W illiam E.Lewis,Gunasekaran Veerapilla著,陳紹英等譯.軟件測試與持續(xù)質(zhì)量改進[M].北京:人民郵電出版社, 2008.

        [7]李寧,李戰(zhàn)懷.基于黑盒測試的軟件測試策略研究與實踐[J].計算機應用研究,2009(3).

        [8]崔天意.軟件測試分析方法研究[J].信息化研究,2010(6).

        (責任編輯:王 玨)

        TP 311.5

        A

        1009-9743(2010)04-0136-04

        2010-09-20

        1、2.郭學品(1973-),男,漢族,海南昌江人。海南大學信息科學技術(shù)學院通信與信息系統(tǒng)專業(yè)2005級在職碩士研究生,海南師范大學信息科學技術(shù)學院講師。主要研究方向:軟件測試,軟件工程;1.鐘聲(1962-),男,漢族,江西人。海南大學信息科學技術(shù)學院教授。主要研究方向:計算機算法,軟件工程;2.黃成(1970-),男,漢族,海南文昌人。海南師范大學信息科學技術(shù)學院副教授。主要研究方向:教育技術(shù)。

        海南省自然科學基金項目(項目編號:808154)

        猜你喜歡
        白盒黑盒測試用例
        一種基于局部平均有限差分的黑盒對抗攻擊方法
        面向未來網(wǎng)絡的白盒交換機體系綜述
        DWB-AES:基于AES 的動態(tài)白盒實現(xiàn)方法
        通信學報(2021年2期)2021-03-09 08:55:32
        基于SmartUnit的安全通信系統(tǒng)單元測試用例自動生成
        網(wǎng)絡“黑”“白”之爭
        通信世界(2018年29期)2018-11-21 06:34:44
        基于混合遺傳算法的回歸測試用例集最小化研究
        基于依賴結(jié)構(gòu)的測試用例優(yōu)先級技術(shù)
        基于EEPROM數(shù)據(jù)讀寫的智能電能表白盒測試方法
        電測與儀表(2014年3期)2014-04-04 09:08:08
        軟件回歸測試用例選取方法研究
        少妇无码太爽了不卡视频在线看 | 国产精品久久久久久久y| 久久无码高潮喷水抽搐| 成人偷拍自拍在线视频| 丝袜美腿视频一区二区| 久久久久成人精品无码| 暖暖免费 高清 日本社区在线观看| 日日噜噜噜夜夜爽爽狠狠视频| 国产无卡视频在线观看| 亚洲爆乳精品无码一区二区三区 | 看黄a大片日本真人视频直播| 高清无码一区二区在线观看吞精| 亚洲精品中文字幕不卡在线| 91精品欧美综合在线观看| 久久精品av在线视频| 日本动漫瀑乳h动漫啪啪免费| 日韩电影一区二区三区| 久久99精品久久久久久久清纯| 黑人一区二区三区在线| 国产精品一区二区三区三| 中文字幕在线看精品乱码 | 九月婷婷人人澡人人添人人爽| 久久麻豆精品国产99国产精| 日本一区二区三区资源视频| 亚洲国产91精品一区二区| 精品国产一区二区三区三| 男女性杂交内射妇女bbwxz| 国产真实乱人偷精品人妻| 麻豆变态另类视频在线观看| 最近亚洲精品中文字幕| 黄色潮片三级三级三级免费| 日本久久伊人特级黄色| 人人爽人人爽人人爽人人片av| 色综合久久加勒比高清88| 精品中文字幕日本久久久| 丰满又紧又爽又丰满视频| 久久亚洲av无码精品色午夜| 中国农村妇女hdxxxx| 国产精品玖玖玖在线资源| 国产精品一区二区三区黄片视频| 亚洲精品国产一二三区|