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

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

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

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

    軟件測試的起源與發展

    發布: 2009-3-02 10:44 | 作者: 不詳 | 來源: 測試時代采編 | 查看: 127次 | 進入軟件測試論壇討論

    領測軟件測試網

    然而,對Glenford Myers先生“測試的目的是證偽”這一概念的理解也不能太過于片面。在很多軟件工程學、軟件測試方面的書籍中都提到一個概念:“測試的目的是尋找錯誤,并且是盡最大可能找出最多的錯誤”。這很容易讓人們認為測試人員就是“挑毛病”的,而由此帶來諸多問題。大家熟悉的Ron Patton在《軟件測試》(中文版由機械工業出版社出版,此書是目前國內測試新手入門的經典教材)一書的第10頁,有一個明確而簡潔的定義:“軟件測試人員的目標是找到軟件缺陷,盡可能早一些,并確保其得以修復!边@樣的定義具有一定的片面性,帶來的結果是:
    1、 若測試人員以發現缺陷為唯一目標,而很少去關注系統對需求的實現,測試活動往往會存在一定的隨意性和盲目性;
    2、 有些軟件企業接受了這樣的方法,以Bug數量來做為考核測試人員業績的唯一指標,也不太科學。
     
    總的來說,第一類測試可以簡單抽象地描述為這樣的過程:在設計規定的 環境下運行軟件的功能,將其結果與用戶需求或設計結果相比較,如果相符則測試通過,如果不相符則視為Bug。這一過程的終極目標是將軟件的所有功能在所有設計規定的環境全部運行,并通過。在軟件行業中一般把第一類方法奉為主流和行業標準。第一類測試方法以需求和設計為本,因此有利于界定測試工作的范疇,更便于部署測試的側重點,加強針對性。這一點對于大型軟件的測試,尤其是在有限的時間和人力資源情況下顯得格外重要。
     
    而第二類測試方法與需求和設計沒有必然的關聯,更強調測試人員發揮主觀能動性,用逆向思維方式,不斷思考開發人員理解的誤區、不良的習慣、程序代碼的邊界、無效數據的輸入以及系統各種的弱點,試圖破壞系統、摧毀系統,目標就是發現系統中各種各樣的問題。這種方法往往能夠發現系統中存在的更多缺陷。
     
    到了上世紀80年代初期,軟件和IT行業進入了大發展,軟件趨向大型化、高復雜度,軟件的質量越來越重要。這個時候,一些軟件測試的基礎理論和實用技術開始形成,并且人們開始為軟件開發設計了各種流程和管理方法,軟件開發的方式也逐漸由混亂無序的開發過程過渡到結構化的開發過程,以結構化分析與設計、結構化評審、結構化程序設計以及結構化測試為特征。人們還將“質量”的概念融入其中,軟件測試定義發生了改變,測試不單純是一個發現錯誤的過程,而且將測試作為軟件質量保證SQA)的主要職能,包含軟件質量評價的內容,Bill Hetzel軟件測試完全指南》(Complete Guide of Software Testing)一書中指出:“測試是以評價一個程序或者系統屬性為目標的任何一種活動。測試是對軟件質量的度量!這個定義至今仍被引用。軟件開發人員和測試人員開始坐在一起探討軟件工程和測試問題。軟件測試已有了行業標準(IEEE/ANSI ),1983IEEE提出的軟件工程術語中給軟件測試下的定義是:“使用人工或自動的手段來運行或測定某個軟件系統的過程,其目的在于檢驗它是否滿足規定的需求或弄清預期結果與實際結果之間的差別”。這個定義明確指出:軟件測試的目的是為了檢驗軟件系統是否滿足需求。它再也不是一個一次性的,而且只是開發后期的活動,而是與整個開發流程融合成一體。軟件測試已成為一個專業,需要運用專門的方法和手段,需要專門人才和專家來承擔。
     
     
    軟件測試成熟度
     
    隨著軟件產業界對軟件過程的不斷研究,美國工業界和政府部門開始認識到,軟件過程能力的不斷改進才是增進軟件開發組織的開發能力和提高軟件質量的第一要素。在這種背景下,由美國卡內基-梅隆大學軟件工程研究所(SEI)研制并推出了軟件能力成熟度模型SW-CMM,CMM逐漸成為了評估軟件開發過程的管理以及工程能力的標準。從80年代中期開始,軟件生產開始進入以個體軟件過程PSP(Personal Software Process)、過程成熟度模型CMM和群組軟件過程TSP(Team Software Process)為標志的、以過程為中心的第二階段。
     
    但是令人遺憾的是,CMM 沒有充分的定義軟件測試,沒有提及測試成熟度的概念,沒有對測試過程改進進行充分說明,在 KPA 中沒有定義測試問題,與質量相關的測試問題如可測性,充分測試標準,測試計劃等方面也沒有滿意的闡述。僅在第三級的軟件產品工程(SPEKPA中提及軟件測試職能,但對于如何有效提高機構的測試能力和水平沒有提供相應指導,無疑是一種不足。為此,許多研究機構和測試服務機構從不同角度出發提出有關軟件測試方面的能力成熟度模型,作為SEI-CMM的有效補充,比較有代表性的包括:美國國防部提出一個CMM軟件評估和測試KPA建議;Gelper博士提出一個測試支持模型(TSM)評估測試小組所處環境對于他們的支持程度;Burgess/Drabick I.T.I.公司提出的測試能力成熟度模型(Testing Capability Maturity Model)則提供了與CMM完全一樣的5級模型。Burnstein博士提出了測試成熟度模型(TMM,依據CMM的框架提出測試的5個不同級別,關注于測試的成熟度模型。它描述了測試過程,是項目測試部分得到良好計劃和控制的基礎。 TMM 測試成熟度分解為 5 級別,關注于 5 個成熟度級別遞增: 
    Phase 0 :測試和調試沒有區別,初了支持調試外,測試沒有其他目的 

        Phase 1 
    :測試的目的是為了表明軟件能夠工作 
        Phase 2 
    :測試的目的是為了表明軟件不能夠能夠正常工作
     
        Phase 3 
    :測試的目的不是要證明什么,而是為了把軟件不能正常工作的預知風險降低到能夠接受的程度
     
        Phase 4 
     測試不是行為,而是一種自覺的約束 (mental discipline) ,不用太多的測試投入產生低風險的軟件上的 。
     
     
    軟件測試模型的演變
     
    軟件測試模型與軟件測試標準的研究也隨著軟件工程的發展而越來越深入,在20世紀80年代后期Paul Rook提出了著名的軟件測試V模型,旨在改進軟件開發的效率和效果。V模型反映出了測試活動與分析設計活動的關系。在圖1-1中,從左到右描述了基本的開發過程和測試行為,非常明確的標注了測試過程中存在的不同類型的測試,并且清楚的描述了這些測試階段和開發過程期間各階段的對應關系。
     
     

    延伸閱讀

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

    32/3<123>

    關于領測軟件測試網 | 領測軟件測試網合作伙伴 | 廣告服務 | 投稿指南 | 聯系我們 | 網站地圖 | 友情鏈接
    版權所有(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>