<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)有公告

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

            軟件測試缺陷管理中踢出bug的設計

            發(fā)布: 2010-3-19 14:25 | 作者: 網(wǎng)絡(luò )轉載 | 來(lái)源: 領(lǐng)測軟件測試網(wǎng) | 查看: 25次 | 進(jìn)入軟件測試論壇討論

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

            軟件測試缺陷管理中踢出bug的設計

            防范bug的定義。系統各個(gè)組成部分的開(kāi)發(fā)者都會(huì )做出一些假設,而這些假設之間的不匹配,是大多數致命和難以察覺(jué)的bug的主要來(lái)源。第4、5、6章所討論的獲取概念完整性的途徑,就是直接面對這些問(wèn)題。簡(jiǎn)言之,產(chǎn)品的概念完整性在使它易于使用的同時(shí),也使開(kāi)發(fā)更容易進(jìn)行以及bug更不容易產(chǎn)生。

              上述方法所意味的詳盡體系結構設計正是出于這個(gè)目的。Bell實(shí)驗室安全監控系統項目的V.A.Vyssotsky提出,“關(guān)鍵的工作是產(chǎn)品定義。許許多多的失敗完全源于那些產(chǎn)品未精確定義的地方。1”細致的功能定義、詳細的規格說(shuō)明、規范化的功能描述說(shuō)明以及這些方法的實(shí)施,大大減少了系統中必須查找的bug數量。

              測試規格說(shuō)明。在編寫(xiě)任何代碼之前,規格說(shuō)明必須提交給測試小組,以詳細地檢查說(shuō)明的完整性和明確性。如同Vyssotsky所述,開(kāi)發(fā)人員自己不會(huì )完成這項工作:“他們不會(huì )告訴你他們不懂。相反,他們樂(lè )于自己摸索出解決問(wèn)題和澄清疑惑的辦法!

              自頂向下的設計。在1971年的一篇論文中,Niklaus Wirth把一種被很多最優(yōu)秀的編程人員所使用的設計流程2形式化。盡管他的理念是為了程序設計,同樣也完全適用于復雜系統的軟件開(kāi)發(fā)設計。他將程序開(kāi)發(fā)劃分成體系結構設計、設計實(shí)現和物理編碼實(shí)現,每個(gè)步驟可以使用自頂向下的方法很好地實(shí)現。

              簡(jiǎn)言之,Wirth的流程將設計看成一系列精化步驟。開(kāi)始是勾畫(huà)出能得到主要結果的,但比較粗略的任務(wù)定義和大概的解決方案。然后,對該定義和方案進(jìn)行細致的檢查,以判斷結果與期望之間的差距。同時(shí),將上述步驟的解決方案,在更細的步驟中進(jìn)行分解,每一項任務(wù)定義的精化變成了解決方案中算法的精化,后者還可能伴隨著(zhù)數據表達方式的精化。

              在這個(gè)過(guò)程中,當識別出解決方案或者數據的模塊時(shí),對這些模塊的進(jìn)一步細化可以和其他的工作獨立,而模塊的大小程度決定了程序的適用性和可變化的程度。

              Wirth主張在每個(gè)步驟中,盡可能使用級別較高的表達方法來(lái)表現概念和隱藏細節,除非有必要進(jìn)行進(jìn)一步的細化。

              好的自頂向下設計從幾個(gè)方面避免了bug。首先,清晰的結構和表達方式更容易對需求和模塊功能進(jìn)行精確的描述。其次,模塊分割和模塊獨立性避免了系統級的bug。另外,細節的隱藏使結構上的缺陷更加容易識別。第四,設計在每個(gè)精化步驟的層次上是可以測試的,所以測試可以盡早開(kāi)始,并且每個(gè)步驟的重點(diǎn)可以放在合適的級別上。

              當遇到一些意想不到的問(wèn)題時(shí),按部就班的流程并不意味著(zhù)步驟不能反過(guò)來(lái),直到推翻頂層設計,重新開(kāi)始整個(gè)過(guò)程。實(shí)際上,這種情況經(jīng)常發(fā)生。至少,它讓我們更加清楚在什么時(shí)候和為什么拋棄了某個(gè)臃腫的設計,并重新開(kāi)始。一些糟糕的系統往往就是試圖挽救一個(gè)基礎很差的設計,而對它添加了很多表面裝飾般的補丁。自頂向下的方法減少了這樣的企圖。

              我確信在十年內,自頂向下進(jìn)行設計將會(huì )是最重要的新型形式化軟件開(kāi)發(fā)方法。

              結構化編程。另外一系列減少bug數量的新方法很大程度上來(lái)自Dijkstra3。Bohm和Jacopini的為其提供了理論證明4。

              基本上,該方法所設計程序的控制結構,僅包含語(yǔ)句形式的循環(huán)結構,例如DO WHILE,以及IF...THEN...ELSE的條件判斷結構,而具體的條件部分在IF...THEN...ELSE后的花括號中描述。Bohm和Jacopini展示了這些結構在理論上是可以證明的。而Dijkstra認為另外一種方法,即通過(guò)GO TO不加限制的分支跳轉,會(huì )產(chǎn)生導致自身邏輯錯誤的結構。

              這種方法的基本理念非常優(yōu)秀,但仍有人提出了一些反面的意見(jiàn)。一些附加的控制結構非常有效,例如,在多個(gè)條件下的多路分支(CASE、SWITCH語(yǔ)句),異常跳轉等(GO TO ABNORMAL END)。此外,關(guān)于完全避免GO TO語(yǔ)句的說(shuō)法顯得有些教條主義,而且似乎有些吹毛求疵。

              關(guān)鍵的地方和構建無(wú)bug程序的核心,是把系統的結構作為控制結構來(lái)考慮,而不是獨立的跳轉語(yǔ)句。這種思考方法是我們在程序設計發(fā)展史上向前邁出的一大步。

            延伸閱讀

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

            TAG: bug BUG Bug 管理 缺陷 軟件測試 設計


            關(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>