如何攻破軟體

2021-09-23 13:47:44 字數 1368 閱讀 1639

《how to break software》是james a.whittaker 2023年的一篇有關如何組織帶有明確目標的測試策略的文獻。文章軟體測試的過程比喻為「攻擊」軟體以發現bug的狩獵過程。目的在於使測試用例的設計變得有章可循,迅速提高軟體測試效率。

james a.whittaker,測試界的權威人物,先後在ibmgoogle、microsoft擔任過顧問、工程總監、架構師等職位,在測試領域著有《how googletestsoftware》等著作。

文章將「攻擊」軟體的策略分為三個大類:

輸入/輸出攻擊

資料攻擊

運算攻擊

每個型別又分為多個小型別,導致特定的有趣的bug。然後以microsoft office系列產品為主要物件,以其中真實的

bug為例,具體說明每一種攻擊策略是怎樣導致缺陷呈現的。

輸入/輸出攻擊

所謂的「黑盒測試」,又可以分為以下具體的型別和施行策略。

資料攻擊

首先要理解資料是如何、在何處建立是必要的。

從本質上講,資料的儲存是通過讀取輸入,然後將其儲存在內部或者儲存一些內部計算的結果來實現的。因此,測試正是通過提供輸入和執行計算來實現資料在應用程式中的傳遞。

具體分為以下具體的型別和施行策略:

運算攻擊

總的來說,找bug不外乎幾種大概的思路:1.遍歷一遍輸入,把能出現的結果都覆蓋到;2.通過構造錯誤的輸出來設計輸入並執行輸入,驗證是否bug;3.有相互作用的事務組合測試,包括相互作用的資料、功能等行為。

另外,作者提出了兩個更重要的測試思想:

1.永遠不要低估了測試時懷揣乙個具體目標的作用。太多的測試人員把時間浪費在毫無目的地輸入或者隨機地呼叫api試圖導致軟體出錯。實行測試意味著制定明確的目標——基於會出錯的點——然後設計測試用例來實踐該目標。這樣,每個測試用例都有目的性並且進度可以被隨時控制。

2.測試應該是有趣的。

如何攻破軟體(中英文) pdf格式

如何攻破軟體 文章將軟體測試的過程比喻為 攻擊 軟體以發現bug的狩獵過程。目的在於使測試用例的設計變得有章可循,迅速提高軟體測試效率。james a.whittaker,測試界的權威人物,先後在ibm google microsoft擔任過顧問 工程總監 架構師等職位,在測試領域著有 how go...

測試人員如何攻破物聯網測試? 新夢想軟體測試

如果你的公司正在開發一種物聯網系統,那麼我們測試人員要怎麼去面對新事物帶來的難題?怎麼去突破新事物帶來的挑戰?物聯網是乙個包含大量網路裝置 感測器和計算基礎設施的龐大系統,到2020 年,通過物聯網相互連線的的裝置可能會達到 500 億台,環境感測器 運動檢測器 冰箱和恆溫器都將能通過 wi fi ...

美教授 「反病毒軟體非常容易被攻破」

來自美國 新聞周刊 的訊息,美國sonoma state university的教授george ledin今天發表看法稱,現有的反病毒軟體十分容易被攻破.它正在帶領自己的學生們模擬成 黑客 進攻,清理這些 防毒軟體 而這一切都是在學校內部的封閉網路進行的,以防止他們危害現實世界,他認為,絕大多數防...