IBMRationalFunctionalTe_第1頁
IBMRationalFunctionalTe_第2頁
IBMRationalFunctionalTe_第3頁
IBMRationalFunctionalTe_第4頁
IBMRationalFunctionalTe_第5頁
已閱讀5頁,還剩5頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)

文檔簡介

1、IBM Rational Functional Te這是應(yīng)用IBM Rational Functional Tester實現(xiàn)測試自動化框架的三部系列的第二篇文章,重點在于創(chuàng)建一個數(shù)據(jù)驅(qū)動的框架。本系列的其他文章涵蓋了模塊化和關(guān)鍵字驅(qū)動的框架。編者注:本文是基于使用IBM®;Rational®;Functional Tester for Java™;and Web 6.1和Windows XP Professional SP2編寫的。代碼實例將使用Java編寫的,但所有概念同樣也適用于Rational Functional Tester的.NET版本。這是應(yīng)用IBM Rat

2、ional Functional Tester實現(xiàn)測試自動化框架的三部系列的第二篇文章。一個測試自動化框架是為軟件自動化測試提供支持的一組假設(shè)、概念和實踐。在本系列中所涵蓋的三種框架類型包括模塊化、數(shù)據(jù)驅(qū)動和關(guān)鍵字驅(qū)動。本文將特別側(cè)重在創(chuàng)建一個數(shù)據(jù)驅(qū)動框架的方面。數(shù)據(jù)驅(qū)動測試是一項單個測試腳本使用不同的輸入和響應(yīng)數(shù)據(jù)被重復(fù)地執(zhí)行的技術(shù),這些數(shù)據(jù)來源于一個預(yù)定義的數(shù)據(jù)集。在Rational Functional Tester中,數(shù)據(jù)驅(qū)動測試可以通過不同的數(shù)據(jù)池來實現(xiàn),數(shù)據(jù)池是相關(guān)數(shù)據(jù)記錄的集合,用以在測試腳本回放時為測試腳本提供變量的值。當(dāng)您使用數(shù)據(jù)池時,Rational Functional

3、Tester能在您每次回放腳本時將一組不同的測試數(shù)據(jù)或相同的測試數(shù)據(jù)提交到測試腳本。您使用數(shù)據(jù)池來提供真實的數(shù)據(jù),并用不同的數(shù)據(jù)和實際的數(shù)據(jù)量來產(chǎn)生對應(yīng)用程序壓力。當(dāng)您運行一個數(shù)據(jù)驅(qū)動腳本時,Rational Functional Tester將從數(shù)據(jù)池的當(dāng)前行中輸入每一個值(數(shù)據(jù)池中的一行看起來就象電子數(shù)據(jù)表中的一行)到應(yīng)用程序的適當(dāng)字段中。在每次執(zhí)行腳本時,假定數(shù)據(jù)池光標(biāo)在前面(數(shù)據(jù)池光標(biāo)是對當(dāng)前行的指針),下一個數(shù)據(jù)行將被輸入。在這個系列的三種框架中,數(shù)據(jù)驅(qū)動是最容易在Rational Functional Tester中實現(xiàn)的。下一部分我們將著眼于Rational Functional

4、 Tester中的數(shù)據(jù)池,幫您了解一下這個工具的內(nèi)置特性。之后,文章將對這種方法進行利弊討論。在Rational Functional Tester中使用數(shù)據(jù)池進行工作在Rational Functional Tester中,一個數(shù)據(jù)池是相關(guān)數(shù)據(jù)記錄的一個集合,用以在測試腳本回放時為測試腳本提供變量的值。當(dāng)您在Rational Functional Tester里創(chuàng)建一個數(shù)據(jù)驅(qū)動測試時,您可以用不同的輸入和響應(yīng)數(shù)據(jù)來重復(fù)地使用單個測試腳本。下面介紹的是一些在Rational Functional Tester里有關(guān)數(shù)據(jù)池的術(shù)語,以及如何創(chuàng)建和使用一個數(shù)據(jù)池。Rational Functiona

