軟件測(cè)試人員該如何選擇白盒測(cè)試工具?常用的白盒測(cè)試工具匯總

發(fā)布時(shí)間:2020-06-15

在白盒測(cè)試方法中,測(cè)試人員已經(jīng)了解了系統(tǒng)內(nèi)部的構(gòu)造,并清晰地知道系統(tǒng)是如何實(shí)現(xiàn)的。 軟件測(cè)試人員利用這些知識(shí)去開(kāi)發(fā)測(cè)試用例,以用來(lái)檢查控制流,信息流,數(shù)據(jù)流,異常和錯(cuò)誤處理和系統(tǒng)的編碼實(shí)踐等,這種方法稱為白盒測(cè)試。

白盒測(cè)試又稱結(jié)構(gòu)測(cè)試、透明盒測(cè)試、邏輯驅(qū)動(dòng)測(cè)試或基于代碼的測(cè)試。白盒測(cè)試是一種測(cè)試用例設(shè)計(jì)方法,盒子指的是被測(cè)試的軟件,白盒指的是盒子是可視的,你清楚盒子內(nèi)部的東西以及里面是如何運(yùn)作的。“白盒”法全面了解程序內(nèi)部邏輯結(jié)構(gòu),對(duì)所有邏輯路徑進(jìn)行測(cè)試。

白盒測(cè)試工具

白盒測(cè)試工具一般是針對(duì)代碼進(jìn)行測(cè)試,測(cè)試中發(fā)現(xiàn)的缺陷可以定位到代碼級(jí),根據(jù)測(cè)試工具原理的不同,又可以分為靜態(tài)測(cè)試工具和動(dòng)態(tài)測(cè)試工具。靜態(tài)測(cè)試工具直接對(duì)代碼進(jìn)行分析,不需要運(yùn)行代碼,也不需要對(duì)代碼編譯鏈接,生成可執(zhí)行文件。

靜態(tài)測(cè)試工具一般是對(duì)代碼進(jìn)行語(yǔ)法掃描,找出不符合編碼規(guī)范的地方,根據(jù)某種質(zhì)量模型評(píng)價(jià)代碼的質(zhì)量,生成系統(tǒng)的調(diào)用關(guān)系圖等;動(dòng)態(tài)測(cè)試工具與靜態(tài)測(cè)試工具不同,動(dòng)態(tài)測(cè)試工具的一般采用“插樁”的方式,向代碼生成的可執(zhí)行文件中插入一些監(jiān)測(cè)代碼,用來(lái)統(tǒng)計(jì)程序運(yùn)行時(shí)的數(shù)據(jù)。其與靜態(tài)測(cè)試工具最大的不同就是動(dòng)態(tài)測(cè)試工具要求被測(cè)系統(tǒng)實(shí)際運(yùn)行。

評(píng)估一個(gè)測(cè)試工具的好壞,采用評(píng)估標(biāo)準(zhǔn)不同,所站的角度不同,評(píng)估結(jié)果大相徑庭。所謂每個(gè)人的心中都有桿稱,讓測(cè)試人員選工具,他會(huì)站在測(cè)試的角度去選擇,會(huì)更注重白盒測(cè)試能做得下去,之后才有興趣深入去做,如果讓質(zhì)量人員去選,他會(huì)側(cè)重于質(zhì)量保障環(huán)節(jié),比如非??粗馗采w率評(píng)估、測(cè)試報(bào)告提交等,但如果讓企業(yè)老板選工具,恐怕他首先考慮的是這個(gè)工具的價(jià)格。所以,測(cè)試工具的選型過(guò)程,必然是各種因素綜合考慮的權(quán)衡過(guò)程。進(jìn)行公正的工具選型首要問(wèn)題是:如何選擇評(píng)估要素并賦予不同的權(quán)重,套用一句規(guī)范術(shù)語(yǔ),我們先建模,確定評(píng)估模型,再按條目打分作決策。

由于白盒工具的核心功能比較確定,都離不開(kāi)寫腳本做測(cè)試,要打樁、構(gòu)造測(cè)試數(shù)據(jù)、看覆蓋率等,所以,鑒于本領(lǐng)域的特殊性,我們不必按功能逐項(xiàng)評(píng)估,只需評(píng)價(jià)這些功能服務(wù)于“測(cè)試效率提升”、“工具易用性”、“對(duì)質(zhì)量保證的促進(jìn)”的能力如何就可以了。

常用的白盒測(cè)試工具匯總:

Jtest:是一個(gè)代碼分析和動(dòng)態(tài)類、組件測(cè)試工具,是一個(gè)集成的、易于使用和自動(dòng)化的Java單元測(cè)試工具。它增強(qiáng)代碼的穩(wěn)定性,防止軟件錯(cuò)誤。

