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

軟件測試之黑白盒策略的應用

2016-12-31 12:56:25呂宣姣
現代計算機 2016年9期
關鍵詞:缺陷

呂宣姣

(中山大學南方學院,廣州 510970)

?

軟件測試之黑白盒策略的應用

呂宣姣

(中山大學南方學院,廣州510970)

摘要:軟件測試是試圖發現程序中錯誤的破壞性出過程,黑盒測試和白盒測試作為軟件測試常用的兩種策略,有利于設計成功的測試用例,盡可能多地發現程序中的缺陷,以下主要通過實例介紹這兩種測試策略的應用。

關鍵詞:黑盒測試;白盒測試;缺陷;軟件測試

0 引言

隨著科技的發展,軟件產品已應用于社會的各個領域,從日常生活中的手機通話、銀行ATM機操作到機器人、航空航天,我們都可以感受到軟件帶來的方便與快捷。可以說,沒有軟件,我們的生活將不可想象。隨著軟件功能的增多與增強,軟件系統也變得越來越龐大,越來越復雜。眾所周知,世界上沒有完美的軟件,其原因大致可分為:輸入量太大、輸出結果太多、軟件實現途徑太多、軟件說明書沒有客觀標準等[1]。日常生活中,每天都有可能會發生一些由軟件缺陷引起的問題:手機無法正常通話、火星探測器在太空丟失、銀行系統重復扣款或取出異常數額的現金、操作系統異常重啟等。因此,對軟件進行充分的測試就顯得尤為重要。所謂軟件測試是指利用工程方法和測試工具對軟件產品進行功能、性能、可靠性等多方面的測試,最大限度找出產品存在的問題、缺陷或偏差。本文主要介紹軟件測試中常用的兩種工程方法或策略,即:黑盒測試與白盒測試。下文將通過實例詳細描述如何運用這兩種方法對系統軟件進行測試,以發現其可能存在的缺陷并解決之。

1 軟件測試方法

1.1黑盒測試

所謂黑盒測試,即測試人員可以無需關注軟件是如何實現和運行的,只需明確輸入和輸出即可。其中,最為常用的黑盒測試要算等價類劃分和邊界值分析法[1],等價類劃分[2]是一種典型的、重要的黑盒測試方法,它將程序所有可能的輸入數據(有效的和無效的)劃分成若干個等價類。然后從每個部分中選取具有代表性的數據當作測試用例進行合理的分類,測試用例由有效等價類和無效等價類的代表組成,從而保證測試用例具有完整性和代表性。邊界值分析法[2]就是對輸入或輸出的邊界值進行測試的一種黑盒測試方法。通常邊界值分析法是作為對等價類劃分法的補充,這種情況下,其測試用例通常來自等價類的邊界。

以某電子產品的指示燈為例,假設某接口函數的輸入參數為(整型數據),控制的是該電子產品的紅、黃、綠三盞燈,的定義為:

(1)當-10≤l<0時,紅燈亮;

(2)當0≤l<10時,綠燈亮;

(3)當10≤l<20時,黃燈亮;

(4)l為其他值時,任何一盞燈都不亮。

為了驗證輸入參數對顯示燈的控制結果,測試人員會設計不同的輸入參數來進行驗證。以等價類劃分為例,測試人員可能會用到-5,6,18這三個值來驗證(當然也可以使用滿足條件的其他數據進行驗證),期望得到的結果顯然分別是:紅燈亮、綠燈亮、黃燈亮。考慮到測試效果、測試成本以及交付進度,測試人員不可能對所有整數一一進行驗證,因為正常情況下(排除硬件環境異常),l取-5與[-10,5)∪(5,0)范圍內任何一個整型數據的結果都一致;取6與[0,6)∪(6,10)范圍內任何一個整型數據的結果都一致;取18與[10,18)∪(18,20)范圍內任何一個整型數據的結果都一致;這是使燈亮的一類數據,另外一類數據,如:-20和30,輸入后,任何一盞燈都不亮,此類驗證數據即屬于無效等價類的范圍。

作為等價類劃分的補充,測試人員會對數-11、-10、0、10、20進行驗證,結果應該為:

l=-11時,任何一盞都不燈亮;

l=-10時,紅燈亮;

l=0時,綠燈亮;

l=10時,黃燈亮;

l=20時,任何一盞都不燈亮。

這樣的取值思路使用的就是邊界值分析法。

1.2白盒測試

白盒測試,測試人員需要了解軟件具體的設計與實現原理。白盒測試分為靜態白盒測試和動態白盒測試。

(1)靜態白盒測試

靜態白盒測試,是在不執行程序的條件下有條理地仔細審查軟件設計與實現,從而找出軟件缺陷的過程[1]。測試人員需要有一定的編程基礎,并且了解產品的實現方案。測試重點是檢查需求,設計以及源碼:

①實現與需求/設計是否一致;

②代碼是否存在規范性問題;

③程序對異常或出錯分支是否有合理的解決方案;

④代碼的可讀性與易理解性。

(2)動態白盒測試

動態白盒測試,是指利用查看代碼功能和實現方法得到的信息來確認哪些需要測試,如何開展測試[1]。

例如,對于如下一段程序:

#define OK 1

#define ERROR -1

#define A 1000

#define B 3500

int Fun(int flag, long int address, long int offset)

{

if(0== flag) {

FunWirte(address, offset, A);

return OK;

}

else if(1== flag){

FunWirte(address, offset, B);

return OK;

}

else

printf(“輸入的flag不合理 ”);

return ERROR;

}

該函數實現的功能:

若flag的值為0,則通過函數FunWirte將1000寫入到地址address+offset處,返回1;