5、l Tester通過引用數(shù)據(jù)驅(qū)動一個測試腳本來使用數(shù)據(jù)池。當(dāng)您在文檔中看到這個術(shù)語時,它提到了構(gòu)建您的測試腳本中的對象和您數(shù)據(jù)池中的數(shù)據(jù)之間的連通性的過程。要數(shù)據(jù)驅(qū)動一個腳本,您需要在被測試應(yīng)用程序中選擇一個對象,然后Rational Functional Tester將應(yīng)用程序里的數(shù)據(jù)填充到一個數(shù)據(jù)池。在Rational Functional Tester中使用數(shù)據(jù)池進行工作讓我們使用Rational的測試應(yīng)用程序ClassicsCD來記錄一個簡單的數(shù)據(jù)池。在Rational Functional Tester里開始記錄一個新的測試腳本。在如圖1所示的Select Script Assets

6、對話框中,您將在開始記錄之前能夠看到兩個數(shù)據(jù)池選項:Test Datapool和Datapools Record Selection Order。圖1.Select Script Assets對話框Test Datapool的默認(rèn)值是Private Test Datapool。您創(chuàng)建的每一個測試腳本都有一個私有的測試數(shù)據(jù)池與其相關(guān)聯(lián)-這是自動生成的。初始的私有測試數(shù)據(jù)池是一個占位符,并且直到您給它增加新數(shù)據(jù)前都是空的。您可以通過創(chuàng)建一個新數(shù)據(jù)池,或者通過將幾個測試腳本關(guān)聯(lián)到一個數(shù)據(jù)池來創(chuàng)建一個被稱為共享數(shù)據(jù)池的數(shù)據(jù)池。Datapool Record Selection Order框的值是Seq

7、uential和Random。Sequential指在回放時,測試腳本訪問數(shù)據(jù)池中的記錄是按照它們出現(xiàn)在數(shù)據(jù)池中的順序來進行。Random是指在回放時,測試腳本每次隨機地訪問數(shù)據(jù)池中的每條記錄。這此例中,接受缺省設(shè)置并點擊Finish。這樣就應(yīng)該打開了Recording Monitor窗口。啟動ClassicsCD(ClassicsJavaA.java)樣例應(yīng)用程序,并導(dǎo)航到如圖2所示的Member Login窗口。圖2.ClassicsCD Member Login窗口在Recording工具欄上,點擊Insert Data Driven Commands。測試腳本記錄暫停下來,并且打開了如

8、圖3所示的Insert Data Driven Actions對話框。在Insert Data Driven Actions對話框里有兩個組合框:Populate then Select Test Objects和Data Driven Commands。圖3.Insert Data Driven Actions對話框在Populate then Select Test Objects下,有兩種方法:Press and drag hand to select test objects和Use selection wizard to select test objects。Press and d

9、rag hand to select test objects方法選擇一個對象以及所選對象的所有下級對象。這是選擇一個對象的最普通和直接的方法。Use selection wizard to select test objects方法被用來激活Drag Hand Selection方法及其選項,或Test Object Browser方法。使用鼠標(biāo)將Object Finder工具拖拽到Member Login窗口中的Full Name字段。Rational Functional Tester用一個紅色邊框畫出對象的輪廓。釋放鼠標(biāo)按鈕。您現(xiàn)在應(yīng)當(dāng)在如圖4所示的Insert Data Driven

10、 Actions對話框的Data Driven Commands區(qū)域中,看到所列出的測試對象。圖4.帶有測試對象的Insert Data Driven Actions對話框點擊OK關(guān)閉Insert Data Driven Actions對話框。點擊Member Login窗口上的Cancel。退出ClassicsCD應(yīng)用程序。停止記錄。用數(shù)據(jù)池進行工作如果您在剛剛記錄的腳本里查看代碼,您應(yīng)當(dāng)看到類似于列表1中的一行代碼。列表1.在Rational Functional Tester中記錄的數(shù)據(jù)池調(diào)用/Data Driven Code inserted on Sep 14,2005nameCom

