qileilove

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

          自動(dòng)化測(cè)試的數(shù)據(jù)依賴和獨(dú)立

          自動(dòng)化測(cè)試剛 開始的時(shí)候,基于錄制回放,輸入的都是頁面上你實(shí)際輸入的數(shù)據(jù)。如果我希望測(cè)試一個(gè)合法的登錄和一個(gè)非法的登錄,同樣的腳本不一樣的數(shù)據(jù)而已,我不想有兩 個(gè)腳本,那么就需要對(duì)數(shù)據(jù)進(jìn)行參數(shù)化。最好,數(shù)據(jù)與腳本分離,以便更加清晰和容易維護(hù)。因此,自動(dòng)化測(cè)試中引入了“數(shù)據(jù)驅(qū)動(dòng)”的概念,即用獨(dú)立于腳本的測(cè) 試數(shù)據(jù)來驅(qū)動(dòng)腳本的運(yùn)行。

          單個(gè)腳本的數(shù)據(jù)問題可以這樣處理,那么多個(gè)腳本之間的數(shù)據(jù)共享和傳遞呢?比如,一個(gè)系統(tǒng)有兩個(gè)模塊:上游模塊A,下游模塊BB的輸入是A的輸出。這里有一個(gè)問題:B的數(shù)據(jù)怎么創(chuàng)建?有人會(huì)馬上想到數(shù)據(jù)傳遞啊,把A模塊的輸出寫到一個(gè)公共變量或者數(shù)據(jù)表中,B模塊從這里拿數(shù)據(jù)開始自己的執(zhí)行。是的,這是自動(dòng)化測(cè)試工具提供的功能。可是,如果某次運(yùn)行,模塊A有新的缺陷,造不出B預(yù)期的輸入數(shù)據(jù),會(huì)導(dǎo)致B的自動(dòng)化腳本失敗。當(dāng)我們看到失敗后,是否費(fèi)力排查下來才發(fā)現(xiàn)A才是B失敗的罪魁禍?zhǔn)祝慷绻?/span>A是成功的(A是否失敗要看是否有關(guān)于這個(gè)缺陷的相關(guān)驗(yàn)證),則更具有蒙蔽性,很難快速想到問題可能出在A。這里舉的例子還相對(duì)簡單,若系統(tǒng)中模塊間的交互更多、更復(fù)雜,數(shù)據(jù)的問題、腳本的問題、程序本身的缺陷就象幾個(gè)毛線團(tuán)纏繞在一起,排查問題的根本原因?qū)⒑馁M(fèi)大量的人力,并讓人沮喪。更有甚者,上游一失效,下游所有相關(guān)功能測(cè)試全部失敗,即使他們本來是沒有缺陷的。這樣的自動(dòng)化也太脆弱了,簡直和天氣預(yù)報(bào)一樣經(jīng)常誤報(bào)啊!

          如 此看來,測(cè)試數(shù)據(jù)的依賴確實(shí)給我們添了不少亂子。那我們是否可以這樣做?即使本來兩個(gè)功能之間有數(shù)據(jù)的傳遞,也為每個(gè)單獨(dú)的功能預(yù)埋其輸入數(shù)據(jù)(而非依賴 上游在執(zhí)行過程中產(chǎn)生這樣的數(shù)據(jù))。這樣當(dāng)一個(gè)功能失效后我們能夠迅速定位到它。當(dāng)然,這樣做的一個(gè)風(fēng)險(xiǎn)就是可能隱藏某模塊不能正確產(chǎn)生其它模塊希望的正確輸出,而這種問題對(duì)于用戶的端到端的操作是嚴(yán)重的問題。

          因此,我建議在多個(gè)腳本的測(cè)試數(shù)據(jù)上綜合使用以上兩種方法。“數(shù)據(jù)獨(dú)立”適用于測(cè)試不穩(wěn)定的功能(如新功能),或者容易出錯(cuò)的功能(如老功能中復(fù)雜的邏輯),方便查找原因。“數(shù)據(jù)依賴”適用于測(cè)試穩(wěn)定的功能/接 口或者基本業(yè)務(wù)流程,有了它的保障,我們對(duì)端到端的正確性更有信心。當(dāng)“數(shù)據(jù)獨(dú)立”和“數(shù)據(jù)依賴”在一次運(yùn)行中都有時(shí),如果“數(shù)據(jù)獨(dú)立”的腳本失敗,我們 從“數(shù)據(jù)獨(dú)立”的單個(gè)腳本開始排查問題;如果“數(shù)據(jù)依賴”的腳本失敗,同時(shí)“數(shù)據(jù)獨(dú)立”的腳本也在相關(guān)處失敗,則從“數(shù)據(jù)獨(dú)立”的單個(gè)腳本開始排查問題, 否則從“數(shù)據(jù)依賴”的腳本處排查問題。

          posted on 2011-10-25 14:41 順其自然EVO 閱讀(246) 評(píng)論(0)  編輯  收藏 所屬分類: 測(cè)試學(xué)習(xí)專欄

          <2011年10月>
          2526272829301
          2345678
          9101112131415
          16171819202122
          23242526272829
          303112345

          導(dǎo)航

          統(tǒng)計(jì)

          常用鏈接

          留言簿(55)

          隨筆分類

          隨筆檔案

          文章分類

          文章檔案

          搜索

          最新評(píng)論

          閱讀排行榜

          評(píng)論排行榜

          主站蜘蛛池模板: 新泰市| 呼图壁县| 广西| 黔南| 洞口县| 霍州市| 宜州市| 大化| 和田县| 长子县| 新疆| 台南市| 铁岭县| 安阳市| 枞阳县| 镇江市| 永兴县| 于都县| 大石桥市| 东乌珠穆沁旗| 徐汇区| 巨鹿县| 江油市| 和龙市| 苗栗县| 金川县| 富裕县| 海丰县| 承德县| 沐川县| 扎鲁特旗| 衡南县| 民丰县| 大兴区| 繁昌县| 鹤壁市| 临朐县| 策勒县| 甘谷县| 裕民县| 明星|