軟件測(cè)試中的白盒測(cè)試分析

伴隨著軟件測(cè)試技術(shù)的迅速發(fā)展产阱,白盒和黑盒測(cè)試在測(cè)試行業(yè)中運(yùn)用的越來(lái)越多江解。白盒測(cè)試相對(duì)于黑盒測(cè)試在很多地方是不同的,白盒趨向于對(duì)軟件結(jié)構(gòu)和代碼進(jìn)行測(cè)試脐彩,可以設(shè)計(jì)出測(cè)試用例碎乃。

可靠的軟件白盒測(cè)試工程師可以通過(guò)白盒對(duì)軟件內(nèi)部的邏輯關(guān)系進(jìn)行定義,對(duì)各種邏輯路徑實(shí)現(xiàn)全面覆蓋惠奸,這樣在測(cè)試中就能檢查各個(gè)點(diǎn)和部位程序狀態(tài)梅誓,保證測(cè)試的實(shí)際與預(yù)期狀態(tài)相一-致。本文將深入分析軟件測(cè)試中的白盒測(cè)試方法,希望對(duì)軟件測(cè)試提供幫助梗掰。

1.軟件白盒測(cè)試的作用及效果

做過(guò)軟件測(cè)試的人都了解白盒測(cè)試能夠準(zhǔn)確地產(chǎn)生出測(cè)試運(yùn)用嵌言。

例如,這個(gè)用例的好處在哪里呢及穗,本文認(rèn)為其有以下作用:

一是摧茴,實(shí)現(xiàn)了測(cè)試模塊中的每個(gè)路徑都能被測(cè)試-次,而且對(duì)所有的邏輯值都能調(diào)用true和fa1se埂陆。

二是苛白,在軟件的上下界面以及可操作的范圍內(nèi)可以運(yùn)行所有的循環(huán),做到測(cè)試的全面性焚虱。

三是购裙,可以自動(dòng)檢查內(nèi)部數(shù)據(jù)的結(jié)構(gòu)性以確保其可以有效的操作。因此鹃栽,將測(cè)試程序當(dāng)做一一個(gè)已經(jīng)打開(kāi)的盒子躏率,那么測(cè)試人員只需要按照盒子中已經(jīng)存在的邏輯結(jié)構(gòu)信息,設(shè)計(jì)相應(yīng)的測(cè)試用例民鼓,就可以實(shí)現(xiàn)全路徑覆蓋測(cè)試禾锤,檢查程序的運(yùn)行狀態(tài),從而確定實(shí)際狀態(tài)與預(yù)期狀態(tài)的差距摹察。

與通常的黑盒測(cè)試相比較,白盒最顯著的優(yōu)勢(shì)就是提高了路徑代碼的覆蓋率倡鲸,在測(cè)試中可以及時(shí)發(fā)現(xiàn)代碼中存在的一些不確定問(wèn)題供嚎。

但是,白盒測(cè)試缺點(diǎn)也是顯而易見(jiàn)的峭状,最主要的就是路徑較為復(fù)雜克滴,測(cè)試不能對(duì)每一條路徑都測(cè)試,測(cè)試全部依賴代碼优床,如果設(shè)計(jì)不夠精確劝赔,會(huì)影響測(cè)試的準(zhǔn)確度,同時(shí)如果系統(tǒng)很龐大胆敞,那么測(cè)試花費(fèi)就會(huì)很高着帽。

2軟件白盒測(cè)試分析

2.1精確挑選白盒測(cè)試工具

從當(dāng)前的白盒測(cè)試運(yùn)用方向來(lái)看,其運(yùn)用端主要集中在了軍工移层、航空航天等高精端行業(yè)仍翰,但是伴隨著測(cè)試活動(dòng)的迅速增加,白盒測(cè)試的運(yùn)用范圍也開(kāi)始變得更加多元化观话,主要是做好對(duì)白盒測(cè)試軟件的選購(gòu)予借。在選購(gòu)中要做到代碼深度覆蓋、開(kāi)發(fā)語(yǔ)言支持以及測(cè)試的全程可視化操作,這樣在測(cè)試中就能做到安全性灵迫。

