Ruth Rose是一名數(shù)據(jù)驗(yàn)證專家。她擅長(zhǎng)預(yù)測(cè)模型領(lǐng)域的數(shù)據(jù)質(zhì)量和數(shù)據(jù)分析。她曾在耶路撒冷的希伯來(lái)大學(xué)學(xué)過(guò)數(shù)學(xué),并在各種創(chuàng)業(yè)公司和微軟以色列研發(fā)中心工作過(guò)。目前,她在PayPal/eBay風(fēng)險(xiǎn)部擔(dān)任分析驗(yàn)證主管。 |
在一個(gè)數(shù)據(jù)不斷增長(zhǎng)的世界,軟件測(cè)試涉及不同的數(shù)據(jù)驗(yàn)證程序,這些程序是傳統(tǒng)質(zhì)量保證方法的一個(gè)組成部分。本文旨在為非數(shù)據(jù)人員提供數(shù)據(jù)驗(yàn)證工具,同時(shí)也為回歸測(cè)試和功能測(cè)試提供更多自動(dòng)且迅速的工具和測(cè)試策略。
本文中,我將詳細(xì)介紹數(shù)據(jù)驗(yàn)證的兩種方法:自下而上法和自上而下法。這兩種方法在不同的應(yīng)用程序和測(cè)試策略中已實(shí)現(xiàn)的數(shù)據(jù)中所起的作用是不一樣的。
自下而上方法中,應(yīng)用程序是代理器,而數(shù)據(jù)是反應(yīng)器。我們通常使用此方法對(duì)新功能進(jìn)行功能測(cè)試或把它與自上而下結(jié)合方法以覆蓋大量代碼。
另一方面自上而下法中,數(shù)據(jù)只在畫(huà)面里,我們根據(jù)外部知識(shí)判斷關(guān)于數(shù)據(jù)模式內(nèi)關(guān)系的猜想是真還是假。
后一種方法使我們能夠設(shè)計(jì)出成本低但功能強(qiáng)大的回歸測(cè)試集以及根本原因分析法。
介紹
數(shù)據(jù)無(wú)所不在。它已不再是某些較高等級(jí)的應(yīng)用程序的附帶品,而被視為是有價(jià)值的、脆弱的。在信息論中,數(shù)據(jù)是信息抽象化即知識(shí)的低水平。這意味著我們要有一個(gè)專家把行業(yè)知識(shí)原則又稱產(chǎn)品需求和產(chǎn)品規(guī)格轉(zhuǎn)化為一個(gè)一致的數(shù)據(jù)模式。
這實(shí)際上解決了這一行中一直以來(lái)的一個(gè)困境:產(chǎn)品經(jīng)理和產(chǎn)品架構(gòu)師對(duì)產(chǎn)品規(guī)格的見(jiàn)解不一。
事實(shí)上,數(shù)據(jù)的既定邏輯結(jié)構(gòu)及評(píng)估它的明確結(jié)果可以把一個(gè)MRD / PRD轉(zhuǎn)化成一個(gè)比以往更容易的測(cè)試計(jì)劃。
但是,數(shù)據(jù)質(zhì)量保證技術(shù)通常很昂貴且需要分析、BI工具和專業(yè)知識(shí)。
本文不看數(shù)據(jù)驗(yàn)證本身,而是建議用一個(gè)簡(jiǎn)單的、可重復(fù)的、不怎么需要資源和外部或技術(shù)支持的、且基于數(shù)據(jù)驗(yàn)證的測(cè)試策略去替代標(biāo)準(zhǔn)質(zhì)量保證程序。
讓我們考慮考慮一個(gè)在線購(gòu)物市場(chǎng)的簡(jiǎn)單案例研究:實(shí)現(xiàn)B2C交易并對(duì)測(cè)試這樣一個(gè)應(yīng)用程序的設(shè)計(jì)和選項(xiàng)進(jìn)行檢查。
自下而上的數(shù)據(jù)驗(yàn)證法
直接設(shè)計(jì)包括應(yīng)用程序和DB。
此方法中,我們有一個(gè)傳統(tǒng)的STP ,當(dāng)自動(dòng)使用簡(jiǎn)單的宏命令時(shí),可用作一個(gè)自定義的和高度有效的低成本測(cè)試工具。
為簡(jiǎn)單起見(jiàn),我們假設(shè)在我們的例子中,基本的測(cè)試用例是:
需要注意的是,我們還沒(méi)有對(duì)這個(gè)流程進(jìn)行任何驗(yàn)證。
我們不會(huì)把這個(gè)簡(jiǎn)單直接的流程擴(kuò)展為一個(gè)完整的測(cè)試過(guò)程:“生成用戶> 0 $交易”。
這個(gè)程序?qū)⑹褂煤?jiǎn)單的Web宏命令調(diào)整發(fā)送給應(yīng)用程序的涵蓋購(gòu)物車、用戶資料等所有可能方案的需求。驗(yàn)證在后進(jìn)行以防止斷裂或使用昂貴的基礎(chǔ)設(shè)施。
這個(gè)例子演示了數(shù)據(jù)流的另一個(gè)強(qiáng)大的優(yōu)點(diǎn)。數(shù)據(jù)是事件流的結(jié)果。這意味著:例如,如果用戶還沒(méi)有注冊(cè)賬戶(根據(jù)這個(gè)具體的例子),那我們不指望在DB中找到交易。這可以被用于負(fù)面測(cè)試以擴(kuò)大代碼覆蓋。
回到我們的例子中,另一個(gè)過(guò)程可能是“用戶退款”(在這里,例如,我們想用負(fù)數(shù)金額重復(fù)(a))等等。 驗(yàn)證應(yīng)該在后用任一電子表格(Excel,Zoho)或是像MySQL Workbench的免費(fèi)SQL工具通過(guò)點(diǎn)擊完成。從這個(gè)意義上來(lái)說(shuō)Excel非常方便,它不需要專業(yè)知識(shí),并具有不受規(guī)范限制的比較工具。關(guān)于這個(gè)我將在下一節(jié)做簡(jiǎn)要探討。
總結(jié)一下這種方法:
1. 做小測(cè)試用例。
2. 把它們一起放入10 TC過(guò)程。
3. 把過(guò)程一起放入一個(gè)測(cè)試集。
4. 后進(jìn)行驗(yàn)證。
自上而下的數(shù)據(jù)驗(yàn)證法
這種方法與我們所知道的經(jīng)典的STP設(shè)計(jì)完全不同。它對(duì)功能測(cè)試和根本原因分析都有用。它可以被視作是我們所知道的黑盒測(cè)試,并在兩個(gè)重要概念上不同于以往的設(shè)計(jì):
1. 數(shù)據(jù)只在圖像中。因此,我們通常會(huì)把這個(gè)用作測(cè)試周期的第二層,用于bug和問(wèn)題的根本原因分析。
2. 如果先前的方法里我們?cè)噲D把測(cè)試計(jì)劃打破成一個(gè)個(gè)小流程,那么在這里,我們依靠產(chǎn)品規(guī)格、領(lǐng)域知識(shí)和很多常識(shí),創(chuàng)造性地創(chuàng)建系統(tǒng)的不同用例之間的依賴關(guān)系。例如,對(duì)比之前的設(shè)計(jì)中的退款模塊,讓我們回憶一下我們的交易模塊,。
在那種設(shè)計(jì)中,我們不得不考慮一個(gè)交易,一個(gè)我們不得不事先用我們應(yīng)用于退款和驗(yàn)證的宏命令建立的交易。
現(xiàn)在的方法中,我們將使用電子表格/ SQL來(lái)獲取DB中的所有退款行,將它們連到它們的父事務(wù),并根據(jù)產(chǎn)品規(guī)格(金額,原因等)驗(yàn)證不同的數(shù)據(jù)字段。這種方法是很強(qiáng)大的,往往能揭示產(chǎn)品需求和架構(gòu)中的問(wèn)題。
對(duì)于負(fù)面測(cè)試,我們有一個(gè)穩(wěn)贏策略。例如,發(fā)現(xiàn)一筆交易里用戶沒(méi)有注冊(cè)網(wǎng)站(例如,用戶的電子郵件未被記錄)。根本原因分析中,我們能夠直接從DB生成一個(gè)執(zhí)行流–即什么導(dǎo)致失敗,并使用簡(jiǎn)單的排序、篩選和條件格式作為Excel不受規(guī)范限制的分析工具去評(píng)估他們的IF-AND-OR-NOT依賴關(guān)系。
這種方法對(duì)于使用Excel數(shù)據(jù)驗(yàn)證功能來(lái)執(zhí)行簡(jiǎn)單的驗(yàn)證(如無(wú)前/后間隔,減少/增加/恰好n位場(chǎng)/十進(jìn)制值溢出,日期范圍限制等)的簡(jiǎn)單現(xiàn)場(chǎng)驗(yàn)證來(lái)說(shuō)也是很經(jīng)典的。
自動(dòng)化與回歸
正如前面提到的,數(shù)據(jù)驗(yàn)證對(duì)自動(dòng)化而言很容易。
對(duì)于迅速回歸,我們會(huì)選擇第二種方法,即根據(jù)一個(gè)預(yù)定義的基線驗(yàn)證DB數(shù)據(jù)。
例如對(duì)于我們的購(gòu)物網(wǎng)站,我們將有一組預(yù)定義的會(huì)產(chǎn)生一個(gè)數(shù)據(jù)集的一系列操作。
我們可以輸出DB到電子表格或上傳基線到MySQL并點(diǎn)擊/查詢以便比較兩個(gè)表格。
Excel的VLOOKUP在帶來(lái)兩個(gè)表間的差異上表現(xiàn)出色,SQL通過(guò)采用兩表間簡(jiǎn)單的左連接點(diǎn)帶來(lái)差異。
總結(jié)
如前所述,數(shù)據(jù)驗(yàn)證在取代傳統(tǒng)的功能測(cè)試和根本原因分析中非常有效?梢杂煤(jiǎn)單,低成本的方法通過(guò)把它的繼承邏輯結(jié)構(gòu)擴(kuò)展到被明確標(biāo)示為通過(guò)/不通過(guò)的功能測(cè)試用例來(lái)進(jìn)行數(shù)據(jù)驗(yàn)證。使用數(shù)據(jù)驗(yàn)證而非傳統(tǒng)功能測(cè)試可以通過(guò)把產(chǎn)品規(guī)格轉(zhuǎn)化為明確清晰的數(shù)據(jù)架構(gòu)內(nèi)的邏輯關(guān)系使編譯出更好的測(cè)試用例更容易。
版權(quán)聲明:本文出自 SPASVO澤眾軟件測(cè)試網(wǎng):http://hgh666.cn/news/html/2014410134916.html
原創(chuàng)作品,轉(zhuǎn)載時(shí)請(qǐng)務(wù)必以超鏈接形式標(biāo)明本文原始出處、作者信息和本聲明,否則將追究法律責(zé)任。