隨筆 - 251  文章 - 504  trackbacks - 0
          <2006年11月>
          2930311234
          567891011
          12131415161718
          19202122232425
          262728293012
          3456789

          本博客系個人收集材料及學習記錄之用,各類“大俠”勿擾!

          留言簿(14)

          隨筆分類

          收藏夾

          My Favorite Web Sites

          名Bloger

          非著名Bloger

          搜索

          •  

          積分與排名

          • 積分 - 202782
          • 排名 - 284

          最新評論

          4. 基于模型的測試

          模型實際上就是用語言把一個系統的行為描述出來,定義出它可能的各種狀態,以及它們之間的轉換關系,即狀態轉換圖。模型是系統的抽象。基于模型的測試是利用模型來生成相應的測試用例,然后根據實際結果和原先預想的結果的差異來測試系統,過程如下圖所示。

          三、軟件測試的類型

          常見的軟件測試類型有:

          BVT (Build Verification Test)

          BVT是在所有開發工程師都已經檢入自己的代碼,項目組編譯生成當天的版本之后進行,主要目的是驗證最新生成的軟件版本在功能上是否完整,主要的軟件特性是否正確。如無大的問題,就可以進行相應的功能測試。BVT優點是時間短,驗證了軟件的基本功能。缺點是該種測試的覆蓋率很低。因為運行時間短,不可能把所有的情況都測試到。

          Scenario Tests(基于用戶實際應用場景的測試)

          在做BVT、功能測試的時候,可能測試主要集中在某個模塊,或比較分離的功能上。當用戶來使用這個應用程序的時候,各個模塊是作為一個整體來使用的,那么在做測試的時候,就需要模仿用戶這樣一個真實的使用環境,即用戶會有哪些用法,會用這個應用程序做哪些事情,操作會是一個怎樣的流程。加了這些測試用例后,再與BVT、功能測試配合,就能使軟件整體都能符合用戶使用的要求。Scenario Tests優點是關注了用戶的需求,缺點是有時候難以真正模仿用戶真實的使用情況。

          Smoke Test

          在測試中發現問題,找到了一個Bug,然后開發人員會來修復這個Bug。這時想知道這次修復是否真的解決了程序的Bug,或者是否會對其它模塊造成影響,就需要針對此問題進行專門測試,這個過程就被稱為Smoke Test。在很多情況下,做Smoke Test是開發人員在試圖解決一個問題的時候,造成了其它功能模塊一系列的連鎖反應,原因可能是只集中考慮了一開始的那個問題,而忽略其它的問題,這就可能引起了新的Bug。Smoke Test優點是節省測試時間,防止build失敗。缺點是覆蓋率還是比較低。

          此外,Application Compatibility Test(兼容性測試),主要目的是為了兼容第三方軟件,確保第三方軟件能正常運行,用戶不受影響。Accessibility Test(軟件適用性測試),是確保軟件對于某些有殘疾的人士也能正常的使用,但優先級比較低。其它的測試還有Functional Test(功能測試)、Security Test(安全性測試)、Stress Test(壓力測試)、Performance Test(性能測試)、Regression Test(回歸測試)、Setup/Upgrade Test(安裝升級測試)等。

          四、微軟的軟件測試工作

          1. 基本情況

          測試在微軟公司是一項非常重要的工作,微軟公司在此方面的投入是非常巨大的。微軟對測試的重視表現在工程開發隊伍的人員構成上,微軟的項目經理、軟件開發人員和測試人員的比例基本是1:3:3或1:4:4,可以看出開發人員與測試人員的比例是1:1。對于測試的重視還表現在最后產品要發布的時候,此產品的所有相關部門都必須簽字,而測試人員則具有絕對的否決權。

          測試人員中分成兩種職位,Software Development Engineer in Test(測試組的軟件開發工程師)實際上還是屬于開發人員,他們具備編寫代碼的能力和開發工具軟件的經驗,側重于開發自動化測試工具和測試腳本,實現測試的自動化。Software Test Engineer(軟件測試工程師)具體負責測試軟件產品,主要完成一些手工測試以及安裝配置測試。

          2. 測試計劃

          測試計劃是測試人員管理測試項目,在軟件中尋找Bug的一種有效的工具。測試計劃主要有兩個作用,一是評判團隊的測試覆蓋率以及效率,讓測試工作很有條理的逐步展開。二是有利于與項目經理、開發人員進行溝通。有了測試計劃之后,他們就能夠知道你是如何開展測試工作的,他們也會從中提出很多有益的意見,確保測試工作順利進行。總之,有了測試計劃可以更好的完成測試工作,確保用戶的滿意度。

          測試人員在編寫測試計劃之前,應獲得以下文檔:

          1)程序經理編寫的產品功能說明書或產品開發計劃;

          2)程序經理或開發人員提供的開發進度表。

          根據產品的特性及開發進度安排,測試人員制定具體的測試計劃。測試計劃通常包括以下內容:

          1)測試目標和發布條件:

          a. 給出清晰的測試目標描述;

          b. 定義產品的發布條件,即在達到何種測試目標的前提下才可以發布產品的某個特定版本。

          2)待測產品范圍:

          a. 軟件主要特性/功能說明,即待測軟件主要特性的列表;

          b. 特性/功能測試一覽,應涵蓋所有特性、對話框、菜單和錯誤信息等待測內容,并列舉每個測試范圍內要重點考慮的關鍵功能。

          3)測試方法描述:

          a. 定義測試軟件產品時使用的測試方法;

          b. 描述每一種特定的測試方法可以覆蓋哪些測試范圍。

          4)測試進度表:

          a. 定義測試里程碑;

          b. 定義當前里程碑的詳細測試進度。

          5)測試資源和相關的程序經理/開發工程師:

          a. 定義參與測試的人員;

          b. 描述每位測試人員的職責范圍;

          c. 給出與測試有關的程序經理/開發工程師的相關信息。

          6)配置范圍和測試工具:

          a. 給出測試時使用的所有計算機平臺列表;

          b. 描述測試覆蓋了哪些硬件設備;

          c. 測試時使用的主要測試工具。

          此外,還應列出測試中可能會面臨的風險及測試的依賴性,即測試是否依賴于某個產品或某個團隊。比如此項測試依賴性WindowsCE這個操作系統,而這個系統要明年2月份才能做好,那么此項測試就可能只有在明年5月份才能完成,這樣就存在著依賴關系。如果那個團隊的開發計劃往后推,則此項測試也會被推遲。

          posted on 2006-11-26 14:53 matthew 閱讀(312) 評論(2)  編輯  收藏 所屬分類: 軟件測試技術

          FeedBack:
          # re: 軟件測試基礎(2)--轉貼 2006-11-26 20:34 CoderDream
          圖片鏈接無效,請檢查!  回復  更多評論
            
          # re: 軟件測試基礎(2)--轉貼 2006-11-27 14:00 matthew2006
          多謝你檢查出Bug!  回復  更多評論
            
          主站蜘蛛池模板: 共和县| 洪雅县| 龙井市| 永德县| 越西县| 林甸县| 武宁县| 潜山县| 张家界市| 南川市| 沾化县| 安庆市| 新乐市| 玛曲县| 团风县| 来安县| 镇坪县| 天全县| 南安市| 荃湾区| 蒙城县| 甘肃省| 芮城县| 汕尾市| 温宿县| 嘉善县| 神农架林区| 上杭县| 那坡县| 大理市| 临西县| 台安县| 泰兴市| 武夷山市| 宝兴县| 阳西县| 洪江市| 瑞安市| 原平市| 乌鲁木齐县| 河西区|