比如對(duì)于開(kāi)發(fā)語(yǔ)言秦叛,白盒相對(duì)于黑盒主要是對(duì)源代碼測(cè)試,根據(jù)測(cè)試的需求瀑粥,要將重點(diǎn)放在靜態(tài)的錯(cuò)誤分析以及動(dòng)態(tài)的測(cè)試等挣跋。目前,白盒測(cè)試支持的開(kāi)發(fā)語(yǔ)言包含了C++利凑、Java等浆劲,伴隨著軟件語(yǔ)言的多種化,支持的語(yǔ)言會(huì)越來(lái)越多哀澈。同時(shí)要檢查測(cè)試硬件工作是否可以支持PCI/VME/CPCI總線等牌借,因此,在選購(gòu)軟件白盒測(cè)試工具時(shí)割按,要綜合考慮所軟件的測(cè)試性能和測(cè)試標(biāo)準(zhǔn)差等膨报,使測(cè)試得到的數(shù)據(jù)精準(zhǔn)化。

2.2白盒基本路徑測(cè)試法

白盒測(cè)試方法是比較豐富的适荣,經(jīng)常使用的有邏輯覆蓋法现柠、靜態(tài)質(zhì)量度量法等等,但是基于基礎(chǔ)性測(cè)試的基本路徑測(cè)試法是采用最多的測(cè)試方法弛矛,受到測(cè)試者的喜愛(ài)够吩。基本路徑測(cè)試法以程序控制流程圖為基礎(chǔ)丈氓,可以對(duì)結(jié)構(gòu)控制的環(huán)路進(jìn)行分析周循,最后導(dǎo)出局基本的可執(zhí)行路徑的集合,這對(duì)于測(cè)試用例的實(shí)施具有顯著的幫助作用万俗。

主要有4個(gè)過(guò)程:首先湾笛,設(shè)計(jì)出程序控制流程圖,對(duì)程序的實(shí)施流程描述闰歪。其次嚎研,根據(jù)程序環(huán)路復(fù)雜程度導(dǎo)出程序基本路徑,從而解決程序圈的復(fù)雜度库倘。再次临扮,對(duì)測(cè)試用例導(dǎo)出,根據(jù)程序結(jié)構(gòu)和復(fù)雜度設(shè)計(jì)用例的輸入和輸出結(jié)果教翩。

最后公条,將導(dǎo)出的測(cè)試用例進(jìn)行實(shí)施,保證基本路徑中的每一條路徑都被執(zhí)行迂曲,達(dá)到測(cè)試的整體性靶橱。在測(cè)試中,我們要將基本路徑全部覆蓋,在每個(gè)分支的匯集處應(yīng)該有一個(gè)匯集點(diǎn)关霸,這樣測(cè)試數(shù)據(jù)就能集中反映該點(diǎn)的測(cè)試情況传黄,讓測(cè)試或者程序員一目了然

2.3白盒測(cè)試實(shí)例分析

結(jié)合具體的白盒測(cè)試實(shí)例,可以讓分析過(guò)程變得更加合理队寇,因此膘掰,在實(shí)際測(cè)試中,可以根據(jù)客戶的要求佳遣,分別采用語(yǔ)句覆蓋识埋、判定覆蓋及其設(shè)計(jì)測(cè)試用例。(1)語(yǔ)晌覆蓋(StatementCoverage)零渐。

選取足夠的測(cè)試數(shù)據(jù)窒舟,讓測(cè)試程序中的每個(gè)語(yǔ)句至少執(zhí)行1次。(2)判定覆蓋诵盼。判定覆蓋主要是用來(lái)設(shè)計(jì)測(cè)試用例惠豺,保證設(shè)計(jì)的程序中的所有判定都能獲得一次檢驗(yàn)的機(jī)會(huì),比如“真值”和“假值”风宁,或者是“真”分支或者“假”分支洁墙,這樣就能使測(cè)試比較全面。

