qileilove

          blog已經(jīng)轉(zhuǎn)移至github,大家請(qǐng)?jiān)L問(wèn) http://qaseven.github.io/

          淺談測(cè)試框架的設(shè)計(jì)與測(cè)試數(shù)據(jù)是否分離

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

            正好在著說(shuō)說(shuō)測(cè)試框架設(shè)計(jì)

            測(cè)試框架,目前業(yè)內(nèi)來(lái)看就三種:

            1、錄制回放的框架

            2、數(shù)據(jù)驅(qū)動(dòng)的框架,這種框架又分為數(shù)據(jù)和用例分類和數(shù)據(jù)與用例為一體,當(dāng)然他們各有利弊

            3、關(guān)鍵字驅(qū)動(dòng)的測(cè)試框架

            總的來(lái)說(shuō),第一種最簡(jiǎn)單,但是缺點(diǎn)也很明顯,不以維護(hù),第二種和第三種不相伯仲,需要根據(jù)具體的問(wèn)題具體分析,但是第三其實(shí)有一些人工智能的影子,可以代碼生成代碼,BDD測(cè)試(Behavior. Driven Development)框架,比如jbehave easyb其實(shí)就可以看做關(guān)鍵字驅(qū)動(dòng)的測(cè)試框架

            數(shù)據(jù)驅(qū)動(dòng)的測(cè)試框架,在上個(gè)我負(fù)責(zé)的項(xiàng)目中,實(shí)際我也是使用這個(gè)方案的,數(shù)據(jù)驅(qū)動(dòng)的框架中,數(shù)據(jù)時(shí)重點(diǎn),如何讓用戶更容易的造數(shù)和是用他是你框架成功與否!這里大家簡(jiǎn)單來(lái)看其實(shí)就是一個(gè)三層結(jié)構(gòu),數(shù)據(jù)準(zhǔn)備層,測(cè)試過(guò)程規(guī)范層,drive層,負(fù)責(zé)執(zhí)行等等

            這里的數(shù)據(jù)是否分離呢,其實(shí)這個(gè)問(wèn)題是沒(méi)有更好答案的,要具體問(wèn)題具體分析,因?yàn)閿?shù)據(jù)如果分離,以后的case變化可能只需要維護(hù)數(shù)據(jù),case的代碼是不用動(dòng)的。當(dāng)時(shí)你能控制的是數(shù)據(jù)塊,可能是一個(gè)文件等等,不方便深入到數(shù)據(jù)的內(nèi)部。如果不分離好處是,你在case中一眼能看到你的數(shù)據(jù),你想測(cè)試的是什么,并且整個(gè)測(cè)試過(guò)程是你可見(jiàn),測(cè)試數(shù)據(jù)完全可控制的,比如一個(gè)log,已\001分割,你可以完全控制log中分割的每個(gè)字段。但是會(huì)增加維護(hù)的成本,目前我剛開(kāi)發(fā)完成的框架支持以上兩種數(shù)據(jù)提供,測(cè)試人員根據(jù)具體情況使用

            關(guān)鍵字驅(qū)動(dòng)框架,如果需求是數(shù)據(jù)和業(yè)務(wù)case盡可能的分離,那第三種方式是比較適合的,它可以保證業(yè)務(wù)與實(shí)現(xiàn)分離,數(shù)據(jù)與業(yè)務(wù)分離,層次清晰,易于維護(hù)。

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

          版權(quán)聲明:本文出自 shadowwalker 的51Testing軟件測(cè)試博客:http://www.51testing.com/?622454

          原創(chuàng)作品,轉(zhuǎn)載時(shí)請(qǐng)務(wù)必以超鏈接形式標(biāo)明本文原始出處、作者信息和本聲明,否則將追究法律責(zé)任。

          posted on 2013-04-26 14:13 順其自然EVO 閱讀(341) 評(píng)論(0)  編輯  收藏 所屬分類: selenium and watir webdrivers 自動(dòng)化測(cè)試學(xué)習(xí)

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

          導(dǎo)航

          統(tǒng)計(jì)

          常用鏈接

          留言簿(55)

          隨筆分類

          隨筆檔案

          文章分類

          文章檔案

          搜索

          最新評(píng)論

          閱讀排行榜

          評(píng)論排行榜

          主站蜘蛛池模板: 台中市| 安远县| 修武县| 湖州市| 宾川县| 崇文区| 库尔勒市| 永康市| 麻阳| 海盐县| 大埔县| 伊春市| 扬中市| 营山县| 阜康市| 桂东县| 秀山| 儋州市| 子长县| 青海省| 阜平县| 昔阳县| 勃利县| 兴海县| 利辛县| 乌拉特中旗| 武山县| 庆云县| 独山县| 若羌县| 柳江县| 涟源市| 清流县| 尖扎县| 梁平县| 临沂市| 富蕴县| 鄱阳县| 凌云县| 贡觉县| 方城县|