qileilove

          blog已經轉移至github,大家請訪問 http://qaseven.github.io/

          淺談測試框架的設計與測試數據是否分離

            現在基本每個項目都開始或多或少的有自動化測試用例了,當然也就有了一些測試框架,還有一些比較有名的開源框架比如,selenium staf等等,如果目前項目中你要負責開發一款自動化測試框架呢,前段時間負責一款接口測試自動化測試框架的設計開發,它不同于以往我開發的測試框,他是和數據庫打交道的,所以如何讓準備數據更靈活更方便是我著重考慮的,目前開發已完成并且很好用。哈哈

            正好在著說說測試框架設計

            測試框架,目前業內來看就三種:

            1、錄制回放的框架

            2、數據驅動的框架,這種框架又分為數據和用例分類和數據與用例為一體,當然他們各有利弊

            3、關鍵字驅動的測試框架

            總的來說,第一種最簡單,但是缺點也很明顯,不以維護,第二種和第三種不相伯仲,需要根據具體的問題具體分析,但是第三其實有一些人工智能的影子,可以代碼生成代碼,BDD測試(Behavior. Driven Development)框架,比如jbehave easyb其實就可以看做關鍵字驅動的測試框架

            數據驅動的測試框架,在上個我負責的項目中,實際我也是使用這個方案的,數據驅動的框架中,數據時重點,如何讓用戶更容易的造數和是用他是你框架成功與否!這里大家簡單來看其實就是一個三層結構,數據準備層,測試過程規范層,drive層,負責執行等等

            這里的數據是否分離呢,其實這個問題是沒有更好答案的,要具體問題具體分析,因為數據如果分離,以后的case變化可能只需要維護數據,case的代碼是不用動的。當時你能控制的是數據塊,可能是一個文件等等,不方便深入到數據的內部。如果不分離好處是,你在case中一眼能看到你的數據,你想測試的是什么,并且整個測試過程是你可見,測試數據完全可控制的,比如一個log,已\001分割,你可以完全控制log中分割的每個字段。但是會增加維護的成本,目前我剛開發完成的框架支持以上兩種數據提供,測試人員根據具體情況使用

            關鍵字驅動框架,如果需求是數據和業務case盡可能的分離,那第三種方式是比較適合的,它可以保證業務與實現分離,數據與業務分離,層次清晰,易于維護。

            大家還可以嘗試一下代碼生成代碼,在上個我寫的框架中,就運用了這個方法,很多common的東西,有固定格式的項目的具體的代碼文件都可以考慮用代碼生成代碼,能很大限度的提高效率。

          版權聲明:本文出自 shadowwalker 的51Testing軟件測試博客:http://www.51testing.com/?622454

          原創作品,轉載時請務必以超鏈接形式標明本文原始出處、作者信息和本聲明,否則將追究法律責任。

          posted on 2013-04-26 14:13 順其自然EVO 閱讀(337) 評論(0)  編輯  收藏 所屬分類: selenium and watir webdrivers 自動化測試學習

          <2013年4月>
          31123456
          78910111213
          14151617181920
          21222324252627
          2829301234
          567891011

          導航

          統計

          常用鏈接

          留言簿(55)

          隨筆分類

          隨筆檔案

          文章分類

          文章檔案

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 德庆县| 南川市| 平顺县| 锦屏县| 察雅县| 多伦县| 宁晋县| 裕民县| 会东县| 丰原市| 克东县| 绥芬河市| 崇左市| 卓资县| 蚌埠市| 嫩江县| 临沂市| 大埔县| 鄱阳县| 万源市| 浦县| 南充市| 长乐市| 盖州市| 静宁县| 邵武市| 大关县| 溧阳市| 绵阳市| 晋江市| 静宁县| 榆树市| 乐东| 邹城市| 中西区| 沈丘县| 白水县| 竹北市| 利辛县| 泗洪县| 乐平市|