使用白盒進(jìn)行檢測(cè)時(shí)戒财,要經(jīng)常檢查程序中每條通路是否按預(yù)定的要求正常工作热监,要測(cè)試所有合法的輸入與輸出,發(fā)現(xiàn)路徑或覆蓋問(wèn)題之后饮寞,要重新理解程序內(nèi)部的邏輯結(jié)構(gòu)孝扛,以測(cè)試所有邏輯路徑,該循環(huán)對(duì)象可以同時(shí)在循環(huán)邊界和運(yùn)行邊界上執(zhí)行骂际,以滿足不同測(cè)試的需要。

同時(shí)在測(cè)試中也要檢查未覆蓋的白盒單位冈欢,這是因?yàn)槲锤采w的邏輯單位通常對(duì)應(yīng)未測(cè)試的等價(jià)類歉铝,從而找到遺漏的測(cè)試用例凑耻,讓白盒測(cè)試做到全面化类缤,實(shí)現(xiàn)測(cè)試工作的要求。

2.4白盒測(cè)試持續(xù)改進(jìn)關(guān)鍵

白盒測(cè)試在初始階段膏蚓,企業(yè)內(nèi)部只是進(jìn)行零星的單元測(cè)試或集成測(cè)試實(shí)踐,缺乏成功案例采郎。企業(yè)測(cè)試人員常見(jiàn)對(duì)白盒測(cè)試缺乏概念蒜埋,大概了解代碼審查管嬉、單元測(cè)試以及集成測(cè)試怎么做,但是涉及到具體的場(chǎng)景時(shí)沟启,尤其是模塊單元測(cè)試或者跨模塊、跨子系統(tǒng)實(shí)施集成測(cè)試時(shí)悬而,就會(huì)變得無(wú)頭緒。

伴隨著各種測(cè)試工具的迅速出現(xiàn)呻袭,測(cè)試已經(jīng)不再是測(cè)試人員的負(fù)擔(dān),主動(dòng)測(cè)試也成為了測(cè)試工作者的一種態(tài)度闰蚕,而且在流程開(kāi)發(fā)中已經(jīng)不限于白盒測(cè)試涩哟。

在持續(xù)改進(jìn)的白盒測(cè)試技術(shù)中,測(cè)試與編程人員要做好溝通交流盼玄,積極地設(shè)計(jì)代碼功能贴彼,同時(shí)在標(biāo)準(zhǔn)允許的情況下人工對(duì)設(shè)計(jì)用例進(jìn)行設(shè)計(jì),對(duì)白盒的覆蓋率進(jìn)行統(tǒng)計(jì)埃儿,從而實(shí)現(xiàn)最強(qiáng)的白盒測(cè)試能力器仗,在持續(xù)改進(jìn)中,最理想的覆蓋率是100%的語(yǔ)句童番、標(biāo)準(zhǔn)精钮、分支以及路徑覆蓋。

3結(jié)語(yǔ)

綜上所述剃斧,白盒測(cè)試技術(shù)在軟件測(cè)試中運(yùn)用極為廣泛轨香,深受軟件測(cè)試人員的喜愛(ài),可以依照代碼檢測(cè)軟件中的每條路徑和分支幼东,及時(shí)發(fā)現(xiàn)代碼中的錯(cuò)誤信息臂容,從而達(dá)到最優(yōu)化的測(cè)試。但是筋粗,白盒測(cè)試對(duì)遺漏路徑測(cè)試不足同時(shí)數(shù)據(jù)敏感性也不強(qiáng)策橘,導(dǎo)致測(cè)試時(shí)需要比對(duì)的內(nèi)容多炸渡。

