• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
    • 軟件測試技術
    • 軟件測試博客
    • 軟件測試視頻
    • 開源軟件測試技術
    • 軟件測試論壇
    • 軟件測試沙龍
    • 軟件測試資料下載
    • 軟件測試雜志
    • 軟件測試人才招聘
      暫時沒有公告

    字號: | 推薦給好友 上一篇 | 下一篇

    糾正軟件中錯誤的方法

    發布: 2010-10-18 11:33 | 作者: 不詳 | 來源: 領測測試網采編 | 查看: 175次 | 進入軟件測試論壇討論

    領測軟件測試網

      糾正軟件中錯誤的方法   軟件測試

      1、跟蹤法

      跟蹤執行可疑的程序段,是對小型程序糾錯又一種常用的策略。它的要求是,就是讓帶錯的程序“分步執行”,即每執行完一條語句(或指令),就暫時停下檢查執行的結果,確認正常后再繼續進行。許多高級語言都設有專用于跟蹤糾錯的語句或命令。他們都具有讓程序分步執行的功能。

      對于較小的程序,用跟蹤執行來確定錯誤部位是相當有效的。例如:倘若再某一PASCAL程序中把語句

      FOR I:=1 to 10 中的10 誤寫為-10,則程序執行到語句就會直接跳過循環體中的語句,轉到for循環之后的語句去執行。

      但有些時候,發現程序出錯的語句其本身并無錯誤,問題倒出在位于它前面的一些語句上。例如,當某FORTRAN程序執行到語句ix=iy/(k/n)時發生了運行出錯,屏幕上顯示“整數上溢”。順著這條語句返回尋找,在它的前數行找到了給k,n賦值的語句:

      k=5

      n=6

      則不難想到,由于k/n整除所得結果為0,才導致iy被0除后發生上溢。像這樣從出錯處逐句返回探尋錯誤的根由,一般稱為回溯(back tracking)或反向跟蹤。而通常高級語言所設置的跟蹤命令都只提供正向跟蹤,反向跟蹤只能人工進行。

      當程序較長,包含的分支與嵌套又相當多時,跟蹤尤其是反向跟蹤的路徑變得多而且復雜。這是使用跟蹤法糾錯不僅效率不高,而且會變得難于執行,最好改用推理法進行糾錯。

      2、推理法

      推理法來源于定理證明,又可區分為歸納法和演繹法兩大類。

      歸納法是從個別到整體的推理過程。它從收集個別的故障癥狀開始,分析各種癥狀的相互關系后,就有可能將它們歸納為某一些假想的錯誤。如果這一些假想能被證實,就找到了真實的病根。

      演繹法是從一般到特殊的推理過程。根據測試獲得的錯誤癥狀,可以先列出一批可能的病因。接著在這一大范圍的設想中,逐一的排除根據不足或與其他測試結果有明顯矛盾的病因,然后對余下的一種或數種病因作詳細的鑒別,確定真正的病因。由于真正的病因是從大量可能病因中篩選得來的,所以此法有時也稱為“病因排除法(Cause Elimination)”

      3、試湊法

      這是一種不甚嚴格的糾錯策略。根據測試中暴露達到錯誤征兆,首先可設定一個可疑區。然后采用一些簡單的糾錯手段(例如在程序中插入打印語句),進一步獲取與可疑區有關的信息,借以肯定或修改原來的設想。如果可疑區沒有找準,便再來一遍,重置新的可疑區。這種“邊試邊瞧”的做法,糾錯的效率一般較低(這也是試湊(trial and error)一名的由來),故僅適用于結構比較簡單的小程序。

    延伸閱讀

    文章來源于領測軟件測試網 http://www.kjueaiud.com/

    TAG: 軟件


    關于領測軟件測試網 | 領測軟件測試網合作伙伴 | 廣告服務 | 投稿指南 | 聯系我們 | 網站地圖 | 友情鏈接
    版權所有(C) 2003-2010 TestAge(領測軟件測試網)|領測國際科技(北京)有限公司|軟件測試工程師培訓網 All Rights Reserved
    北京市海淀區中關村南大街9號北京理工科技大廈1402室 京ICP備10010545號-5
    技術支持和業務聯系:info@testage.com.cn 電話:010-51297073

    軟件測試 | 領測國際ISTQBISTQB官網TMMiTMMi認證國際軟件測試工程師認證領測軟件測試網

    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>