11、bo().select(dpString(nameCombo);在這段代碼中,您選擇與命名為nameCombo的數(shù)據(jù)池列中的值相匹配的組合框值。如果您在Script Explorer中打開Private Test Datapool,您應(yīng)當(dāng)看到在第一行中所列出的您所記錄的數(shù)據(jù),如圖5所示。圖5.在Private Test Datapool中記錄的數(shù)據(jù)在Rational Functional Tester中的一個數(shù)據(jù)池中,數(shù)據(jù)池列被稱為變量,行被稱為記錄(不要問我為什么)。您只要在數(shù)據(jù)池表格(如圖5所示)中右鍵點擊,將顯示一列數(shù)據(jù)池編輯命令,如圖6所示。圖6.在Rational Functiona

12、l Tester里編輯一個數(shù)據(jù)池所有這些命令正確地執(zhí)行了您所期望它們做的;不要驚訝。唯一不值得的事情是,當(dāng)您聲明一個新的變量(或者列)時,需要為變量指定Type。當(dāng)聲明類型時,您將要輸入類的完全路徑。例如,使用java.lang.String,而不是簡單地鍵入String。數(shù)據(jù)池文字替換Rational Functional Tester提供了一種能力,可以用一個數(shù)據(jù)池引用(一個數(shù)據(jù)池引用是對有一個關(guān)聯(lián)數(shù)據(jù)池的另一種說法)來查找或替換一個測試腳本中的文字值。在工具欄或者腳本菜單中,您可以訪問Datapool Literal Substitution對話框,如圖7所示。圖7.Datapool L

13、iteral Substitution對話框您可以在Datapool Literal Substitution對話框中設(shè)置選項,用一個數(shù)據(jù)池引用來查找和替換一個腳本中的所有的、數(shù)字、字符串或布爾型文字。您也可以從一個腳本中增加一個文字到一個數(shù)據(jù)池中。如果您不使用一個已有的數(shù)據(jù)池變量,F(xiàn)unctional Test就在您每次運行腳本時,使用相同的文字值(Functional Test在您記錄測試腳本時捕獲的值)。數(shù)據(jù)池作為驗證點您可以使用一個數(shù)據(jù)池引用來替代您正在驗證點中測試的值的一個文字值。在記錄時,如果您使用Verification Point and Action向?qū)Р迦胍粋€證實點,您可以

14、通過點擊向?qū)У墓ぞ邫谥械腃onvert Value to Datapool Reference按鈕,將驗證點值轉(zhuǎn)換為一個數(shù)據(jù)池引用。這個按鈕用紅色圓圈標(biāo)記,如圖8所示。圖8.將驗證點轉(zhuǎn)換成數(shù)據(jù)池引用在您完成記錄測試腳本之后,您也可以向數(shù)據(jù)池中添加數(shù)據(jù)。導(dǎo)入和導(dǎo)出數(shù)據(jù)如果您在IBM®;Rational®;TestManager中已經(jīng)有數(shù)據(jù)池了,那就沒問題了。您可以將它們導(dǎo)入到Rational Functional Tester中,同樣您也可以使用電子數(shù)據(jù)表格應(yīng)用程序創(chuàng)建的任何簡單格式的已有.csv文件。反過來也一樣。只要您將所有數(shù)據(jù)放入Rational Functional Test

15、er中,您就可以將數(shù)據(jù)池導(dǎo)入到一個.csv文件中,用一個電子數(shù)據(jù)表格應(yīng)用程序來編輯它。在Rational Functional Tester的幫助文件中有如何進行這樣做的指導(dǎo)。回頁首一個用Rational Functional Tester進行數(shù)據(jù)驅(qū)動測試的簡單例子好了,已經(jīng)向您介紹了使用數(shù)據(jù)池的基礎(chǔ)知識,現(xiàn)在您將看一個有關(guān)數(shù)據(jù)驅(qū)動測試更加詳細(xì)的例子。這個例子將使用作為測試。Google Web搜索有一些您將要測試的內(nèi)置特性。這些特性包括:計算器、貨幣兌換、電影、號碼搜索,以及旅游信息(以命名包含在強大的小文本字段中的許多特性)。記錄的腳本如列表2所示,啟動瀏覽器訪問G,然后

16、執(zhí)行一系列搜索和驗證點,以驗證上述特性。列表2.記錄和回放Google Web搜索腳本package tests;import resources.tests.google_search_recordHelper;import com.rational.test.ft.*;import erfaces.*;import com.rational.test.ft.script.*;import com.rational.test.ft.value.*;import com.rational.test.ft.vp.*;public cl