Jcontract:Jcontract在系統(tǒng)級(jí)驗(yàn)證類/部件是否正確工作并被正確使用。Jcontract 是個(gè)獨(dú)立工具,在功能上是Jtest 的補(bǔ)充??梢杂肑contract插裝按DbC注解的Java代碼。當(dāng)您將類/部件組裝成系統(tǒng)時(shí),Jcontract 在運(yùn)行時(shí)監(jiān)視并報(bào)告錯(cuò)用和功能性問(wèn)題。Jcontract 幫助每個(gè)開(kāi)發(fā)人員有效地考核類/部件的系統(tǒng)級(jí)行為。

CodeWizard 代碼靜態(tài)分析工具,先進(jìn)的C/C++源代碼分析工具,使用超過(guò)500 個(gè)編碼規(guī)范自動(dòng)化地標(biāo)明危險(xiǎn)的,但是編譯器不能檢查到的代碼結(jié)構(gòu)。

Insure++是一個(gè)基于C/C++的自動(dòng)化的內(nèi)存錯(cuò)誤、內(nèi)存泄漏的精確檢測(cè)工具。 Insure++能夠可視化實(shí)時(shí)內(nèi)存操作,準(zhǔn)確檢測(cè)出內(nèi)存泄漏產(chǎn)生的根源。Insure++還能執(zhí)行覆蓋性分析,清楚地指示那些代碼已經(jīng)測(cè)試過(guò)。

BoundsChecker Visual C++ Edition 是針對(duì)Visual C++開(kāi)發(fā)人員的首選的運(yùn)行時(shí)的錯(cuò)誤檢測(cè)和調(diào)試工具。它通過(guò)駐留在Visual C++ 開(kāi)發(fā)環(huán)境內(nèi)部的自動(dòng)調(diào)試處理程序來(lái)加速應(yīng)用程序的開(kāi)發(fā),縮短產(chǎn)品發(fā)布的時(shí)間。BoundsChecker 對(duì)于編程中的錯(cuò)誤,大多數(shù)是 C++中特有的提供了清晰的詳細(xì)的分析。它能夠檢測(cè)和診斷出在靜態(tài),堆棧內(nèi)存中的錯(cuò)誤以及內(nèi)存和資源泄漏問(wèn)題。在運(yùn)行狀態(tài)下,BoundsChecker 驗(yàn)證超過(guò) 8,700 APIs 和 OLE 方法,包括最新的 Windows APIs, ODBC,ActiveX,DirectX, COM 和 Internet APIs。

CodeAnalyzer(簡(jiǎn)稱CA)是上海澤眾軟件科技有限公司自主研發(fā)的專業(yè)代碼質(zhì)量管理的代碼審查軟件,用于實(shí)現(xiàn)靜態(tài)分析、代碼走查、代碼規(guī)范檢查以及代碼潛在錯(cuò)誤分析的白盒測(cè)試工具,它是一種脫離編譯器的代碼靜態(tài)分析軟件產(chǎn)品。

推薦閱讀:

超實(shí)用的代碼質(zhì)量審核和管理工具CodeAnalyzer

如何達(dá)成高質(zhì)量的代碼?有什么好用的代碼掃描工具嗎?

如何評(píng)估軟件代碼的質(zhì)量?代碼掃描工具有哪些?

常見(jiàn)的靜態(tài)源代碼安全檢測(cè)工具優(yōu)缺點(diǎn)比較

本文內(nèi)容不用于商業(yè)目的,如涉及知識(shí)產(chǎn)權(quán)問(wèn)題,請(qǐng)權(quán)利人聯(lián)系SPASVO小編(021-60725088-8054),我們將立即處理,馬上刪除。
滬ICP備07036474號(hào) 2003-2024 版權(quán)所有 上海澤眾軟件科技有限公司 Shanghai ZeZhong Software Co.,Ltd.
微信
咨詢

添加客服微信 歡迎咨詢測(cè)試工具和測(cè)試服務(wù)

微信客服
問(wèn)題
反饋
產(chǎn)品
畫冊(cè)

掃描二維碼下載澤眾軟件企業(yè)宣傳冊(cè)

產(chǎn)品畫冊(cè)
返回
頂部

方案咨詢

×
提交信息

電話咨詢,400-035-7887,安排專業(yè)技術(shù)售前給您解答(產(chǎn)品試用、技術(shù)交流、服務(wù)咨詢和商務(wù)報(bào)價(jià))。

您的信息已成功提交!

我們的客服人員稍后會(huì)與您聯(lián)系