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

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

          留言簿(14)

          隨筆分類

          收藏夾

          My Favorite Web Sites

          名Bloger

          非著名Bloger

          搜索

          •  

          積分與排名

          • 積分 - 204385
          • 排名 - 283

          最新評論

          3. 測試用例開發

          一個好的測試用例就是有一個合理的概率來找到Bug,不要冗余,要有針對性,一個測試只針對一件事情。特別是功能測試的時候,如果一個測試是測了兩項功能,那么如果測試結果失敗的話,就不知道到底是哪項功能出了問題。

          測試用例開發中主要使用的技術有等價類劃分,邊界值的分析,Error Guessing Testing。

          等價類劃分是根據輸入輸出條件,以及自身的一些特性分成兩個或更多個子集,來減少所需要測試的用例個數,并且能用很少的測試用例來覆蓋很多的情況,減少測試用例的冗余度。在等價類劃分中,最基本的劃分是一個為合法的類,一個為不合法的類。

          邊界值的分析是利用了一個規律,即程序最容易發生錯誤的地方就是在邊界值的附近,它取決于變量的類型,以及變量的取值范圍。一般對于有n個變量時,會有6n 1個測試用例,取值分別是min-1, min, min 1, normal, max-1, max,max 1的組合。邊界值的分析的缺點,是對邏輯變量和布爾型變量不起作用,還有可能會忽略掉某些輸入的組合。

          Error Guessing Testing完全靠的是經驗,所設計的測試用例就是常說的猜測。感覺到軟件在某個地方可能出錯,就去設計相應的測試用例,這主要是靠實際工作中所積累的經驗和知識。其優點是速度快,只要想得到,就能很快設計出測試用例。缺點就是沒有系統性,無法知道覆蓋率會有多少,很可能會遺漏一些測試領域。

          實際上在微軟是采用一些專門的軟件或工具負責測試用例的管理,有一些測試信息可以被記錄下來,比如測試用例的簡單描述,在哪些平臺執行,是手工測試還是自動測試,運行的頻率是每天運行一次,還是每周運行一次。此外還有清晰的測試通過或失敗的標準,以及詳細記錄測試的每個步驟。

          4. Bug跟蹤過程

          在軟件開發項目中,測試人員的一項最重要使命就是對所有已知Bug進行有效的跟蹤和管理,保證產品中出現的所有問題都可以得到有效的解決。一般地,項目組發現、定位、處理和最終解決一個Bug的過程包括Bug報告、Bug評估和分配、Bug處理、Bug關閉等四個階段:

          1)測試工程師在測試過程中發現新的Bug后,應向項目組報告該Bug的位置、表現、當前狀態等信息。項目組在Bug數據庫中添加該Bug的記錄。

          2)開發經理對已發現的Bug進行集中討論,根據Bug對軟件產品的影響來評估Bug的優先級,制定Bug的修正策略。按照Bug的優先級順序和開發人員的工作安排,開發經理將所有需要立即處理的Bug分配給相應的開發工程師。

          3)開發工程師根據安排對特定的Bug進行處理,找出代碼中的錯誤原因,修改代碼,重新生成產品版本。

          4)開發工程師處理了Bug之后,測試人員需要對處理后的結果進行驗證,經過驗證確認已正確處理的Bug被標記為關閉(Close)狀態。測試工程師既需要驗證Bug是否已經被修正,也需要確定開發人員有沒有在修改代碼的同時引入新的Bug。

          5. Bug的不同處理方式

          在某些情況下,Bug已處理并不意味著Bug已經被修正。開發工程師可以推遲Bug的修正時間,也可以在分析之后告知測試工程師這實際上不是一個真正的Bug。也就是說,某特定的Bug經開發工程師處理之后,該Bug可能包括以下幾種狀態。

          已修正:開發工程師已經修正了相應的程序代碼,該Bug不會出現了。

          可推遲:該Bug的重要程度較低,不會影響當前應提交版本的主要功能,可安排在下一版本中再行處理。

          設計問題:該Bug與程序實現無關,其所表現出來的行為完全符合設計要求,對此應提交給程序經理處理。

          無需修正:該Bug的重要程度非常低,根本不會影響程序的功能,項目組沒有必要在這些Bug上浪費時間。

          五、成為優秀測試工程師的要求

          要成為一名優秀的測試工程師,首先對計算機的基本知識要有很好的了解,精通一門或多門的編程語言,具備一定的程序調試技能,掌握測試工具的開發和使用技術。同時要比較細心,會按照任務的輕重緩急來安排自己的工作,要有很好的溝通能力。此外,還要善于用非常規的方式思考問題,盡可能多的參加軟件測試項目,在實踐中學習技能,積累經驗,不斷分析和總結軟件開發過程中可能出錯的環節。這樣,一名優秀的測試工程師就從軟件測試的實踐中脫穎而出了。

          posted on 2006-11-26 14:55 matthew 閱讀(227) 評論(0)  編輯  收藏 所屬分類: 軟件測試技術
          主站蜘蛛池模板: 金山区| 炉霍县| 朝阳区| 宁晋县| 漳州市| 白沙| 平阳县| 遂溪县| 古交市| 淮南市| 江川县| 格尔木市| 新乡市| 龙州县| 岗巴县| 礼泉县| 嘉兴市| 朝阳县| 宁国市| 新巴尔虎左旗| 岗巴县| 儋州市| 太湖县| 沧源| 北海市| 寿宁县| 多伦县| 庆城县| 上栗县| 元谋县| 崇仁县| 从江县| 内黄县| 洛隆县| 马鞍山市| 保靖县| 达拉特旗| 东阳市| 中山市| 慈利县| 龙川县|