17、ass google_search_record extends google_search_recordHelperpublic void testMain(Object args)startApp();/Calculator text_q2().click(atPoint(191,10);browser_htmlBrowser(document_google2(),DEFAULT_FLAGS).inputKeys(5+5);button_googleSearchsubmit2().click();calculator_gridVP().performTest(2.0,20.0);image

18、_goToGoogleHome2().click();/Currency Conversion text_q2().click(atPoint(192,13);browser_htmlBrowser(document_google2(),DEFAULT_FLAGS).inputKeys(3.5 USD in GBP);button_googleSearchsubmit2().click();currency_conversion_gridVP().performTest(2.0,20.0);image_goToGoogleHome3().click();/Movies text_q2().cl

19、ick(atPoint(98,14);browser_htmlBrowser(document_google2(),DEFAULT_FLAGS).inputChars(charlie and the chocolate factory);button_googleSearchsubmit2().click();movies_gridVP().performTest(2.0,20.0);image_goToGoogleHome6().click();/Search by Number text_q2().click(atPoint(177,13);browser_htmlBrowser(docu

20、ment_google2(),DEFAULT_FLAGS).inputChars(patent 5123123);button_googleSearchsubmit2().click();search_by_number_gridVP().performTest(2.0,20.0);image_goToGoogleHome8().click();/Travel Information text_q2().click(atPoint(163,10);browser_htmlBrowser(document_google2(),DEFAULT_FLAGS).inputChars(United 13

21、4);button_googleSearchsubmit2().click();travel_info_gridVP().performTest(2.0,20.0);image_goToGoogleHome10().click();/Close the browser browser_htmlBrowser(document_google2(),MAY_EXIT).close();在圖2所示的腳本中,測試的每個特性都記錄了在搜尋文本字段中進行一下點擊、輸入搜索標(biāo)準(zhǔn)、點擊搜索按鈕、驗證結(jié)果,并在結(jié)果頁的左上角點擊Google圖象以為下個特性測試重新設(shè)置瀏覽器。在這里有許多重復(fù)的代碼。列表3顯示了

22、相同的測試腳本,只是腳本現(xiàn)在是數(shù)據(jù)驅(qū)動的。列表3.數(shù)據(jù)驅(qū)動的Google Web搜索腳本package tests;import resources.tests.google_datadrivenHelper;import com.rational.test.ft.*;import erfaces.*;import com.rational.test.ft.script.*;import com.rational.test.ft.value.*;import com.rational.test.ft.vp.*;public clas

23、s google_datadriven extends google_datadrivenHelperpublic void testMain(Object args)startApp();/Run test for each value in datapool for(int i=0;i 5;i+)/Search text_q().click(atPoint(71,11);browser_htmlBrowser(document_google(),DEFAULT_FLAGS).inputChars(dpString(searchCriteria);button_googleSearchsub

24、mit().click();/Results searchResults_textVP().performTest(2.0,20.0);image_goToGoogleHome().click();/Increment the datapool dpNext();/Exit browser_htmlBrowser(document_google2(),MAY_EXIT).close();通過使用一個for循環(huán)(您也可以使用一些其它類型的循環(huán)),并且通過增量的移動數(shù)據(jù)池里的光標(biāo),您可以避免多次重復(fù)相同的代碼。您所做的全部就是在inputChars中為搜索字段增加一個數(shù)據(jù)池調(diào)用,并向您的驗證點上增

25、加一個數(shù)據(jù)池引用。在您想要增加另一個測試時,只要向您的數(shù)據(jù)池中增加另一行,并在循環(huán)中增加計數(shù)器的值。在圖9中顯示的數(shù)據(jù)池顯示了每個測試的搜索標(biāo)準(zhǔn)和搜索結(jié)果。圖9.數(shù)據(jù)驅(qū)動腳本的數(shù)據(jù)池值當(dāng)您比較Google記錄的測試與Google數(shù)據(jù)驅(qū)動的測試時,您將看到的最大區(qū)別是事實上什么已經(jīng)被測試了的可見性。在記錄和回放腳本中,您必須滾動代碼以發(fā)現(xiàn)搜索標(biāo)準(zhǔn)。在數(shù)據(jù)驅(qū)動的測試中,您需要做的所有事情就是查看數(shù)據(jù)池中的searchCriteria變量(列)。此外,在記錄和回放腳本中,您需要分別查找和打開每個驗證點以查找搜索結(jié)果。在數(shù)據(jù)驅(qū)動的測試中,所有您需要做的就是查看數(shù)據(jù)池中的searchResults變量。

26、忘記有更少的代碼吧,了解數(shù)據(jù)驅(qū)動測試在測試什么將更容易?;仨撌走x擇使用的數(shù)據(jù)數(shù)據(jù)選擇是沿著數(shù)據(jù)驅(qū)動測試之路的第一步。您需要選擇驅(qū)動您的應(yīng)用程序運行的數(shù)據(jù),或者表示將輸入到您的應(yīng)用程序中的數(shù)據(jù),或者兩個都選。本節(jié)將迅速查看一下選擇數(shù)據(jù)進行測試的5種不同方式:基于風(fēng)險、基于需求、基于可用性、使用生產(chǎn)數(shù)據(jù),或者隨機使用產(chǎn)生的數(shù)據(jù)。選擇基于風(fēng)險的數(shù)據(jù)。選擇測試數(shù)據(jù)的頭號標(biāo)準(zhǔn)應(yīng)當(dāng)是風(fēng)險。當(dāng)您識別風(fēng)險時,您要考慮到什么會導(dǎo)致出錯。您正在尋找可能會發(fā)生的事件,這些事件將減少您能夠交付帶有正確特性、所要求的質(zhì)量級別和在預(yù)算之內(nèi)的項目的可能性。有三種劃分風(fēng)險種類的方法:按照風(fēng)險的影響-如果風(fēng)險突然出現(xiàn),與計劃在

27、進度、工作量或成本上的偏離按照風(fēng)險發(fā)生的可能性-風(fēng)險突然出現(xiàn)的可能性(通常用百分比表示)按照風(fēng)險的暴露-影響乘以發(fā)生的可能性選擇基于需求的數(shù)據(jù)。您也可以選擇將使您明確地測試一個需求或一組需求的數(shù)據(jù)。查找將使您在您的應(yīng)用程序中運行特性集、性能和安全特性的數(shù)據(jù):如果您的應(yīng)用程序有不同的任務(wù),執(zhí)行每個任務(wù)您將需要什么數(shù)據(jù)?您想要在您的測試覆蓋中包括什么特性,以及您要使用它們要求什么數(shù)據(jù)?此外,考慮在被測試的元素上不同的目標(biāo)部署環(huán)境將有什么沖突。您所選擇的數(shù)據(jù)列表應(yīng)當(dāng)包括針對被測試應(yīng)用和目標(biāo)環(huán)境的數(shù)據(jù)。您需要測試什么數(shù)據(jù):硬件設(shè)備設(shè)備驅(qū)動程序操作系統(tǒng)網(wǎng)絡(luò)和通信軟件第三方的基本軟件組件(例如,e-mai

28、l軟件,互聯(lián)網(wǎng)瀏覽器)與所有這些元素的可能組合相關(guān)聯(lián)的各種配置和設(shè)置國際化選擇基于可用性的數(shù)據(jù)。您可能想要選擇那些易于可用的數(shù)據(jù),這可以包括:用一種易于訪問的格式生產(chǎn)數(shù)據(jù)(在以后的章節(jié)里詳細(xì)討論)來自于過去迭代的數(shù)據(jù)您的項目的手工測試人員所使用的電子數(shù)據(jù)表格來自于您公司里的其他項目或團隊的數(shù)據(jù)來自于一些數(shù)據(jù)產(chǎn)生源的數(shù)據(jù)(在最后的一章里討論)。這里的想法是,如果數(shù)據(jù)是容易訪問的,也是易用和有意義的,在您的測試中包括這些數(shù)據(jù),可以節(jié)省時間和金錢。我強調(diào)易用性和有意義的,是因為您需要記住一件重要的事情,您不應(yīng)該只是因為數(shù)據(jù)已經(jīng)在那了并且是可以使用的就選擇它-因為它可能是壞數(shù)據(jù)。使用生產(chǎn)數(shù)據(jù)。收集測試

29、數(shù)據(jù)的另一個策略是使用生產(chǎn)數(shù)據(jù)。盡管您不應(yīng)當(dāng)單獨地依賴這種類型的數(shù)據(jù),它可以是自動化測試場景的最豐富的來源,因為數(shù)據(jù)是應(yīng)用程序?qū)⒚媾R的真實場景的代表,并且因為它很可能將提供大量的不同場景。在一個最近的項目中,我們大約每周從一張表格中讀取一次生產(chǎn)數(shù)據(jù),并且我們在沒有付出多少努力的情況下得到了300到500個場景的獎賞。您可以直接將數(shù)據(jù)導(dǎo)入測試環(huán)境里,將它讀入到數(shù)據(jù)文件中用于后面的處理,或者實時地讀取它,并按照您所的需要的他們進行轉(zhuǎn)換。生產(chǎn)數(shù)據(jù)也是并行測試的一個極好來源。如果您在正在開發(fā)的系統(tǒng)中使用生產(chǎn)數(shù)據(jù),您就會迅速地知道是否被開發(fā)的系統(tǒng)能夠象在生產(chǎn)環(huán)境一樣工作。這項技術(shù)特別有助于發(fā)現(xiàn)使用浮點值

30、、轉(zhuǎn)換率,以及與數(shù)據(jù)類型相關(guān)長度的問題。但是,使用生產(chǎn)數(shù)據(jù)有一些需要小心的地方。生產(chǎn)數(shù)據(jù)很可能不包含您想要測試的許多特殊情況,并且這不是理想測試場景的一個替換。還有一些潛在的法律問題圍繞著生產(chǎn)數(shù)據(jù)的使用。特別是如果您把一些您的測試外包給另一個公司,您將想要確保檢查您的公司在生產(chǎn)數(shù)據(jù)使用上的公司政策;如果沒有已有的正式政策,您需要詢問您公司法律部門的某些人。即使如果您不能直接使用生產(chǎn)數(shù)據(jù),您也可能有更改某些值(名字,社會安全號,等等)和使用其余數(shù)據(jù)的可能性。使用隨機數(shù)據(jù)生成。很多工具包括測試數(shù)據(jù)生成程序。隨機數(shù)據(jù)生成程序在產(chǎn)生大量用戶數(shù)據(jù)的過程中特別有幫助(這取決于您正在測試什么和您想在產(chǎn)生過程

31、中花費多長時間)。例如,如果您需要對金融信息進行關(guān)于舍入錯誤的測試,您可以:隨機生成大量數(shù)據(jù)通過您的應(yīng)用程序運行數(shù)據(jù)通過運行Windows計算器(假定Windows的計算器沒有舍入錯誤)來模擬相同的計算比較結(jié)果以確保他們匹配如果您需要,例如,要生成一組500個不同的客戶名稱及地址,您可以有一個生成程序(TestManager,Excel,Google Sets,等等)來創(chuàng)建一個帶有名稱和地址的表。您應(yīng)當(dāng)避免一次選擇您所有的測試用例中的數(shù)據(jù)。相反,采取一種增量和迭代的使用測試數(shù)據(jù)的方法,將您的工作量集中在您認(rèn)為最有可能產(chǎn)生的對于既定測試周期有用的評估信息上。這會幫助緩和在一組單個數(shù)據(jù)或者測試類型

32、上付出太多時間的風(fēng)險-疏忽其它數(shù)據(jù)或測試任務(wù)-并且最小化在某些今后可能并不受關(guān)注的測試想法的數(shù)據(jù)上花費工作量的風(fēng)險?;仨撌讛?shù)據(jù)驅(qū)動框架的利與弊在本系列所涵蓋的三類框架中(模塊化、數(shù)據(jù)驅(qū)動,以及關(guān)鍵字驅(qū)動),數(shù)據(jù)驅(qū)動框架對于非技術(shù)人員是最容易實現(xiàn)的,因為幾乎所有的功能都被構(gòu)建在Rational Functional Tester中,并且支持執(zhí)行記錄和回放。這對于非技術(shù)人員(對于我來說沒有充分的理由推薦它)來說,不但是簡單的,而且是強大的。它導(dǎo)致了半自動文檔化測試用例,減少了創(chuàng)建大量測試用例所要求的代碼數(shù)量,并且使您可以進行一些測試類型,否則您必須進行耗時或麻煩的手工測試工作。數(shù)據(jù)驅(qū)動框架的主要優(yōu)勢是它減少了為很多類型的應(yīng)用程序創(chuàng)建測試用例的成本。例如,在金融服務(wù)或者保險應(yīng)用程序中數(shù)據(jù)驅(qū)動框架是非常有價值的。在您查看一千個變量中的一個變量是如何影響一筆復(fù)雜計算的最終金額的地方,對于金融服務(wù)或保險應(yīng)用程序,很多次測試用例都只有細(xì)微的差別。對于一個數(shù)據(jù)驅(qū)動的工具,您將會很難找到一個更好的市場。另一方面,我曾經(jīng)參與一個涉及化學(xué)制圖

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論