<ruby id="h6500"><table id="h6500"></table></ruby>
    1. <ruby id="h6500"><video id="h6500"></video></ruby>
          1. <progress id="h6500"><u id="h6500"><form id="h6500"></form></u></progress>
            • 軟件測試技術(shù)
            • 軟件測試博客
            • 軟件測試視頻
            • 開(kāi)源軟件測試技術(shù)
            • 軟件測試論壇
            • 軟件測試沙龍
            • 軟件測試資料下載
            • 軟件測試雜志
            • 軟件測試人才招聘
              暫時(shí)沒(méi)有公告

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

            糾正軟件中錯誤的方法

            發(fā)布: 2010-10-18 11:33 | 作者: 不詳 | 來(lái)源: 領(lǐng)測測試網(wǎng)采編 | 查看: 175次 | 進(jìn)入軟件測試論壇討論

            領(lǐng)測軟件測試網(wǎng)

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

              1、跟蹤法

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

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

              FOR I:=1 to 10 中的10 誤寫(xiě)為-10,則程序執行到語(yǔ)句就會(huì )直接跳過(guò)循環(huán)體中的語(yǔ)句,轉到for循環(huán)之后的語(yǔ)句去執行。

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

              k=5

              n=6

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

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

              2、推理法

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

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

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

              3、試湊法

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

            延伸閱讀

            文章來(lái)源于領(lǐng)測軟件測試網(wǎng) http://kjueaiud.com/

            TAG: 軟件


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

            軟件測試 | 領(lǐng)測國際ISTQBISTQB官網(wǎng)TMMiTMMi認證國際軟件測試工程師認證領(lǐng)測軟件測試網(wǎng)

            老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月
              <ruby id="h6500"><table id="h6500"></table></ruby>
              1. <ruby id="h6500"><video id="h6500"></video></ruby>
                    1. <progress id="h6500"><u id="h6500"><form id="h6500"></form></u></progress>