生命就像一場云游 坎坷也是一種收獲

測試進階三步曲,入行導讀

上一篇 / 下一篇  2008-04-01 10:43:52 / 個人分類:測試管理

測試這個領域,入門淺,真正進入之后才會發現其博大精深,涉足6年余,才僅有點感覺,在此稍做總結,與涉入測試領域的兄弟共勉:
階段一:入門
1、軟件工程:軟件開發模式
首先了解軟件研發的過程,才能采取不同的測試策略。如傳統的瀑布模型,就可以按V模型的方式進行測試的計劃、設計和執行工作;如果是RUP方式,則測試過程就要按照歷次迭代進行分階段的測試,每次迭代的測試方法和重點會有所不同。還有很多開發模式,測試工作都需要根據不同情況進行適當調整。
2、測試理論:基本過程與方法
系統測試、集成測試、單元測試以及BETA測試、驗收測試等的測試依據不同,所使用的方法也不同,邊界值法、等效類劃分、錯誤推測、因果圖以及條件覆蓋、判定覆蓋等等,方法非常多,在各階段測試設計過程中都會用到,所以作為基礎課程必須掌握。
二、進階
了解了上面兩條,相當于剛學會什么叫編程語言、C語言的語法是什么,能編寫HELLOWORLD小程序了,會編碼不等于能編好代碼,測試也是一樣。掌握上面兩條已經可以拿著一個產品說明書開始用產品了,進行初級的系統功能測試(勉強算測試吧:),真正要深入,還需要再學習以下內容
3、軟件特性:軟件產品的基本特性
首先知道一個軟件必須要具有的基本特性,即一個好的軟件是什么樣子的,才可能去有目的的設計測試用例。ISO的一些標準中定義了軟件的質量模型,functionality、reliability、usability、efficiency、maintainability、portability等,這些在真正進行測試設計前必須能夠詳細了解,沒有這些基礎,拿著簡單的幾份需求、設計文檔進行測試是遠遠不夠的。
4、測試設計:測試的精髓所在
要進行測試,必須要提前知道測試什么、怎么測,這時候就需要進行測試策略、方案、用例的設計了。這種設計的基礎除上面提到的3個大的內容都要用到外,還要對被測對象進行重復的了解,同時要考慮是否需要驅動/樁模塊/模擬環境的支持、如何來設計這些模塊與環境、需要什么樣的工具、用什么樣的方法、用戶真正使用的環境是什么等等,測試設計的能力需要在不斷的實際項目操作經驗中積累。
5、測試工具-提高測試效率的手段
個人認為測試工具在測試知識領域內的重要性并不是很強,屬于輔助性的一種手段,可以用來提高效率,但不能依靠它來保證產品質量。測試工具現在已是林林總總,見過的、用過的已有幾十種之多,這部分的學習先從面上入手,從功能測試、性能測試、代碼測試等幾個領域找出幾個典型工具,先了解它們能做什么、不能做什么,在測試設計時可以根據情況具體選擇,在測試實施過程中再熟練掌握。
掌握上面這些內容,已經可以參與一些項目的測試了,經過一、二年的實踐經驗,可以說驕傲地說自己已經是個測試工程師了。
三、高級-更全面、更系統最主要經驗更豐富
測試這個領域,所謂高級是無法確定的,所以在此也不敢指導如何成為高級測試工程師,只能說前5條都很熟了以后,可以在其它一些領域進行深入探索:
6、測試流程
方法、工具是回事,真正能把這些東西連貫使用,很好的執行,還需要測試流程來保證,業界有現成的流程可參考,但也只能做參考,團隊的規模、產品的領域不同流程肯定不同,制定一套完整、順暢的流程才是讓測試工作有效執行的保證。
7、系統分析
具有系統分析能力的測試工程師才能在產品早期即需求、設計階段發現產品的問題,盲目地跟著開發需求、設計文檔走地測試只能保證產品問題不多,產品沒問題并不代表產品就能用、好用。
8、技術創新
測試領域沒有固定的、一成不便的理論和方法,在經驗積累之后,可以針對產品、環境的不同摸索出不同的流程、方法,可以設計自己的測試文檔體系,也建立自己的測試工具平臺,向上的空間是永無止境的。