下一步娜亿,在軟件白盒測(cè)試中,測(cè)試人員要持續(xù)改進(jìn)測(cè)試方法和程序蚌堵,提高標(biāo)準(zhǔn)覆蓋买决、判定/標(biāo)準(zhǔn)覆蓋沛婴、標(biāo)準(zhǔn)組合覆蓋、修正判定/標(biāo)準(zhǔn)覆蓋等測(cè)試的比重督赤,從而優(yōu)化測(cè)試路徑嘁灯,提高測(cè)試效率。

看了這篇內(nèi)容后躲舌,堅(jiān)信以下兩件事丑婿,也會(huì)對(duì)你的自我提升有一定的幫助:

1、點(diǎn)贊没卸,讓更多人能看到羹奉,同時(shí)你的認(rèn)可也會(huì)鼓勵(lì)我創(chuàng)作更多優(yōu)質(zhì)內(nèi)容。

2约计、要讓自己變得更強(qiáng):想想诀拭,假如你是要在測(cè)試這個(gè)行業(yè)長(zhǎng)期做下去,你的工作經(jīng)驗(yàn)和測(cè)試技術(shù)是絕對(duì)不夠的煤蚌,你需要提升耕挨,你需要豐富你的技術(shù)棧!還等什么尉桩!

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末筒占,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子魄健,更是在濱河造成了極大的恐慌赋铝,老刑警劉巖,帶你破解...
    沈念sama閱讀 212,816評(píng)論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件沽瘦,死亡現(xiàn)場(chǎng)離奇詭異革骨,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)析恋,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,729評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門良哲,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人助隧,你說(shuō)我怎么就攤上這事筑凫。” “怎么了并村?”我有些...
    開(kāi)封第一講書(shū)人閱讀 158,300評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵巍实,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我哩牍,道長(zhǎng)棚潦,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 56,780評(píng)論 1 285
  • 正文 為了忘掉前任膝昆,我火速辦了婚禮丸边,結(jié)果婚禮上叠必,老公的妹妹穿的比我還像新娘。我一直安慰自己妹窖,他們只是感情好纬朝,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,890評(píng)論 6 385
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著骄呼,像睡著了一般共苛。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上蜓萄,一...
    開(kāi)封第一講書(shū)人閱讀 50,084評(píng)論 1 291
  • 那天俄讹,我揣著相機(jī)與錄音,去河邊找鬼绕德。 笑死患膛,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的耻蛇。 我是一名探鬼主播踪蹬,決...
    沈念sama閱讀 39,151評(píng)論 3 410
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼臣咖!你這毒婦竟也來(lái)了跃捣?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 37,912評(píng)論 0 268
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤夺蛇,失蹤者是張志新(化名)和其女友劉穎疚漆,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體刁赦,經(jīng)...
    沈念sama閱讀 44,355評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡娶聘,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,666評(píng)論 2 327
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了甚脉。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片丸升。...
    茶點(diǎn)故事閱讀 38,809評(píng)論 1 341
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖牺氨,靈堂內(nèi)的尸體忽然破棺而出狡耻,到底是詐尸還是另有隱情,我是刑警寧澤猴凹,帶...
    沈念sama閱讀 34,504評(píng)論 4 334
  • 正文 年R本政府宣布夷狰,位于F島的核電站,受9級(jí)特大地震影響郊霎,放射性物質(zhì)發(fā)生泄漏沼头。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 40,150評(píng)論 3 317
  • 文/蒙蒙 一歹篓、第九天 我趴在偏房一處隱蔽的房頂上張望瘫证。 院中可真熱鬧,春花似錦庄撮、人聲如沸背捌。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,882評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)毡庆。三九已至,卻和暖如春烙如,著一層夾襖步出監(jiān)牢的瞬間么抗,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 32,121評(píng)論 1 267
  • 我被黑心中介騙來(lái)泰國(guó)打工亚铁, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留蝇刀,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 46,628評(píng)論 2 362
  • 正文 我出身青樓徘溢,卻偏偏與公主長(zhǎng)得像吞琐,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子然爆,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,724評(píng)論 2 351

推薦閱讀更多精彩內(nèi)容