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

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

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

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

    軟件測試:為什么需要最佳實踐

    發布: 2008-5-21 17:30 | 作者: 網絡轉載 | 來源: 網絡轉載 | 查看: 112次 | 進入軟件測試論壇討論

    領測軟件測試網     與許多古老的職業相比,人們從事軟件開發的時間并不長。但就在這短短的幾十年中,人們根據軟件行業的經驗,并從其他行業(如建筑業、制造業)借鑒,總結了不少&ldquo最佳實踐&rdquo。特別是最近十年以來,這些最佳實踐似乎分裂成為兩大陣營:重型方法學和敏捷方法學。這兩大陣營的擁護者都不少,并且領軍人物都是德高望重。

      軟件項目的目標

      在討論這些最佳實踐之前,先明確一下軟件項目的目標,因為所有的最佳實踐都是為實現項目目標服務的。Alistair Cockburn在他的著作《敏捷軟件開發》中指出,軟件項目的目標有兩個,取得當前項目的成功并進行積累,為后續的項目做準備。

      關于第一個目標,一個比較麻煩的事情就是如何定義成功。一般來說,大家認為在預算范圍和進度計劃之內交付客戶想要的產品,項目就算是成功的。但這樣的理解似乎過于初級。Dewys Lasdon曾指出,&ldquo我們的工作不是用限定的費用及時地給客戶他想要的東西,而是給他從未夢想過的東西當他得到的時候,他意識到這就是他一直想要的東西。&rdquo如果你結合iPod取得的成功來看,就能很好地理解這段話的含義了。

      關于第二個目標,主要有兩層意思。第一層意思是&ldquo鍛煉隊伍&rdquo。在項目中,團隊共同工作一段時間,進行了許多&ldquo戰術配合&rdquo方面的練習,大家相互之間更有默契。對于個人來說,通過具體的開發實踐,學習了不少新知識,也積累了經驗。

      第二層意思是為后續項目提供積累。后續項目可能是運維項目,也可能是產品的下一個版本,或其他項目。不少項目開發工作對于后續項目有重要意義,如項目文檔和回歸測試套件等。如果你曾接手過別人的項目,或者只是花時間讀過別人的程序,就一定會對此深有感觸。

      順便提一下,項目的第二個目標不一定是次要目標。對于某些領航項目或概念驗證項目來說,為后續項目提供經驗積累就是項目的首要目標,也是項目成功的衡量標準之一。

      RUP

      根據IBM的官方說法,&ldquoRational Unified Process是一個靈活的軟件開發流程平臺。借助它可配置的構架,RUP 使你能夠只選擇和部署項目的每個階段需要的流程構件。RUP 平臺以業界公認的軟件工程最佳經驗為核心,它包含配置 RUP 以滿足項目特定需求的工具。從這種意義上說,RUP 是一個軟件開發方法框架,以及一個公認的、靈活的、實用的流程平臺,用于成功的軟件項目。&rdquo RUP提出了六項最佳實踐:

      1. 迭代的開發軟件

      2. 需求管理

      3. 使用基于構件的體系結構

      4. 可視化軟件建模

      5. 驗證軟件質量

      6. 控制軟件變更

      讓我們來看看其中的需求管理。一項調查(James Martin An Information Systems Manifesto,Prentice Hall,1984)表明56%的缺陷其實是在軟件需求階段被引入的。而這其中的50%是由于需求文檔編寫有問題、不明確、不清晰、不正確導致的。剩下的50%是由于需求的遺漏導致的。更重要的是,許多需求缺陷直到很晚才被發現。而缺陷發現得越晚,修復缺陷所需的代價就越大。所以在傳統軟件工程方法中,非常重視需求工作,甚至稱這部分工作為需求工程。

      需求工程的主要出發點是減少需求中的缺陷,從而降低項目風險。Joel Spolsky 指出:“首先,沒有編寫規格說明是軟件項目中你所承擔的一個最大的、不必要的風險!碧貏e是在外包項目中,絕大多數客戶都不會同意沒有需求規格說明書的開發方式,因為這樣做風險太大,實在不值得冒這個險。

      需求工程的另一項重要使命是發現機會,即發現創新的產品,為用戶提供更多價值的機會。如果你草率對待需求工作,將喪失這種機會。例如,在我們進行業務流程分析時,應該適當關注企業流程再造,業務管理創新,實現更多客戶價值的機會。只有這樣,才能可能做出Dewys Lasdon所說的“客戶從未夢想過的東西”。

      需求工程中的一個重要方面是管理需求的可追蹤性,即從項目的總體目標追蹤到業務用例,再追蹤到實現用例和具體需求,最后追蹤到實現和測試的能力。如果忽視了這個方面,項目的開發可能會偏離方向。

      我們在編寫需求時,常常會用到一些文檔模板,如需求規格說明書模板和用例模板。某些模板非常全面、細致,以至于某些部分我們初看上去甚至覺得可以忽略掉。但是當你打算忽略掉模板中的這些部分時,千萬要小心,因為模板的主要作用之一就是降低遺漏需求的風險。

      有一次一名項目經理打算在開發團隊中引入用例模板,查找了一些資料之后,寫了一個草稿讓我復查一下。我發現他的模板中沒有用例的使用頻度,問他時他說,覺得沒有太大作用就裁掉了。于是我告訴他,用例使用的頻度對系統的設計和實現有很大的影響,這屬于系統的非功能需求,不能省略。

    延伸閱讀

    文章來源于領測軟件測試網 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>