您的位置:軟件測試 >> 測試技術(shù) >> 測試精品文章
標(biāo)準(zhǔn)STP中的集成數(shù)據(jù)驗證策略
作者:Ruth Rose(澤眾軟件原創(chuàng)翻譯) 發(fā)布時間:[ 2014/4/10 13:31:42 ] 推薦標(biāo)簽:STP 數(shù)據(jù)驗證 測試技術(shù)
Ruth Rose是一名數(shù)據(jù)驗證專家。她擅長預(yù)測模型領(lǐng)域的數(shù)據(jù)質(zhì)量和數(shù)據(jù)分析。她曾在耶路撒冷的希伯來大學(xué)學(xué)過數(shù)學(xué),并在各種創(chuàng)業(yè)公司和微軟以色列研發(fā)中心工作過。目前,她在PayPal/eBay風(fēng)險部擔(dān)任分析驗證主管。

 

 

  在一個數(shù)據(jù)不斷增長的世界,軟件測試涉及不同的數(shù)據(jù)驗證程序,這些程序是傳統(tǒng)質(zhì)量保證方法的一個組成部分。本文旨在為非數(shù)據(jù)人員提供數(shù)據(jù)驗證工具,同時也為回歸測試功能測試提供更多自動且迅速的工具和測試策略。
  本文中,我將詳細(xì)介紹數(shù)據(jù)驗證的兩種方法:自下而上法和自上而下法。這兩種方法在不同的應(yīng)用程序和測試策略中已實現(xiàn)的數(shù)據(jù)中所起的作用是不一樣的。
  自下而上方法中,應(yīng)用程序是代理器,而數(shù)據(jù)是反應(yīng)器。我們通常使用此方法對新功能進(jìn)行功能測試或把它與自上而下結(jié)合方法以覆蓋大量代碼。
  另一方面自上而下法中,數(shù)據(jù)只在畫面里,我們根據(jù)外部知識判斷關(guān)于數(shù)據(jù)模式內(nèi)關(guān)系的猜想是真還是假。
  后一種方法使我們能夠設(shè)計出成本低但功能強大的回歸測試集以及根本原因分析法。

  介紹
  數(shù)據(jù)無所不在。它已不再是某些較高等級的應(yīng)用程序的附帶品,而被視為是有價值的、脆弱的。在信息論中,數(shù)據(jù)是信息抽象化即知識的低水平。這意味著我們要有一個專家把行業(yè)知識原則又稱產(chǎn)品需求和產(chǎn)品規(guī)格轉(zhuǎn)化為一個一致的數(shù)據(jù)模式。
  這實際上解決了這一行中一直以來的一個困境:產(chǎn)品經(jīng)理和產(chǎn)品架構(gòu)師對產(chǎn)品規(guī)格的見解不一。
  事實上,數(shù)據(jù)的既定邏輯結(jié)構(gòu)及評估它的明確結(jié)果可以把一個MRD / PRD轉(zhuǎn)化成一個比以往更容易的測試計劃。
  但是,數(shù)據(jù)質(zhì)量保證技術(shù)通常很昂貴且需要分析、BI工具和專業(yè)知識。
  本文不看數(shù)據(jù)驗證本身,而是建議用一個簡單的、可重復(fù)的、不怎么需要資源和外部或技術(shù)支持的、且基于數(shù)據(jù)驗證的測試策略去替代標(biāo)準(zhǔn)質(zhì)量保證程序。
  讓我們考慮考慮一個在線購物市場的簡單案例研究:實現(xiàn)B2C交易并對測試這樣一個應(yīng)用程序的設(shè)計和選項進(jìn)行檢查。

  自下而上的數(shù)據(jù)驗證法
  直接設(shè)計包括應(yīng)用程序和DB。
  此方法中,我們有一個傳統(tǒng)的STP ,當(dāng)自動使用簡單的宏命令時,可用作一個自定義的和高度有效的低成本測試工具。
  為簡單起見,我們假設(shè)在我們的例子中,基本的測試用例是:


 
  

  需要注意的是,我們還沒有對這個流程進(jìn)行任何驗證。
  我們不會把這個簡單直接的流程擴(kuò)展為一個完整的測試過程:“生成用戶> 0 $交易”。
  這個程序?qū)⑹褂煤唵蔚腤eb宏命令調(diào)整發(fā)送給應(yīng)用程序的涵蓋購物車、用戶資料等所有可能方案的需求。驗證在后進(jìn)行以防止斷裂或使用昂貴的基礎(chǔ)設(shè)施。
  這個例子演示了數(shù)據(jù)流的另一個強大的優(yōu)點。數(shù)據(jù)是事件流的結(jié)果。這意味著:例如,如果用戶還沒有注冊賬戶(根據(jù)這個具體的例子),那我們不指望在DB中找到交易。這可以被用于負(fù)面測試以擴(kuò)大代碼覆蓋。
  回到我們的例子中,另一個過程可能是“用戶退款”(在這里,例如,我們想用負(fù)數(shù)金額重復(fù)(a))等等。 驗證應(yīng)該在后用任一電子表格(Excel,Zoho)或是像MySQL Workbench的免費SQL工具通過點擊完成。從這個意義上來說Excel非常方便,它不需要專業(yè)知識,并具有不受規(guī)范限制的比較工具。關(guān)于這個我將在下一節(jié)做簡要探討。

  總結(jié)一下這種方法:
  1. 做小測試用例。
  2. 把它們一起放入10 TC過程。
  3. 把過程一起放入一個測試集。
  4. 后進(jìn)行驗證。

  自上而下的數(shù)據(jù)驗證法
  這種方法與我們所知道的經(jīng)典的STP設(shè)計完全不同。它對功能測試和根本原因分析都有用。它可以被視作是我們所知道的黑盒測試,并在兩個重要概念上不同于以往的設(shè)計:
  1. 數(shù)據(jù)只在圖像中。因此,我們通常會把這個用作測試周期的第二層,用于bug和問題的根本原因分析。
  2. 如果先前的方法里我們試圖把測試計劃打破成一個個小流程,那么在這里,我們依靠產(chǎn)品規(guī)格、領(lǐng)域知識和很多常識,創(chuàng)造性地創(chuàng)建系統(tǒng)的不同用例之間的依賴關(guān)系。例如,對比之前的設(shè)計中的退款模塊,讓我們回憶一下我們的交易模塊,。
  在那種設(shè)計中,我們不得不考慮一個交易,一個我們不得不事先用我們應(yīng)用于退款和驗證的宏命令建立的交易。
  現(xiàn)在的方法中,我們將使用電子表格/ SQL來獲取DB中的所有退款行,將它們連到它們的父事務(wù),并根據(jù)產(chǎn)品規(guī)格(金額,原因等)驗證不同的數(shù)據(jù)字段。這種方法是很強大的,往往能揭示產(chǎn)品需求和架構(gòu)中的問題。
  對于負(fù)面測試,我們有一個穩(wěn)贏策略。例如,發(fā)現(xiàn)一筆交易里用戶沒有注冊網(wǎng)站(例如,用戶的電子郵件未被記錄)。根本原因分析中,我們能夠直接從DB生成一個執(zhí)行流–即什么導(dǎo)致失敗,并使用簡單的排序、篩選和條件格式作為Excel不受規(guī)范限制的分析工具去評估他們的IF-AND-OR-NOT依賴關(guān)系。
  這種方法對于使用Excel數(shù)據(jù)驗證功能來執(zhí)行簡單的驗證(如無前/后間隔,減少/增加/恰好n位場/十進(jìn)制值溢出,日期范圍限制等)的簡單現(xiàn)場驗證來說也是很經(jīng)典的。

  自動化與回歸
  正如前面提到的,數(shù)據(jù)驗證對自動化而言很容易。
  對于迅速回歸,我們會選擇第二種方法,即根據(jù)一個預(yù)定義的基線驗證DB數(shù)據(jù)。
  例如對于我們的購物網(wǎng)站,我們將有一組預(yù)定義的會產(chǎn)生一個數(shù)據(jù)集的一系列操作。
  我們可以輸出DB到電子表格或上傳基線到MySQL并點擊/查詢以便比較兩個表格。
  Excel的VLOOKUP在帶來兩個表間的差異上表現(xiàn)出色,SQL通過采用兩表間簡單的左連接點帶來差異。

  總結(jié)
  如前所述,數(shù)據(jù)驗證在取代傳統(tǒng)的功能測試和根本原因分析中非常有效。可以用簡單,低成本的方法通過把它的繼承邏輯結(jié)構(gòu)擴(kuò)展到被明確標(biāo)示為通過/不通過的功能測試用例來進(jìn)行數(shù)據(jù)驗證。使用數(shù)據(jù)驗證而非傳統(tǒng)功能測試可以通過把產(chǎn)品規(guī)格轉(zhuǎn)化為明確清晰的數(shù)據(jù)架構(gòu)內(nèi)的邏輯關(guān)系使編譯出更好的測試用例更容易。

  版權(quán)聲明:本文出自 SPASVO澤眾軟件測試網(wǎng):http://www.misscakediy.com/news/html/2014410134916.html

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

 

 

軟件測試工具 | 聯(lián)系我們 | 投訴建議 | 誠聘英才 | 申請使用列表 | 網(wǎng)站地圖
滬ICP備07036474 2003-2017 版權(quán)所有 上海澤眾軟件科技有限公司 Shanghai ZeZhong Software Co.,Ltd