首頁 考試吧論壇 Exam8視線 考試商城 網(wǎng)絡(luò)課程 模擬考試 考友錄 實(shí)用文檔 繽紛校園 英語學(xué)習(xí)
2010考研 | 2010高考 | 2010中考 | 自學(xué)考試 | 成人高考 | 專升本 | 法律碩士 | MBA/MPA | 中科院
四六級 | 商務(wù)英語 | 公共英語 | 職稱日語 | 職稱英語 | 博思 | 口譯筆譯 | GRE GMAT | 日語 | 托福
雅思 | 專四專八 | 新概念 | 自考英語 | 零起點(diǎn)英、、韓語 | 在職申碩英語
在職攻碩英語 | 成人英語三級
等級考試 | 水平考試 | 微軟認(rèn)證 | 思科認(rèn)證 | Oracle認(rèn)證 | Linux認(rèn)證
公務(wù)員 | 報(bào)關(guān)員 | 報(bào)檢員 | 外銷員 | 司法考試 | 導(dǎo)游考試 | 教師資格 | 國際商務(wù)師 | 跟單員
單證員 | 物流師 | 價(jià)格鑒證師 | 銀行從業(yè)資格 | 證券從業(yè)資格 | 人力資源管理師 | 管理咨詢師
期貨從業(yè)資格 | 社會工作者
會計(jì)職稱 | 注會CPA | 經(jīng)濟(jì)師 | 統(tǒng)計(jì)師 | 注冊稅務(wù)師 | 評估師 | 精算師 | 高會 | ACCA | 審計(jì)師
法律顧問 | 會計(jì)證
一級建造師 | 二級建造師 | 造價(jià)師 | 監(jiān)理師 | 安全師 | 咨詢師 | 結(jié)構(gòu)師 | 建筑師 | 安全評價(jià)師
房地產(chǎn)估價(jià)師 | 土地估價(jià)師 | 設(shè)備監(jiān)理師 | 巖土工程師 | 質(zhì)量資格 | 房地產(chǎn)經(jīng)紀(jì)人 | 造價(jià)員
投資項(xiàng)目管理 | 土地代理人 | 環(huán)保師 | 環(huán)境影響評價(jià) | 物業(yè)管理師 | 城市規(guī)劃師 | 公路監(jiān)理師
公路造價(jià)工程師 | 招標(biāo)師
執(zhí)業(yè)護(hù)士 | 執(zhí)業(yè)醫(yī)師 | 執(zhí)業(yè)藥師 | 衛(wèi)生資格
您現(xiàn)在的位置: 考試吧(Exam8.com) > 軟件水平考試 > 歷年真題 > 軟件評測師 > 正文

2010軟考軟件測試中面臨的問題及解決辦法(2)

[導(dǎo)讀]考試吧幫你整理了2010軟考軟件測試中面臨的問題及解決辦法(2),幫助考生備考。

  排錯(cuò)(即調(diào)試)與成功的測試形影相隨。測試成功的標(biāo)志是發(fā)現(xiàn)了錯(cuò)誤。根據(jù)錯(cuò)誤跡象確定錯(cuò)誤的原因和準(zhǔn)確位置,并加以改正的主要依靠排錯(cuò)技術(shù)。

  1.排錯(cuò)過程

  如下圖所示,排錯(cuò)過程開始于一個(gè)測試用例的執(zhí)行,若測試結(jié)果與期望結(jié)果有出入,即出現(xiàn)了錯(cuò)誤征兆,排錯(cuò)過程首先要找出錯(cuò)誤原因,然后對錯(cuò)誤進(jìn)行修正。因此排錯(cuò)過程有兩種可能,一是找到了錯(cuò)誤原因并糾正了錯(cuò)誤,另一種可能是錯(cuò)誤原因不明,排錯(cuò)人員只得做某種推測,然后再設(shè)計(jì)測試用例證實(shí)這種推測,若一次推測失敗,再做第二次推測,直到發(fā)現(xiàn)并糾正了錯(cuò)誤。

  排錯(cuò)是一個(gè)相當(dāng)艱苦的過程,究其原因除了開發(fā)人員心理方面的障礙外,還因?yàn)殡[藏在程序中的錯(cuò)誤具有下列特殊的性質(zhì):

  (1)錯(cuò)誤的外部征兆遠(yuǎn)離引起錯(cuò)誤的內(nèi)部原因,對于高度耦合的程序結(jié)構(gòu)此類現(xiàn)象更為嚴(yán)重;

  (2)糾正一個(gè)錯(cuò)誤造成了另一錯(cuò)誤現(xiàn)象(暫時(shí))的消失;

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

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

  (5)錯(cuò)誤是由于風(fēng)時(shí)而不是程序引起的;

  (6)輸入條件難以精確地再構(gòu)造(例如,某些實(shí)時(shí)應(yīng)用的輸入次序不確定);

  (7)錯(cuò)誤征兆時(shí)有時(shí)無,此現(xiàn)象對嵌入式系統(tǒng)尤其普遍;

  (8)錯(cuò)誤是由于把任務(wù)分布在若干臺不同處理機(jī)上運(yùn)行而造成的。

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

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

  2.排錯(cuò)方法

  無論采用哪種排錯(cuò)方法,目標(biāo)只有一個(gè),即發(fā)現(xiàn)并排除引起錯(cuò)誤的原因,這要求排錯(cuò)人員能把直觀想象與系統(tǒng)評估很好的結(jié)合起來。

  常用的排錯(cuò)策略分為三類:

 、 原始類(brute force)

 、 回溯類(backtracking)

 、 排除類(cause eliminations)

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

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

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

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

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

 、 導(dǎo)致這個(gè)錯(cuò)誤的原因在程序其他部分還可能存在嗎?

 、 本次修改可能對程序中相關(guān)的邏輯和數(shù)據(jù)造成什么影響?引起什么問題?

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

  相關(guān)推薦:考試吧策劃:2010年軟件水平考試完全指南
       2010年11月計(jì)算機(jī)軟件水平考試備考寶典匯總
文章搜索
軟件水平考試欄目導(dǎo)航
版權(quán)聲明:如果軟件水平考試網(wǎng)所轉(zhuǎn)載內(nèi)容不慎侵犯了您的權(quán)益,請與我們聯(lián)系800@exam8.com,我們將會及時(shí)處理。如轉(zhuǎn)載本軟件水平考試網(wǎng)內(nèi)容,請注明出處。