<pre id="ff7yo"></pre>

      <form id="ff7yo"><legend id="ff7yo"></legend></form>
        <nav id="ff7yo"><listing id="ff7yo"></listing></nav><nav id="ff7yo"></nav>

        <nav id="ff7yo"><listing id="ff7yo"></listing></nav>
        <small id="ff7yo"></small><nav id="ff7yo"><dd id="ff7yo"></dd></nav>
      1. <nav id="ff7yo"></nav>
          <form id="ff7yo"></form><nav id="ff7yo"></nav>
          <nav id="ff7yo"></nav>
          <sub id="ff7yo"></sub>
          更多課程 選擇中心

          軟件測試培訓
          達內IT學院

          400-111-8989

          軟件測試中的排錯過程及方法

          • 發布:軟件測試培訓
          • 來源:軟件測試教程
          • 時間:2017-01-03 14:31

          測試用例的執行是排錯過程的開始,若測試結果與期望結果有出入,即出現了錯誤征兆,排錯過程首先要找出錯誤原因,然后對錯誤進行修正。因此排錯過程有兩種可能,一是找到了錯誤原因并糾正了錯誤,另一種可能是錯誤原因不明,排錯人員只得做某種推測,然后再設計測試用例證實這種推測,若一次推測失敗,再做第二次推測,直到發現并糾正了錯誤。

          排錯是一個相當艱苦的過程,究其原因除了開發人員心理方面的障礙外,還因為隱藏在程序中的錯誤具有下列特殊的性質:

          (1)錯誤的外部征兆遠離引起錯誤的內部原因,對于高度耦合的程序結構此類現象更為嚴重;

          (2)糾正一個錯誤造成了另一錯誤現象(暫時)的消失;

          (3)某些錯誤征兆只是假象;

          (4)因操作人員一時疏忽造成的某些錯誤征兆不易追蹤;

          (5)錯誤是由于風時而不是程序引起的;

          (6)輸入條件難以精確地再構造(例如,某些實時應用的輸入次序不確定);

          (7)錯誤征兆時有時無,此現象對嵌入式系統尤其普遍;

          (8)錯誤是由于把任務分布在若干臺不同處理機上運行而造的。

          在軟件排錯過程中,可能遇到大大小小、形形色色的問題,隨著問題的增多,排錯人員的壓力也隨之增大,過分地緊張致使開發人員在排除一個問題的同時又引入更多的新問題。

          盡管排錯不是一門好學的技術(有時人們更愿意稱之為藝術),但還是有若干行之有效的方法和策略,下面介紹幾種排錯方法。

          無論采用哪種排錯方法,目標只有一個,即發現并排除引起錯誤的原因,這要求排錯人員能把直觀想象與系統評估很好的結合起來。

          常用的排錯策略分為三類:

          ①原始類(brute force)

          ②回溯類(backtracking)

          ③排除類(causeeliminations)

          原始類排錯方法是最常用也是最低效的方法,只有在萬般無奈的情況下才使用它,主要思想是“通過計算機找錯”。例如輸出存儲器、寄存器的內容,在程序安排若干輸出語句等,憑借大量的現場信息,從中找到出錯的線索,雖然最終也能成功,但難免要耗費大量的時間和精力。

          回溯法能成功地用于程序的排錯。方法是從出現錯誤征兆處開始,人工地沿控制流程往回追蹤,直至發現出錯的根源,不幸的是程序變大后,可能的回溯路線顯著增加,以致人工進行完全回溯到望而不可及。

          排除法基于歸納和演繹原理,采用“分治”的概念,首先懼與錯誤出現有關有所有數據,假想一個錯誤原因,用這些數據證明或反駁它;或者一次列出所有可能的原因,通過測試一一排除。只要某次測試結果說明某種假設已呈現倪端,則立即精化數據,乘勝追擊。

          上述每一類方法均可輔以排錯工具。目前,調試編譯器、動態調試器(“追蹤器”)、測試用例自動生成器、存儲器映象及交叉訪問示圖等到一系列工具已廣為使用。然而,無論什么工具也替代不了一個開發人員在對完整的設計文檔和清晰的源代碼進行認真審閱和推敲之后所起的作用。此外,不應荒廢排錯過程中最有價值的一個資源,那就是開發小組中其他成員的評價和忠告,正所謂“當事者迷,旁觀者清”。

          前面多次提到,修改一處老問題可能引入幾處新問題,有時程序越改越亂,但若能做到每次糾錯前都捫心自問三個問題,情況將大為改觀:

          ①導致這個錯誤的原因在程序其他部分還可能存在嗎?

          ②本次修改可能對程序中相關的邏輯和數據造成什么影響?引起什么問題?

          ③上次遇到的類似問題是如何排除的?

          預約申請免費試聽課

          填寫下面表單即可預約申請免費試聽!怕錢不夠?可就業掙錢后再付學費! 怕學不會?助教全程陪讀,隨時解惑!擔心就業?一地學習,可全國推薦就業!

          上一篇:軟件測試階段與過程
          下一篇:軟件測試中準備測試數據的方法

          軟件測試高頻知識考點

          軟件測試中基于關鍵字的自動化測試

          軟件測試的起源和發展

          網站測試中的AB測試方法

          • 掃碼領取資料

            回復關鍵字:視頻資料

            免費領取 達內課程視頻學習資料

          • 視頻學習QQ群

            添加QQ群:1143617948

            免費領取達內課程視頻學習資料

          Copyright ? 2021 Tedu.cn All Rights Reserved 京ICP備08000853號-56 京公網安備 11010802029508號 達內時代科技集團有限公司 版權所有

          選擇城市和中心
          黑龍江省

          吉林省

          河北省

          陜西省

          湖南省

          貴州省

          云南省

          廣西省

          海南省

          神马影院-战旗影院-首播影院-新视觉影院-在线观看中文字幕dvd播放 百度 好搜 搜狗
          <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <文本链> <文本链> <文本链> <文本链> <文本链> <文本链>