標籤:

白盒測試可以用自動化工具來完成嗎?


感謝邀請,確實隨著當前應用系統代碼複雜度的提升,靠手工進行白盒測試無疑是對人力資源的很大浪費,也很容易造成軟體Bug、系統安全漏洞的出現。針對這種情況,現在國際上新推出了一個「CISQ軟體結構化質量評估維度和方法」的有關測試標準。

CISQ所制訂的代碼質量標準是通過對整個軟體結合上下文關係,理清應用從最前端輸入到界面、到業務邏輯、到框架、到數據邏輯,直到最終的存儲上的所有功能點。將這些層次連貫起來,來查看軟體的上下文關係,從而了解系統每個交易是如何完成的,每個步驟的行進路徑是什麼,從系統層面上去對整個軟體架構進行分析。

現在有企業依照此標準製做了一個自動化軟體測試平台,也就是上圖中的「CAST應用智能平台」。

CAST支持了50多種不同的編程技術,從JAVA、C、.NET到大型機的編程語言CAST均進行了支持。同時還支持12種資料庫,Oracle、SQLServer等。明確編程語言和所採用資料庫後,再加上一些編程團隊的有關信息。將這些內容輸入到分析器中,由分析器進行格式化整理並建立元模型。然後遵照CISQ軟體行業標準,分析這些元模型的程序、數據調用關係,從而摸清所有程序的動作關係,從而分析出整個軟體的程序邏輯架構。然後在根據分析出的架構、交易流程、交易方式,通過CISQ、OMG以及CWE等軟體和安全行業標準,對軟體進行判斷分析。分析結果出來之後,根據所發現的結構化問題、安全性問題,轉化成一個數據化的健康度的分數,分門別類的進行打分度量。由此實現通過給代碼打分而不是利用行代碼數對軟體進行評估的目的。

以一個銀行系統源代碼舉例:

上面圖片是CAST所分析出的系統源代碼執行路徑,可以看到紅線的輸入數據,從用戶輸入到交易去訪問更新資料庫在整個路徑上未進行數據檢查,就直接對數據層的信息進行更改或調用。這裡就存在著很大的信息安全風險,因為無法判定是否有非法安全信息從這條路徑對資料庫進行侵入。

不知這個回答是否滿意?

來自科技行者團隊老董

科技行者 查看官方網站 一個只談智能的信息服務平台


推薦閱讀:

為什麼我用《愛剪輯》APP剪的視頻不能上傳?
三星Exynos 9810的晶元怎麼樣?
如何看待移動運營商優先使用全國流量的行為?
細思極恐!你用的產品正在泄露你的隱私
悟空問答對聯答題中,是否有因為彼此關係好而點贊的人?

TAG:科技 |