• 軟件測試技術
  • 軟件測試博客
  • 軟件測試視頻
  • 開源軟件測試技術
  • 軟件測試論壇
  • 軟件測試沙龍
  • 軟件測試資料下載
  • 軟件測試雜志
  • 軟件測試人才招聘
    暫時沒有公告

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

巧用策略模式提高軟件測試效率

發布: 2011-1-12 11:43 | 作者: 劉楊 | 來源: 網絡轉載 | 查看: 257次 | 進入軟件測試論壇討論

領測軟件測試網

  人們常說說時間就是金錢,效率就是生命。不論對開發還是測試,效率都可以說是項目的生命。不想提高效率的工程師不是好經理!(嗯?不太對吧-,-)言歸正傳,本系列“高效率測試”短文希望能夠給大家介紹一些微軟測試團隊如何提高效率的實踐,謹和大家一起探討。

  做過測試工作的人或許都知道,測試一個產品的工作量是比其開發的工作量要大得多的(在微軟,一個團隊測試人員的數目與開發人員的理想的比例是1.5比1)。做過測試工作的人也一定知道,這個“1.5倍”的黃金比例由于開發進度,項目需求的原因常常不容易滿足——即使是在微軟,這樣一個對軟件測試有巨大投入的公司?梢韵胂,一邊是緊迫的項目進度,一邊又是必須提供給用戶最高質量產品的不可侵犯的原則,這事兒對測試團隊就是一個地地道道的“杯具”。所幸的是,微軟的工程師們總能絞盡腦汁,螺螄殼里做道場,榨干每一行代碼、每一個測試用例的價值,最終把“杯具”變成“洗具”。下面就給大家講一個我參與的項目中利用策略模式(Strategy Pattern)做更高效測試的例子。

anders Liu 1

  首先介紹一下產品背景。該產品是典型的數據庫 -> WebService -> Web三層架構,其中WebService和Web界面均是提供給用戶的開放接口,而他們提供的操作都是針對對象的創建,讀取,更新和刪除。對我們測試團隊而言,WebService和Web兩種用戶訪問界面是必測無疑的。這兩種界面的具體操作完全不同,譬如在Web界面上創建對象需要填寫并提交表單,而在 WebService界面中則是一個WCF(Windows Communication Foundation)的調用,但是他們對后臺而言則是完全相同的?梢杂孟旅孢@個圖來表示。

anders Liu 關系圖

  這時候工程師們就動起了腦筋:既然Web界面和WebService界面對于后臺而言是相同的,也就是說Web界面的測試 和WebService界面的測試可以共享測試的過程(Scenario)和數據(Data),只是具體實施操作的時候有所不同。這不就是設計模式中的策略模式嗎?沒錯,把邏輯操作(這里是測試步驟)抽象出來,可以在運行時切換具體實現的,就是策略模式。具體而言呢,對WebService的各種操作實現就是一個策略,對Web界面的操作實現也是一個策略。當工程師們實現自動化測試用例的時候,他們并不關心他在通過Web還是通過WebService做操作,他們只關心的是:用什么數據,做什么步驟。至于怎么做,是運行時根據環境決定的。這其中的關系可以用下面的圖表示:

  基于在我所在項目組的實踐,我們發現利用策略模式的好處有:

  1) 同樣的自動化測試用例可以同時測試Web界面和WebService界面,成倍的簡化了自動化測試代碼的編寫工作。

  2) 清晰的分離了“做什么”和“怎么做”。編寫測試代碼可以更關注測試的步驟和邏輯。

  3) 在項目的初始階段,WebService界面的操作會比較穩定,而Web界面往往會由于復雜度更高而不穩定。這時候可以使用WebService策略開發并運行自動化測試,等到Web界面穩定了,再把環境變量設為Web策略,就可以完全測試Web界面了。而常規的做法,如果Web界面不穩定,甚至只是某一個模塊不穩定,就會減慢或阻礙整個團隊的測試開發,進度大大受阻。

  4) 當運行一個Web界面測試的時候,如果測試結果失敗,可以動態調整為使用WebService策略重新測試。這樣可以“自動”地幫助開發測試人員定位問題發生在Web層還是在WebService層。

  5) 整體測試框架具有較高的擴展性。如果產品需要新增PowerShell作為另一個用戶界面,那么只需要實現PowerShellTestStrategy,就可以讓大多數測試用例運行在PowerShell上。

  在微軟,其實還有很多做高效測試的例子,下次有機會再拿出來曬吧。

延伸閱讀

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

TAG: 工程師 工作量 軟件測試 時間 微軟


關于領測軟件測試網 | 領測軟件測試網合作伙伴 | 廣告服務 | 投稿指南 | 聯系我們 | 網站地圖 | 友情鏈接
版權所有(C) 2003-2010 TestAge(領測軟件測試網)|領測國際科技(北京)有限公司|軟件測試工程師培訓網 All Rights Reserved
北京市海淀區中關村南大街9號北京理工科技大廈1402室 京ICP備10010545號-5
技術支持和業務聯系:info@testage.com.cn 電話:010-51297073

軟件測試 | 領測國際ISTQBISTQB官網TMMiTMMi認證國際軟件測試工程師認證領測軟件測試網

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