平時也沒怎么考慮這些問題,寫的時候又分了好幾個時間段,思路不太連貫,僅供參考,并歡迎批評指正。


目前業界測試工具包括商用的、免費的至少也有上百種,僅掌握一、兩種測試工具如同滄海一粟,是遠遠不夠的。測試如同編程,測試如果要做好,真正的決定因素在于測試的設計,工具只是輔助工作的一種手段而已,換句話說,測試工程師才是測試工作的主體,測試工程師的能力和素質決定了測試工作和產品的質量。
測試工具象是工程師手里的雙刃劍,選不好或用不好就不能提高效率、節約成本,如一些功能自動化測試工具,如ROBOT、QARUN、WINRUNNER之類的,對于新推出的產品,往往客戶需求經常變化,版本間改動會很大,這時這些工具就用不上,因為每次都要重新錄制腳本,下次還用不上,錄制腳本的過程實際就是測試的過程,這個階段的功能完全手工測試就可以了,而當版本成熟后,問題和改動比較少,這時后用功能自動測試工具主要目的僅是為避免因改動導致其它原正確使用的功能出問題(新增特性本身的測試還是要手工測試一遍的),但這種情況只要嚴格控制開發人員代碼修改范圍、做好代碼走讀(小修改的代碼量很少)、測試人員做好周邊相關功能的測試(這就要求測試人員對產品功能、系統結構的全面了解),完全可以避免,而且在使用這些工具過程中,測試人員還要花費時間去掌握腳本編程,有些工具僅支持幾種語言和有限的控件,超出這些范圍又要更換工具,這樣算來,費用就遠遠不止十幾萬、幾十萬買一套工具了,人工成本增加不少,測試效率也未必提高。
性能測試工具也很多,而且側重點也不同,商用工具共同的特點就是奇貴,其實業界管理類軟件的復雜度并不高,C/S、B/S結構的免費性能測試工具網上大把,選擇一個簡單好用的下載就可以了,完全沒必要花重金買或用盜版的商用工具。商用性能測試工具以前用過的比較好用的也就算quantify了,用起來很簡單,分析報告很細很管用,用它發現和解決了大型軟件中的很多性能問題。個人認為在免費工具不能滿足要求的情況下建議自己來開發性能測試工具,因為無非就測試那么幾項內容,所用技術也無非就是網絡編程的基礎技術,這樣積累下來,容易形成針對同類產品的一個實用的性能測試平臺,對一個測試組就足夠用了。
單元測試工具建議還是必須要用的,無論商用還是免費的都可以,因為把問題扼殺在編碼階段比后期系統測試更能有效提高產品的質量。
測試過程中的工具也不僅是功能、性能的自動測試,還有一些仿真工具、協議分析工具等,這些的專業性很強,可根據不同的產品來專門選擇。另外,可以自行開發一些測試環境準備的小工具,對提高測試效率也是很有幫助的。
總之,測試工程師要做好一個產品的測試,適當采用測試工具是必要的,但沒必要完全迷信于那么一、兩種測試工具,不能過分依賴測試工具,只有對各種測試工具全面了解,才能冷靜、客觀的去分析和選擇。另外,規范開發流程、測試過程、強化測試設計的能力和素質,都是保證產品質量的有效手段。人的素質提高、作用提高了,工具的作用自然會相對減弱,企業也就會把關注點從測試工具使用轉移到測試人才培養,測試工程師的地位也就會逐步得到提高了。

TAG:

 

評分:0

我來說兩句

顯示全部

:loveliness: :handshake :victory: :funk: :time: :kiss: :call: :hug: :lol :'( :Q :L ;P :$ :P :o :@ :D :( :)

日歷

« 2011-02-23  
  12345
6789101112
13141516171819
20212223242526
2728     

數據統計

  • 訪問量: 7863
  • 日志數: 64
  • 建立時間: 2007-09-05
  • 更新時間: 2008-04-01

RSS訂閱

Open Toolbar
国产97人人超碰caoprom_尤物国产在线一区手机播放_精品国产一区二区三_色天使久久综合给合久久97