若flag的值為1,則通過函數FunWirte將3500寫入到地址address+offset處,返回1;

如果輸入參數flag為其它值,則輸出提示信息,然后返回-1。

對于測試人員來說,設計測試用例的思路(執行程序前,將地址address+offset處數據清零):

①輸入參數flag=0,執行程序后,查詢address+offset處的數值是否為1000。

②輸入參數flag=1,執行程序后,查詢address+offset處的數值是否為3500。

③輸入參數flag=2,執行程序后,查詢address+offset處的數值是否為0。

顯然這需要測試人員了解函數Fun的設計思路以及實現原理,并且有一定的編程基礎,實際上,設置flag分別等于0,1,2的測試用例,也滿足了邏輯覆蓋中的語句覆蓋,條件覆蓋,判定覆蓋[3]。

2 結語

本文結合兩個實例分別介紹了軟件測試中常用的兩種測試策略(白盒測試和黑盒測試)的應用,這兩種方法也可以應用于其他任何系統或產品的軟件測試中。

參考文獻:

[1]周予濱,姚靜等.軟件測試[M].北京:機械工業出版社,2002,02.

[2]李龍,軟件測試實用技術與常用模板[M].機械工業出版社,2010,10.

[3]Glenford J.Myers, Tom Badgett, Todd M.Thomas. The Art of Software Testing[M]. John Wiley &Sons,Inc.,Hoboken,New Jersey,2004.

呂宣姣(1982-),女,山西靜樂人,碩士研究生,工程師,研究方向為冗余機器手臂的重復運動規劃、軟件測試

Application of Black-Box and White-Box Software Testing Tactics

LV Xuan-jiao
(Nanfang College,SUN YAT-SEN University, Guangzhou 510970)

Abstract:Software testing is an attempt to find a program error destructive of a process, black-box and white-box testing tactics are commonly used in software testing, which are conducive to design successful test cases, as much as possible defect discovery programs, as following describes the application of these two tactics by way of example.

Keywords:Black-Box Testing; White-Box Testing; Defect; Software Testing

收稿日期:2015-12-29修稿日期:2016-03-01

作者簡介:

文章編號:1007-1423(2016)09-0048-03

DOI:10.3969/j.issn.1007-1423.2016.09.012

猜你喜歡
缺陷
淺談提升企業現金流管理水平的措施
公路施工路基缺陷加固技術的應用探討
淺談集中采購
價值工程(2016年30期)2016-11-24 13:29:52
且虔誠,且寬容
人間(2016年24期)2016-11-23 14:31:23
莫泊桑小說的得與失
柴油機氣門與氣門座圈缺陷的檢驗與維修
簡析湖畔詩人潘漠華詩歌的“歌哭”之苦
醫院會計制度的缺陷及其改進措施探討
中國市場(2016年36期)2016-10-19 04:28:06
園林綠化植物應用現狀與展望
印度電商為兩大“缺陷”苦惱
環球時報(2014-02-17)2014-02-17 23:50:59
主站蜘蛛池模板: 国产成人区在线观看视频| 国产人人乐人人爱| 亚洲91在线精品| 国内嫩模私拍精品视频| 久久人妻xunleige无码| 91在线播放国产| 国产原创演绎剧情有字幕的| 在线观看国产网址你懂的| 无码免费视频| 国产美女91视频| 成人国产小视频| 国产系列在线| 中文字幕在线日本| 亚洲国产系列| 国产aaaaa一级毛片| 国产H片无码不卡在线视频| 色综合色国产热无码一| 欧美日本在线一区二区三区 | 青青操国产视频| 精品少妇三级亚洲| 好吊色国产欧美日韩免费观看| 久久无码免费束人妻| 午夜日韩久久影院| 欧美日韩综合网| 成人福利在线视频免费观看| 日本午夜三级| 男人的天堂久久精品激情| 九九九九热精品视频| 日韩久草视频| 97人妻精品专区久久久久| 九九九精品成人免费视频7| 丰满人妻一区二区三区视频| 青青青视频91在线 | 亚洲欧美一区二区三区蜜芽| 亚洲午夜国产片在线观看| 国产91色在线| 伊人久久久久久久| 国产精品极品美女自在线看免费一区二区| 手机在线免费毛片| 亚洲日韩久久综合中文字幕| 午夜福利网址| 国产欧美成人不卡视频| 国产精品页| 狠狠亚洲婷婷综合色香| 香蕉色综合| 国产产在线精品亚洲aavv| 亚洲最大综合网| 毛片久久久| 亚洲精品无码AⅤ片青青在线观看| vvvv98国产成人综合青青| 亚洲日本中文综合在线| 亚洲欧美在线综合图区| 日本高清有码人妻| 五月天丁香婷婷综合久久| 国产成人AV综合久久| 最新国产你懂的在线网址| 99在线免费播放| 亚洲永久精品ww47国产| 亚洲视频免| 国产高清在线观看91精品| 国产丝袜第一页| 久青草免费在线视频| 国产www网站| 波多野结衣在线se| 亚洲日韩AV无码一区二区三区人 | 午夜国产大片免费观看| 91久久精品日日躁夜夜躁欧美| 国产一级毛片网站| 美女被操91视频| 国产成在线观看免费视频| 色综合五月婷婷| 免费无码网站| 亚洲精品爱草草视频在线| 欧美亚洲国产一区| 日韩亚洲高清一区二区| 国产嫖妓91东北老熟女久久一| 国产一区二区三区夜色| 67194在线午夜亚洲| 久久黄色一级视频| 91精品啪在线观看国产| 四虎国产永久在线观看| 特级毛片免费视频|