歸納法除錯

2022-03-22 06:18:03 字數 967 閱讀 3647

歸納是一種特殊的思考過程,可以從細節到全域性,也就是

從線索(即錯誤的症狀,可能是乙個或者多個測試用例的結果)出發,尋找線索之間的聯絡。

歸納除錯的步驟:

確定相關資料。除錯人員在具體的除錯工作中常常會犯乙個錯誤:未能將所有有用的資料或者症狀都考慮進去。在確定相關的資料時,我們需要列舉出所有知道程式執行的正確和不正確之處,這些程式表現出的不正確的地方就是我們要找的症狀所在,讓我們相信確實存在著些錯誤。而這些相似但是卻不同並且引起錯誤的測試用例給我們分析錯誤提供了額外有兼職的線索。

組織資料。歸納就是指從特殊到一般,我們在組織相關資料來觀察這些線索之間的模式。特別是找到矛盾、事件。我們在出現問題之處可以考慮使用**的形式來組織現有的資料。

做出假設。我們在這一步中研究這些線索之間的聯絡,利用我們上一步的線索結構裡可能有的模式作出移步或者多個錯誤原因的假設。如果我們仍無法作出推測,那麼就需要更多的資料;如果有多個假設存在,首先選擇最有可能的那乙個。

證明假設。我們在除錯過程中,可能會承受一部分的壓力,可能在作出假設之後就急忙去跳到結論去修改問題了。但是,如果我們沒有證明我們的假設的正確性,可能只是修改了問題的症狀,並沒有解決問題本身。我們在這一步中,應當假設與最初的線索和資料進行對比,來證明假設的合理性。如果我們的假設無法解釋錯誤的線索和資料,有可能是我們的假設是無效的或者不完整的,還有更多的錯誤存在。

解決問題。一旦完成前面幾步,我們就可以著手修復我們發現的問題。我們在這一步解決問題完成後,仍然需要做一些回歸測試來保證問題和錯誤修復沒有引入其他的錯誤。軟體規模越大,解決老問題的同時引入新問題的可能性也越大。

使用歸納法的除錯過程

作者嘮叨:

第一次在寫部落格,內心還有有些小激動的~~o(∩_∩)o~~以後會跟大家分享越來越多關於測試方面的知識和經驗。有需要改進和不足之處,希望大家及時指正。謝謝大家~祝大家生活愉快~

順推歸納法 順推歸納法

順推歸納法 forwards induction 編輯 什麼是順推歸納法 順推歸納法是指根據博弈方前面階段的行為,包括偏離特定均衡路徑的行為,推斷他們的思路並為後面階段博弈提供依據的分析方法。考慮的是博弈方有意識偏離子博弈精煉納什均衡和顫抖手均衡路徑的可能性,而不是偶然錯誤。編輯 順推歸納法的分析 ...

數學歸納法

歸納 是一種從經驗事實中找出普遍特徵的認知方法。根據這個觀察,我們是不是可以大膽假設,前 n 個格仔的麥粒總數就是 2 1 呢?如果這個假設成立,那麼填滿 64 格需要的麥粒總數,就是 1 2 2 2 2 2 2 1 18446744073709551615。數學歸納法的一般步驟是這樣的 證明基本情...

什麼是歸納法 數學歸納法

相鄰變數間存在通用關係 類似於 變數n 1,2,3,可以通過相鄰數加減1獲得。了解一下下圖示例 注 引用於 歸納法證明像是多公尺諾骨牌,將第一塊推到後,後續骨牌均被推到,完成證明。其中的每一張骨牌就是 變數為n的情況下,數學方程式的狀態 若被推倒,即此處變數適應於數學方程式,未被推倒,即數學方程式在...