国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      關(guān)于自動(dòng)測(cè)試用例執(zhí)行的松散耦合的自動(dòng)測(cè)試用例驗(yàn)證的制作方法

      文檔序號(hào):6642761閱讀:168來源:國(guó)知局
      專利名稱:關(guān)于自動(dòng)測(cè)試用例執(zhí)行的松散耦合的自動(dòng)測(cè)試用例驗(yàn)證的制作方法
      技術(shù)領(lǐng)域
      本發(fā)明涉及用于測(cè)試應(yīng)用的軟件,尤其涉及在這種測(cè)試軟件中期望和實(shí)際結(jié)果的松散耦合比較。
      背景技術(shù)
      軟件開發(fā)生命期中的主要階段是設(shè)計(jì)階段、編碼階段、代碼完成階段、α階段、β階段,以及最后向市場(chǎng)發(fā)行。在設(shè)計(jì)階段期間,將解決軟件產(chǎn)品的客戶問題并定義軟件產(chǎn)品的功能。通常,功能說明書的完成標(biāo)志著設(shè)計(jì)階段的結(jié)束。編碼階段已經(jīng)開始。當(dāng)代碼寫成但尚未調(diào)試時(shí)則進(jìn)入代碼完成階段。α階段標(biāo)記產(chǎn)品穩(wěn)定的時(shí)間點(diǎn);即,已發(fā)現(xiàn)了大部分的主要缺陷。在β階段,產(chǎn)品幾乎沒有了所有的主要缺陷;即所剩的缺陷應(yīng)基本上無害。當(dāng)產(chǎn)品通過最終的質(zhì)量保證檢查列表時(shí),它已準(zhǔn)備就緒向市場(chǎng)發(fā)行。
      因?yàn)闆]有人想要不工作的軟件,測(cè)試是生命期的重要部分并可跨越若干階段。軟件測(cè)試包括設(shè)計(jì)一測(cè)試用例(或更可能是測(cè)試用例集)、以測(cè)試用例為輸入運(yùn)行該軟件、并檢查以測(cè)試用例為輸入的軟件的性能是否產(chǎn)生預(yù)期結(jié)果。軟件測(cè)試可由人類手動(dòng)引導(dǎo),或通過程序來引導(dǎo)(稱為自動(dòng)化軟件測(cè)試)。理想地,軟件的測(cè)試在軟件生命期的一開始就應(yīng)開始。然而一般而言,不到完成了設(shè)計(jì)階段軟件根本不能測(cè)試,因?yàn)橹钡酵瓿稍O(shè)計(jì)階段才能確定期望結(jié)果。通常,在編碼階段,開發(fā)者在寫代碼時(shí)手動(dòng)測(cè)試其代碼。自動(dòng)化軟件測(cè)試通常在開發(fā)過程的較后期才會(huì)開始。
      有時(shí),所引導(dǎo)的唯一測(cè)試由開發(fā)者在他編寫程序時(shí)手動(dòng)測(cè)試來完成。測(cè)試自己工作的開發(fā)者可能會(huì)忽視在情緒上不那么投入代碼的某些人會(huì)發(fā)現(xiàn)的缺陷。此外,開發(fā)者測(cè)試的范圍通常限于其代碼的功能以及其代碼與有限數(shù)量的其它軟件應(yīng)用程序的結(jié)合的代碼。
      為了解決這些缺點(diǎn),許多軟件開發(fā)機(jī)構(gòu)具有常使用至少部分自動(dòng)化的測(cè)試技術(shù)來測(cè)試軟件的獨(dú)立的軟件測(cè)試組。通常,測(cè)試組通過編寫和運(yùn)行測(cè)試用例來測(cè)試各特征之間和應(yīng)用程序之間的復(fù)雜交互。使測(cè)試組及早地甚至在設(shè)計(jì)階段就進(jìn)入產(chǎn)品生命期能獲得很多好處通常是無異議的,這些好處包括標(biāo)識(shí)功能說明書中的不一致、標(biāo)識(shí)難以測(cè)試的區(qū)域及其它。然而一般而言,面對(duì)特征定義、實(shí)現(xiàn)和用戶界面(UI)調(diào)整中的持續(xù)變化而保持每個(gè)測(cè)試用例最新所需的努力使該方法呈現(xiàn)為不實(shí)用。因此,編寫并運(yùn)行測(cè)試用例通常是在產(chǎn)品開發(fā)末期倉(cāng)促發(fā)生的。因而測(cè)試特別是自動(dòng)化測(cè)試總是落后于需求。如果有一種在一進(jìn)入軟件產(chǎn)品的生命期(理想地是在設(shè)計(jì)階段期間)就能編寫測(cè)試用例并采用自動(dòng)化測(cè)試的方法將是有幫助的。
      一整套測(cè)試用例的開發(fā)在任何時(shí)候都具挑戰(zhàn)性。為了測(cè)試應(yīng)用程序的特定特征,必需編寫許多測(cè)試集。例如,應(yīng)用程序可允許與一特征的許多交互模式通過鼠標(biāo)、鍵盤、數(shù)字化儀、可訪問軟件、通過程序等。因此,為了提供對(duì)該特征的綜合性測(cè)試,一整套測(cè)試應(yīng)包括通過鼠標(biāo)與該特征交互(像用戶一樣鍵入文本)的一個(gè)測(cè)試集、通過鍵盤與該特征交互的一個(gè)集、通過數(shù)字化儀與該特征交互的一個(gè)集、通過可訪問軟件與該特征交互來調(diào)用缺省動(dòng)作并以其它方式模擬可訪問應(yīng)用程序的一個(gè)集、通過應(yīng)用程序的編碼模型與該特征交互的一個(gè)集等。如果有一種確保一整套生成的測(cè)試用例提供特征或應(yīng)用程序的綜合性測(cè)試,并進(jìn)一步減少為了提供綜合性測(cè)試而必需編寫的測(cè)試用例的總量的方法,這將是有幫助的。
      此外,這些測(cè)試集的每一個(gè)中的許多或全部邏輯都與其它測(cè)試集中的邏輯相同,且通常許多或全部的結(jié)果處理驗(yàn)證也相同。因此,許多測(cè)試是相同或非常接近的,僅僅在執(zhí)行選項(xiàng)上有變化。例如,對(duì)于上述全部多種形式的輸入,期望結(jié)果可能是相同的。因此,對(duì)這些輸入源的每一個(gè)編寫測(cè)試用例通常需要編寫用于執(zhí)行每個(gè)輸入源的測(cè)試的獨(dú)立方法,并復(fù)制大多數(shù)剩余的測(cè)試腳本。重復(fù)編寫僅具有極小變化的相同測(cè)試是乏味并耗時(shí)的。如果有一種消除或大大減少這種重復(fù)編碼并減少必需編寫的測(cè)試用例的總量的方法將是有幫助的。
      編寫用來確定運(yùn)行測(cè)試用例的實(shí)際結(jié)果是否與期望結(jié)果相一致(常稱為結(jié)果驗(yàn)證或驗(yàn)證)的代碼常包括在測(cè)試用例內(nèi)。改變特定結(jié)果驗(yàn)證的細(xì)節(jié)或添加新的結(jié)果驗(yàn)證通常需要更改每個(gè)測(cè)試用例。如果驗(yàn)證代碼獨(dú)立于測(cè)試用例,使該測(cè)試用例更易于理解以及驗(yàn)證代碼更易于重復(fù)使用和維護(hù)將是有幫助的。
      執(zhí)行細(xì)節(jié)常被硬編碼到測(cè)試用例中,需要設(shè)計(jì)階段在編寫測(cè)試用例之前就完成。如果有一種根據(jù)用戶動(dòng)作而不根據(jù)特定執(zhí)行細(xì)節(jié)來定義測(cè)試用例使得測(cè)試用例能在軟件開發(fā)生命期的較早期編寫的方法,這將是有幫助的。測(cè)試應(yīng)用程序是應(yīng)用程序的初始開發(fā)的重要步驟,當(dāng)實(shí)現(xiàn)對(duì)該應(yīng)用程序的更改時(shí),測(cè)試應(yīng)用程序也是非常重要的。軟件應(yīng)用程序開發(fā)者、科學(xué)家、廠商在應(yīng)用程序開發(fā)的測(cè)試階段投入了大量精力。這樣的測(cè)試有助于確保應(yīng)用程序以期望方式響應(yīng)于特定激源。測(cè)試通常通過執(zhí)行測(cè)試用例并驗(yàn)證測(cè)試用例執(zhí)行的結(jié)果來完成。
      通常測(cè)試用例在應(yīng)用程序上施加一激源(stimulus)。測(cè)試用例還應(yīng)驗(yàn)證應(yīng)用程序以期望方式響應(yīng)而不以非期望方式響應(yīng)。為了較為綜合,測(cè)試應(yīng)驗(yàn)證整個(gè)應(yīng)用程序狀態(tài)的大部分,以確保激源導(dǎo)致期望結(jié)果而無非期望結(jié)果。
      通常測(cè)試用例是為了測(cè)試應(yīng)用程序的特定功能或方面而執(zhí)行的。類似地,測(cè)試用例結(jié)果的驗(yàn)證可集中于要測(cè)試的功能。然而。測(cè)試用例的執(zhí)行可影響或改變應(yīng)用狀態(tài)的其它方面。這些方面看起來會(huì)與測(cè)試用例的目的沒什么關(guān)系。這些無甚關(guān)系方面有很多,且對(duì)測(cè)試者而言開發(fā)要量化或指定所有甚至大部分方面的測(cè)試用例是困難的。
      編寫要驗(yàn)證大部分應(yīng)用程序狀態(tài)的測(cè)試用例代碼已證實(shí)因各種原因而有問題。即使對(duì)于相對(duì)簡(jiǎn)單的應(yīng)用程序,仍然可能需要大量的測(cè)試用例來綜合性地測(cè)試該應(yīng)用程序。將冗長(zhǎng)且詳細(xì)的驗(yàn)證代碼添加到每個(gè)測(cè)試用例中將是令人畏懼的(如果不是難以勝任的)任務(wù)。此外測(cè)試用例維護(hù)通常與測(cè)試用例創(chuàng)建一樣地(如果不是更多)勞動(dòng)密集和耗時(shí)。當(dāng)改變應(yīng)用程序時(shí),應(yīng)改變測(cè)試用例以及驗(yàn)證代碼以確保與應(yīng)用程序的兼容性。將冗長(zhǎng)且全面的驗(yàn)證代碼添加到每個(gè)測(cè)試用例中將使得這種維護(hù)不實(shí)用(如果不是不可能的話)。
      因此,需要綜合性地驗(yàn)證應(yīng)用于應(yīng)用程序的測(cè)試用例的結(jié)果,而無需對(duì)每個(gè)測(cè)試用例編寫冗長(zhǎng)的、單調(diào)的和耗時(shí)的驗(yàn)證代碼。還需要對(duì)需要測(cè)試者最少的顯式動(dòng)作來設(shè)置、執(zhí)行、或維護(hù)的驗(yàn)證。

      發(fā)明內(nèi)容
      測(cè)試用例實(shí)現(xiàn)的驗(yàn)證可與測(cè)試用例分開并由專用的驗(yàn)證管理器來完成。測(cè)試用例可能不需要包括任何驗(yàn)證并且實(shí)際上測(cè)試者甚至不需要知道在執(zhí)行的所有驗(yàn)證。驗(yàn)證管理器可用來驗(yàn)證一個(gè)或多個(gè)測(cè)試用例,從而每個(gè)測(cè)試用例可執(zhí)行一動(dòng)作而無需提供該動(dòng)作結(jié)果的特定驗(yàn)證。
      使用專用的驗(yàn)證管理器,驗(yàn)證可更為綜合。使用一個(gè)較大的期望狀態(tài)發(fā)生器庫(kù),驗(yàn)證管理器可更為綜合地驗(yàn)證測(cè)試用例的結(jié)果。對(duì)于應(yīng)用程序的各個(gè)獨(dú)立和不同組件,可集中于包含在該庫(kù)中的每個(gè)期望狀態(tài)發(fā)生器。一個(gè)期望狀態(tài)發(fā)生器可集中于測(cè)試者具體對(duì)于測(cè)試用例目的而考慮的應(yīng)用狀態(tài)的一方面。第二個(gè)期望狀態(tài)發(fā)生器可集中于測(cè)試者與測(cè)試用例的目的不太相關(guān)或無關(guān)地考慮的應(yīng)用程序的一方面。因此,與僅具有包括在測(cè)試用例中的集中驗(yàn)證相反,該庫(kù)可使能對(duì)所有測(cè)試用例的廣泛驗(yàn)證。
      驗(yàn)證管理器可通過比較指定應(yīng)用程序?qū)傩缘钠谕岛湍切┫嗤瑢傩缘膶?shí)際值來驗(yàn)證測(cè)試用例結(jié)果。在進(jìn)行比較的過程中,驗(yàn)證管理器將能確定當(dāng)前和期望應(yīng)用狀態(tài)基本上不相符的實(shí)例。最后,驗(yàn)證管理器可將任何測(cè)試失敗傳送給測(cè)試用例、測(cè)試用例執(zhí)行器、或任何其它指定實(shí)體。
      可完成驗(yàn)證過程使得測(cè)試用例甚至不知道例如在測(cè)試用例調(diào)用圖形應(yīng)用程序繪制藍(lán)色長(zhǎng)方形時(shí)已驗(yàn)證了文件菜單上按鍵的狀態(tài)。在獲取該綜合性驗(yàn)證的過程中,測(cè)試者除執(zhí)行具有適當(dāng)參數(shù)的動(dòng)作之外不需要其它動(dòng)作。
      此外,當(dāng)更新或改變驗(yàn)證時(shí),最小化或消除測(cè)試用例的維護(hù)。例如,當(dāng)更新或以其它方式改變應(yīng)用程序時(shí),驗(yàn)證管理器或期望狀態(tài)發(fā)生器類似地可能需要修改以確保與應(yīng)用程序保持一致。由于驗(yàn)證可與測(cè)試用例分開,測(cè)試用例可能不需要任何維護(hù)。
      此外,當(dāng)測(cè)試用例導(dǎo)致應(yīng)用程序的一特定組件的失敗時(shí),可執(zhí)行其它測(cè)試用例而無需繼續(xù)接收同一失敗的通知。該能力提供了將失敗考慮在內(nèi)和繼續(xù)測(cè)試應(yīng)用程序的機(jī)會(huì)。


      結(jié)合附圖閱讀時(shí),前面的發(fā)明內(nèi)容和以下說明性實(shí)施例的詳細(xì)描述能得到更好的理解。為了說明本發(fā)明各實(shí)施例,在附圖中示出本發(fā)明的示例性結(jié)構(gòu);然而,本發(fā)明并不限于所揭示的特定方法和裝置。在附圖中圖1是示出其中可實(shí)現(xiàn)關(guān)于測(cè)試用例執(zhí)行松散耦合的測(cè)試用例驗(yàn)證的各方面的實(shí)例計(jì)算環(huán)境的框圖;圖2是根據(jù)本發(fā)明一實(shí)施例用于關(guān)于測(cè)試用例執(zhí)行松散耦合的測(cè)試用例驗(yàn)證的系統(tǒng)的框圖;
      圖3A-B是根據(jù)本發(fā)明一實(shí)施例關(guān)于測(cè)試用例執(zhí)行松散耦合的測(cè)試用例驗(yàn)證的流程圖;以及圖4是根據(jù)本發(fā)明另一實(shí)施例用于關(guān)于測(cè)試用例執(zhí)行松散耦合的測(cè)試用例驗(yàn)證的系統(tǒng)的框圖。
      具體實(shí)施例方式
      縱覽在本發(fā)明一示例實(shí)施例中,驗(yàn)證過程與測(cè)試用例分開。稱為期望狀態(tài)發(fā)生器的每個(gè)驗(yàn)證元件可存儲(chǔ)在稱為驗(yàn)證管理器的專用裝置中。通過將每個(gè)驗(yàn)證過程從各個(gè)測(cè)試用例中分開,每個(gè)測(cè)試用例可得到更綜合地驗(yàn)證而無需在每個(gè)測(cè)試用例中復(fù)制驗(yàn)證代碼。此外,驗(yàn)證管理器可包括許多期望狀態(tài)發(fā)生器,它們彼此獨(dú)立操作且每一個(gè)都計(jì)算應(yīng)用程序的一個(gè)或多個(gè)組件的期望狀態(tài)。驗(yàn)證可離線完成一即在除測(cè)試用例執(zhí)行期間和/或在線或測(cè)試執(zhí)行期間之外的時(shí)間。
      期望狀態(tài)發(fā)生器可嵌入本地驗(yàn)證框架或可以是在運(yùn)行時(shí)動(dòng)態(tài)載入、啟用和禁用的獨(dú)立對(duì)象。這種期望狀態(tài)發(fā)生器可從數(shù)據(jù)庫(kù)或網(wǎng)絡(luò)位置中載入。實(shí)質(zhì)上,期望狀態(tài)發(fā)生器可以是驗(yàn)證框架的插件。
      將驗(yàn)證從各個(gè)測(cè)試用例中分開使應(yīng)用程序能更綜合地進(jìn)行測(cè)試。此外,具有專用驗(yàn)證管理器使測(cè)試用例能夠進(jìn)行驗(yàn)證而無需將驗(yàn)證代碼包括在每個(gè)測(cè)試用例中。由于驗(yàn)證代碼沒有包括在每個(gè)測(cè)試用例中,當(dāng)更改驗(yàn)證算法以對(duì)應(yīng)于應(yīng)用程序中的更改時(shí),這種更改并不影響測(cè)試用例。因此,將驗(yàn)證從測(cè)試用例中分開可減少對(duì)測(cè)試用例的必需維護(hù)。
      示例計(jì)算環(huán)境圖1和以下討論旨在提供一種本發(fā)明的示例實(shí)施例可在其中實(shí)現(xiàn)的適當(dāng)計(jì)算環(huán)境的簡(jiǎn)要一般說明。然而,應(yīng)當(dāng)理解手持式、便攜式以及所有類型的其它計(jì)算裝置可預(yù)期用于本發(fā)明。盡管以下所述為通用計(jì)算機(jī),但僅是一個(gè)示例。本發(fā)明還可在與網(wǎng)絡(luò)服務(wù)器互操作并交互的瘦客戶機(jī)上操作。因而,本發(fā)明的示例實(shí)施例可在其中僅含極少或最少客戶機(jī)資源的網(wǎng)絡(luò)化主機(jī)服務(wù)的環(huán)境中實(shí)現(xiàn),例如其中客戶機(jī)裝置僅用作萬維網(wǎng)的瀏覽器或接口的網(wǎng)絡(luò)化環(huán)境。
      盡管不是必需的,本發(fā)明可通過由開發(fā)者或測(cè)試者使用和/或包括在網(wǎng)絡(luò)瀏覽軟件中的應(yīng)用程序編程接口(API)來實(shí)現(xiàn),它將在諸如程序模塊的由一個(gè)或多個(gè)計(jì)算機(jī)(例如客戶機(jī)工作站、服務(wù)器、或其它裝置)執(zhí)行的計(jì)算機(jī)可執(zhí)行指令的一般上下文中描述。一般而言,程序模塊包括執(zhí)行特定任務(wù)或?qū)崿F(xiàn)具體抽象數(shù)據(jù)類型的例程、程序、組件、數(shù)據(jù)結(jié)構(gòu)、以及其它類型的結(jié)構(gòu)。通常,程序模塊的功能可按需在各個(gè)實(shí)施例中組合或分布。此外,本領(lǐng)域技術(shù)人員將理解本發(fā)明可在其它計(jì)算機(jī)系統(tǒng)配置中實(shí)踐。適用于本發(fā)明的其它眾所周知的計(jì)算系統(tǒng)、環(huán)境和/或配置包括,但不限于,個(gè)人計(jì)算機(jī)(PC)、自動(dòng)取款機(jī)(ATM)、服務(wù)器計(jì)算機(jī)、手持式或膝上型裝置、多處理器系統(tǒng)、基于微處理器的系統(tǒng)、或可編程的電子消費(fèi)品、網(wǎng)絡(luò)PC、小型計(jì)算機(jī)、大型計(jì)算機(jī)等等。本發(fā)明的實(shí)施例還可在任務(wù)由經(jīng)通信網(wǎng)絡(luò)或其它數(shù)據(jù)傳輸介質(zhì)鏈接的遠(yuǎn)程處理裝置執(zhí)行的分布式計(jì)算環(huán)境中實(shí)踐。在分布式計(jì)算環(huán)境中,程序模塊可置于包括存儲(chǔ)器存儲(chǔ)裝置的本地和遠(yuǎn)程計(jì)算機(jī)存儲(chǔ)介質(zhì)中。
      因而圖1示出本發(fā)明可在其上實(shí)現(xiàn)的適當(dāng)計(jì)算系統(tǒng)環(huán)境100的示例,盡管如上闡明的,該計(jì)算系統(tǒng)環(huán)境100僅是適當(dāng)計(jì)算環(huán)境的一個(gè)示例,并非旨在提出對(duì)本發(fā)明使用或功能性范圍作任何限制。計(jì)算環(huán)境100也不應(yīng)被解釋為對(duì)示例性操作環(huán)境100中所示的任一組件或其組合有任何依賴性或任何需求。
      參照?qǐng)D1,用于實(shí)現(xiàn)本發(fā)明的示例系統(tǒng)包括以計(jì)算機(jī)110形式的通用計(jì)算裝置。計(jì)算機(jī)110的組件可包括,但不限于,處理單元120、系統(tǒng)存儲(chǔ)器130以及把包括系統(tǒng)存儲(chǔ)器在內(nèi)的各種系統(tǒng)組件耦合到處理單元120的系統(tǒng)總線121。系統(tǒng)總線121可能是若干總線結(jié)構(gòu)類型中的任何一種,包括存儲(chǔ)器總線或存儲(chǔ)器控制器、外圍總線、以及使用多種總線架構(gòu)的任一種的本地總線。作為示例,而非限制,這些架構(gòu)包括工業(yè)標(biāo)準(zhǔn)架構(gòu)(ISA)總線、微信道架構(gòu)(MCA)總線、增強(qiáng)型ISA(EISA)總線、視頻電子標(biāo)準(zhǔn)協(xié)會(huì)(VESA)局部總線和外圍部件互連(PCI)總線(也稱為Mezzanine總線)。
      計(jì)算機(jī)110通常包括各種計(jì)算機(jī)可讀介質(zhì)。計(jì)算機(jī)可讀介質(zhì)可以是能被計(jì)算機(jī)110訪問的任何可用介質(zhì),并包括易失性和非易失性介質(zhì)、可移動(dòng)和不可移動(dòng)介質(zhì)。作為示例,而非限制,計(jì)算機(jī)可讀介質(zhì)可包括計(jì)算機(jī)存儲(chǔ)介質(zhì)和通信介質(zhì)。計(jì)算機(jī)存儲(chǔ)介質(zhì)包括以任何方法或技術(shù)實(shí)現(xiàn)、用于存儲(chǔ)諸如計(jì)算機(jī)可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊或其它數(shù)據(jù)等信息的易失性和非易失性介質(zhì)、可移動(dòng)和不可移動(dòng)介質(zhì)。計(jì)算機(jī)存儲(chǔ)介質(zhì)包括但不限于RAM、ROM、EEPROM、閃存或其它存儲(chǔ)器技術(shù)、CD-ROM、數(shù)字化多功能光盤(DVD)或其它光學(xué)存儲(chǔ)技術(shù)、磁盒、磁帶、磁盤存儲(chǔ)器或其它磁性存儲(chǔ)設(shè)備、或任何其它可用于存儲(chǔ)所需信息并可由計(jì)算機(jī)110訪問的介質(zhì)。通信介質(zhì)通常在諸如載波或其它傳輸機(jī)制的已調(diào)制數(shù)據(jù)信號(hào)中體現(xiàn)計(jì)算機(jī)可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊、或其它數(shù)據(jù),且包括任何信息輸送介質(zhì)。術(shù)語“已調(diào)制數(shù)據(jù)信號(hào)”意指以在信號(hào)中編碼信息的方式設(shè)置或改變其一個(gè)或多個(gè)特征的信號(hào)。作為示例,而非限制,通信介質(zhì)包括諸如有線網(wǎng)絡(luò)或直線連接的有線介質(zhì),和諸如聲學(xué)、射頻(RF)、紅外線和其它無線介質(zhì)的無線介質(zhì)。以上任何介質(zhì)的組合也應(yīng)包括在計(jì)算機(jī)可讀介質(zhì)的范圍中。
      系統(tǒng)存儲(chǔ)器130包括諸如只讀存儲(chǔ)器(ROM)131和隨機(jī)存取存儲(chǔ)器(RAM)132的易失性和/或非易失性存儲(chǔ)器形式的計(jì)算機(jī)可讀介質(zhì)。包含有助于如起動(dòng)時(shí)在計(jì)算機(jī)110內(nèi)元件間傳送信息的基本例程的基本輸入/輸出系統(tǒng)(BIOS)133通常存儲(chǔ)在ROM131中。RAM132通常包含可被處理單元120立即訪問和/或當(dāng)時(shí)正被操作的數(shù)據(jù)和/或程序模塊。作為示例,而非限制,圖1示出了操作系統(tǒng)134、應(yīng)用程序135、其它程序模塊136、和程序數(shù)據(jù)137。RAM132可包含其它數(shù)據(jù)和/或程序模塊。
      計(jì)算機(jī)110還可包括其它可移動(dòng)/不可移動(dòng)、易失性/非易失性計(jì)算機(jī)存儲(chǔ)介質(zhì)。作為示例,圖1示出了讀取和寫入不可移動(dòng)、非易失性磁性介質(zhì)的硬盤驅(qū)動(dòng)器141,讀取和寫入可移動(dòng)、非易失性磁盤152的磁盤驅(qū)動(dòng)器151,讀取和寫入可移動(dòng)、非易失性光盤156,諸如CD-ROM或其它光學(xué)介質(zhì)的光盤驅(qū)動(dòng)器155。其它也在示例性計(jì)算環(huán)境中使用的可移動(dòng)/不可移動(dòng)、易失性/非易失性計(jì)算機(jī)存儲(chǔ)介質(zhì)包括,但不限于,如磁帶、閃存卡、數(shù)字化多功能光盤、數(shù)字化錄像帶、固態(tài)RAM、固態(tài)ROM等等。硬盤驅(qū)動(dòng)器141通常通過諸如接口140的不可移動(dòng)存儲(chǔ)器接口與系統(tǒng)總線121連接,而磁盤驅(qū)動(dòng)器151和光盤驅(qū)動(dòng)器155通常通過諸如接口150的可移動(dòng)存儲(chǔ)器接口與系統(tǒng)總線121連接。
      如上所述并如圖1所示的驅(qū)動(dòng)器及其相關(guān)聯(lián)的計(jì)算機(jī)存儲(chǔ)介質(zhì)為計(jì)算機(jī)110提供計(jì)算機(jī)可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊、和其它數(shù)據(jù)的存儲(chǔ)。在圖1中,例如,硬盤驅(qū)動(dòng)器141被示為存儲(chǔ)操作系統(tǒng)144、應(yīng)用程序145、其它程序模塊146、和程序數(shù)據(jù)147。注意這些組件可以與操作系統(tǒng)134、應(yīng)用程序135、其它程序模塊136、和程序數(shù)據(jù)137相同或不同。在此給予操作系統(tǒng)144、應(yīng)用程序145、其它程序模塊146、和程序數(shù)據(jù)147的不同編號(hào)至少說明他們是不同的副本。用戶可通過諸如鍵盤162、以及通常稱為鼠標(biāo)、跟蹤球或觸摸板等的定位裝置161的輸入裝置向計(jì)算機(jī)110輸入命令和信息。其它輸入裝置(未示出)可包括話筒、游戲桿、游戲墊、衛(wèi)星接收天線、掃描儀等等。這些和其它輸入設(shè)備常常通過與系統(tǒng)總線121耦合的用戶輸入接口160與處理單元120a-f相連,但也可通過諸如并行端口、游戲端口或通用串行總線(USB)的其它接口和總線結(jié)構(gòu)連接。
      監(jiān)視器191或其它類型的顯示設(shè)備也可通過諸如視頻接口190的接口與系統(tǒng)總線121相連。除監(jiān)視器191以外,計(jì)算機(jī)還可包括諸如揚(yáng)聲器197和打印機(jī)196的其它外圍輸出設(shè)備,它們通過輸出外圍接口195相連。
      計(jì)算機(jī)110可以在使用與一臺(tái)或多臺(tái)遠(yuǎn)程計(jì)算機(jī),諸如遠(yuǎn)程計(jì)算機(jī)180的邏輯連接的網(wǎng)絡(luò)化環(huán)境中運(yùn)行。遠(yuǎn)程計(jì)算機(jī)180可以是個(gè)人計(jì)算機(jī)、服務(wù)器、路由器、網(wǎng)絡(luò)PC、對(duì)等裝置或其它公共網(wǎng)絡(luò)節(jié)點(diǎn),而且通常包括上述與個(gè)人計(jì)算機(jī)110相關(guān)的許多或全部組件,盡管在圖1中僅圖示了存儲(chǔ)器存儲(chǔ)設(shè)備181。圖1中所描繪的邏輯連接包括局域網(wǎng)(LAN)171和廣域網(wǎng)(WAN)173,但也可包括其它網(wǎng)絡(luò)。這樣的網(wǎng)絡(luò)化環(huán)境在辦公室、企業(yè)范圍計(jì)算機(jī)網(wǎng)絡(luò)、內(nèi)聯(lián)網(wǎng)和因特網(wǎng)上是常見的。
      當(dāng)用于LAN網(wǎng)絡(luò)化環(huán)境中時(shí),計(jì)算機(jī)110通過網(wǎng)絡(luò)接口或適配器170與LAN171連接。當(dāng)用于WAN網(wǎng)絡(luò)化環(huán)境中時(shí),計(jì)算機(jī)110通常包括調(diào)制解調(diào)器172或其它用于在諸如因特網(wǎng)的廣域網(wǎng)173中建立通信的裝置。可以是內(nèi)置式或外置式的調(diào)制解調(diào)器172與系統(tǒng)總線121通過用戶輸入接口160或其它適當(dāng)機(jī)制連接。在網(wǎng)絡(luò)化環(huán)境中,與計(jì)算機(jī)110相關(guān)的程序模塊或其一部分可存儲(chǔ)在遠(yuǎn)程存儲(chǔ)器存儲(chǔ)裝置中。作為示例,而非限制,圖1示出了駐留于存儲(chǔ)器裝置181中的遠(yuǎn)程應(yīng)用程序185。應(yīng)當(dāng)理解,所示網(wǎng)絡(luò)連接是示例性的,且也可以使用其它用于在計(jì)算機(jī)間建立通信連接的方法。
      本領(lǐng)域技術(shù)人員可理解,計(jì)算機(jī)110或其它客戶機(jī)裝置可用作計(jì)算機(jī)網(wǎng)絡(luò)的一部分。這樣,本發(fā)明適合具有任何數(shù)量存儲(chǔ)器或存儲(chǔ)單元的任何計(jì)算機(jī)系統(tǒng)、以及在任何數(shù)量存儲(chǔ)單元或存儲(chǔ)體上發(fā)生的任何數(shù)量的應(yīng)用程序和進(jìn)程。本發(fā)明一實(shí)施例可應(yīng)用于帶有可用于網(wǎng)絡(luò)環(huán)境的具有遠(yuǎn)程或本地存儲(chǔ)器的服務(wù)器計(jì)算機(jī)和客戶計(jì)算機(jī)的環(huán)境。本發(fā)明還可應(yīng)用于具有編程語言功能、編譯和執(zhí)行功能的單機(jī)計(jì)算裝置。
      用于關(guān)于測(cè)試用例執(zhí)行松散耦合的測(cè)試用例驗(yàn)證的系統(tǒng)和方法圖2是根據(jù)本發(fā)明一實(shí)施例用于關(guān)于測(cè)試用例執(zhí)行松散耦合的測(cè)試用例驗(yàn)證的測(cè)試驗(yàn)證系統(tǒng)1的框圖。系統(tǒng)1可駐留于是參照?qǐng)D1所述的計(jì)算機(jī)110的計(jì)算機(jī)上。系統(tǒng)1可包括以下的一個(gè)或多個(gè)驗(yàn)證管理器30、測(cè)試用例20、比較器35、期望應(yīng)用狀態(tài)數(shù)據(jù)結(jié)構(gòu)36、當(dāng)前應(yīng)用狀態(tài)數(shù)據(jù)結(jié)構(gòu)37、以及數(shù)據(jù)庫(kù)31。該系統(tǒng)可包括要測(cè)試的應(yīng)用程序10。應(yīng)用程序10可以是任何進(jìn)程、機(jī)器、制造品、或合成品、或其任何改進(jìn)。應(yīng)用程序10還可以是程序、軟件、硬件、裝置、機(jī)制、或材料或其任何改進(jìn)。例如,應(yīng)用程序10可以是運(yùn)行在任何計(jì)算系統(tǒng)上的軟件程序。還例如,應(yīng)用程序10可以是一種門測(cè)試機(jī)制,其中裝置敲打門把手以測(cè)試門把手、門把手所附門、附在門上的鉸鏈、鉸鏈所附門框的強(qiáng)度、彈性、或可操作性。應(yīng)用程序10可以是在首次開發(fā)中、先前應(yīng)用程序的更新版本、終端用戶已經(jīng)用某些方法更改的先前發(fā)行的應(yīng)用程序等。
      應(yīng)用程序10可由一個(gè)或多個(gè)測(cè)試用例測(cè)試,在圖2中視為測(cè)試用例20a、b、c、……、f等??烧{(diào)用測(cè)試用例20a-f用于集成或功能測(cè)試。集成測(cè)試測(cè)試兩個(gè)或多個(gè)交互組件組合、一起工作、并彼此影響的方式。在功能測(cè)試中,測(cè)試用例集中于測(cè)試用例的特定功能行為。
      一般而言,每個(gè)測(cè)試用例20a-f包括要應(yīng)用于應(yīng)用程序10的帶有明確定義參數(shù)的明確定義動(dòng)作。每個(gè)測(cè)試用例20a-f可包括由應(yīng)用程序10執(zhí)行的一個(gè)或多個(gè)步驟。每個(gè)測(cè)試用例20a-f可以是應(yīng)用于應(yīng)用程序10的一個(gè)或一系列測(cè)試。測(cè)試用例20a-f可用諸如C、C#、C++、Pascal、面向?qū)ο笳Z言等的任何適當(dāng)編程語言來編寫。測(cè)試用例20a-f或測(cè)試用例20a-f的組合可例如調(diào)用圖形應(yīng)用程序來在包含各種色彩的其它形狀的文檔上繪制藍(lán)色長(zhǎng)方形。測(cè)試用例20a-f還可與計(jì)算機(jī)編程語言無關(guān)。例如,測(cè)試用例20a可調(diào)用10磅的大槌從4英尺高30°角手動(dòng)釋放到附于門的門把手上??梢岳斫?,圖形應(yīng)用程序、門把手應(yīng)用、以及本說明書中所提供的任何其它示例都決不限制本申請(qǐng)的聲明范圍,而相反僅僅是其描述便于理解的說明性實(shí)施例。
      圖2中所示的每個(gè)測(cè)試用例20a-f可測(cè)試應(yīng)用程序10的不同方面。應(yīng)理解,測(cè)試用例20a-f僅表示可能的測(cè)試用例,還有任何數(shù)量的測(cè)試應(yīng)用程序10的測(cè)試用例。此外,應(yīng)理解可同時(shí)或在不同時(shí)間執(zhí)行每個(gè)測(cè)試用例20a-f。此外,應(yīng)當(dāng)理解,例如測(cè)試用例20a可執(zhí)行一次而測(cè)試用例20e可運(yùn)行10次。此外,應(yīng)當(dāng)理解,測(cè)試用例20a-f可由測(cè)試者執(zhí)行。在可選實(shí)施例中,測(cè)試用例可有測(cè)試用例執(zhí)行器或類似裝置執(zhí)行。
      在本發(fā)明一示例實(shí)施例中,測(cè)試用例20a-f可直接與驗(yàn)證管理器30通信。在本發(fā)明一可選實(shí)施例中,測(cè)試用例20a-f可調(diào)用與驗(yàn)證管理器30通信的其它子例程。測(cè)試用例20a-f可以不知道如何完成驗(yàn)證。例如,如果許多測(cè)試用例20a-f需要一藍(lán)色長(zhǎng)方形,可編寫繪制藍(lán)色長(zhǎng)方形的子例程。該子例程可與驗(yàn)證管理器30通信。使用該子例程的測(cè)試用例20a-f會(huì)知道該子例程繪制一藍(lán)色長(zhǎng)方形,但不必知道該子例程與驗(yàn)證管理器30進(jìn)行通信。
      驗(yàn)證管理器30可包括期望狀態(tài)發(fā)生器32t-z、比較器35、以及期望應(yīng)用狀態(tài)和當(dāng)前應(yīng)用狀態(tài)數(shù)據(jù)結(jié)構(gòu)36、37。
      諸如每個(gè)期望狀態(tài)發(fā)生器32t、u、……、z等的期望狀態(tài)發(fā)生器可與一個(gè)或多個(gè)特定組件、數(shù)據(jù)點(diǎn)、或?qū)傩韵嚓P(guān)聯(lián)。例如,對(duì)于測(cè)試其中一個(gè)、部分或全部測(cè)試用例20a-f調(diào)用應(yīng)用程序10來在特定位置繪制一藍(lán)色長(zhǎng)方形的圖形應(yīng)用程序,期望狀態(tài)發(fā)生器32t-z可集中于應(yīng)用狀態(tài)的不同組件。期望狀態(tài)發(fā)生器32t可集中長(zhǎng)方形的色彩。期望狀態(tài)發(fā)生器32u可集中長(zhǎng)方形的位置。期望狀態(tài)發(fā)生器32v可集中于運(yùn)行測(cè)試用例20a-f所引起的較不明顯結(jié)果,諸如與新繪制藍(lán)色長(zhǎng)方形在同一文檔上的三角形的位置。或者,期望狀態(tài)發(fā)生器32u、32v可與相關(guān)于文檔上每個(gè)形狀的位置的單個(gè)期望狀態(tài)發(fā)生器(未示出)相組合或被其替換。期望狀態(tài)發(fā)生器32w可集中于工具欄上不相關(guān)選項(xiàng)的狀態(tài),諸如打開新文檔的選項(xiàng)。
      還有,例如如果測(cè)試用例20a-f通過用大槌擊打大門把手來單獨(dú)地或一起測(cè)試附于門上的門把手,則期望狀態(tài)發(fā)生器32t可集中于門把手轉(zhuǎn)動(dòng)的能力。期望狀態(tài)發(fā)生器32u和32v可集中于附于門上的高低鉸鏈,或可組合與鉸鏈狀態(tài)相關(guān)的單個(gè)期望狀態(tài)發(fā)生器(未示出)或被其替換。期望狀態(tài)發(fā)生器32w可集中于門把手周圍門的木質(zhì)部分。其它期望狀態(tài)發(fā)生器可集中于應(yīng)用程序10的其它領(lǐng)域。
      當(dāng)一個(gè)或多個(gè)測(cè)試用例20a-f應(yīng)用于應(yīng)用程序10時(shí)可調(diào)用所有期望狀態(tài)發(fā)生器32t-z,或者僅可調(diào)用一個(gè)或部分期望狀態(tài)發(fā)生器32t-z。在一實(shí)例實(shí)施例中,期望狀態(tài)發(fā)生器32t-z可獨(dú)立于測(cè)試用例20a-f運(yùn)行,并因此與之松散耦合。這樣,測(cè)試用例20a-f無需指定在測(cè)試用例20a-f的應(yīng)用期間應(yīng)調(diào)用期望狀態(tài)發(fā)生器32t-z的驗(yàn)證管理器。然后測(cè)試用例20a-f可不包含驗(yàn)證機(jī)制。當(dāng)然,測(cè)試用例20a-f可能不知道要進(jìn)行的任何驗(yàn)證。驗(yàn)證管理器30可負(fù)責(zé)驗(yàn)證測(cè)試用例20a-f的結(jié)果,且測(cè)試用例20a-f的目的可限于將帶有特定參數(shù)的激源應(yīng)用于應(yīng)用程序10。
      然而,本領(lǐng)域技術(shù)人員將理解,與示例實(shí)施例相一致,測(cè)試用例可包含驗(yàn)證編碼。如果運(yùn)行測(cè)試用例20a-f的目的是要確定特定問題是否已矯正,則正是這種情形。在—可選實(shí)施例中,測(cè)試用例20a-f還可指定要調(diào)用的一個(gè)或多個(gè)期望狀態(tài)發(fā)生器32t-z并指定不應(yīng)使用某些其它期望狀態(tài)發(fā)生器32t-z。
      隨著驗(yàn)證從測(cè)試用例20a-f的分開,驗(yàn)證可對(duì)測(cè)試用例20a-f更加綜合性。驗(yàn)證管理器30可包括先前已是各個(gè)測(cè)試用例一部分的期望狀態(tài)發(fā)生器32t-z。例如,驗(yàn)證管理器30可包含現(xiàn)有技術(shù)測(cè)試用例20a-f的期望狀態(tài)發(fā)生器32t-z,這些測(cè)試用例被設(shè)計(jì)成測(cè)試圖形應(yīng)用程序繪制藍(lán)色正方形、紅色圓、黃色三角形、或橢圓,使用下拉菜單上選項(xiàng)、通過使用鼠標(biāo)或鍵盤等來響應(yīng)各種用戶輸入等的能力。這些測(cè)試用例的每一個(gè)將包括集中于測(cè)試用例動(dòng)作目的的特定驗(yàn)證。使用包含期望狀態(tài)發(fā)生器32的專用驗(yàn)證管理器30,用于在圖形應(yīng)用程序中繪制藍(lán)色長(zhǎng)方形的測(cè)試用例20a-f可得到更綜合的驗(yàn)證。驗(yàn)證管理器30可調(diào)用專用于藍(lán)色長(zhǎng)方形、紅色正方形、黃色三角形、下拉菜單、鼠標(biāo)和鍵盤的輸入等的期望狀態(tài)發(fā)生器32。這樣,調(diào)用繪制藍(lán)色長(zhǎng)方形的測(cè)試用例20a-f可調(diào)用期望狀態(tài)發(fā)生器32t-z來檢查測(cè)試用例20a-f在應(yīng)用程序10上的明顯或不那么明顯的效果。測(cè)試者甚至可不知道例如當(dāng)繪制藍(lán)色長(zhǎng)方形時(shí)正在驗(yàn)證紅色圓。如果測(cè)試結(jié)果是紅色圓保持不受測(cè)試用例20a-f影響且如果這是期望結(jié)果,則測(cè)試者和/或測(cè)試用例可能不知道紅色圓被驗(yàn)證。然而如果紅色圓出乎意料地略有移動(dòng),則驗(yàn)證管理器30可警告測(cè)試者有非期望結(jié)果發(fā)生。
      類似地,如果測(cè)試用例20a-f涉及用大槌擊打附于門上的門把手,則驗(yàn)證過程可不僅包括確定測(cè)試對(duì)門把手的效果,還包括確定測(cè)試對(duì)門、門框、鉸鏈等的效果。
      此外,如果應(yīng)用程序10改變、更新等,測(cè)試用例20a-f的驗(yàn)證可在很大程度上保持不受影響??蓜?chuàng)建能改變應(yīng)用程序10工作方式的應(yīng)用程序10的新版本。因此,測(cè)試用例20可能需要改變。例如,用于測(cè)試圖形應(yīng)用程序的測(cè)試用例20a-f可能需要對(duì)它如何調(diào)用繪制藍(lán)色長(zhǎng)方形進(jìn)行修改。還有,例如如果要測(cè)試的門把手具有比先前版本更大的彈性,則用于測(cè)試附于門的門把手的測(cè)試用例20a-f可能需要改變大槌的重量和高度。然而并不需要改變每個(gè)期望狀態(tài)發(fā)生器32。在圖形應(yīng)用程序示例中,在應(yīng)用程序10改變之前期望狀態(tài)發(fā)生器32可用相同方式繼續(xù)檢查新的藍(lán)色正方形、現(xiàn)有的紅色圓、黃色三角形、橢圓的位置。類似地,在添加新的門把手并更改測(cè)試用例10之前,期望狀態(tài)發(fā)生器32可用相同方式驗(yàn)證門把手、門、鉸鏈和門框。
      期望狀態(tài)發(fā)生器32t-z可通過驗(yàn)證管理器30與數(shù)據(jù)庫(kù)31通信。數(shù)據(jù)庫(kù)31可向期望狀態(tài)發(fā)生器32提供信息從而期望狀態(tài)發(fā)生器更能從測(cè)試用例20中確定應(yīng)用程序10的期望狀態(tài)。例如,測(cè)試用例20a-f可涉及用大槌擊打附于門上的門把手。期望狀態(tài)發(fā)生器32a可對(duì)附于門上的1/8英寸厚、2英寸常的黃銅鉸鏈確定測(cè)試用例的效果。這樣做的過程中,期望狀態(tài)發(fā)生器32a可查詢數(shù)據(jù)庫(kù)31以檢索有關(guān)例如黃銅抗張強(qiáng)度的信息。在一可選實(shí)施例中,每個(gè)期望狀態(tài)發(fā)生器32可與獨(dú)立于驗(yàn)證管理器30的一個(gè)或多個(gè)數(shù)據(jù)庫(kù)31通信。或者,每個(gè)期望狀態(tài)發(fā)生器32可從可插入組件中檢索或接收信息。
      期望狀態(tài)發(fā)生器32t-z可與比較器35通信。如圖2所示,比較器35可以是驗(yàn)證管理器30的一部分,然而,本領(lǐng)域技術(shù)人員將理解比較器35可位于驗(yàn)證管理器之外。在此情形中,比較器可與驗(yàn)證管理器30和/或期望狀態(tài)發(fā)生器32通信。比較器35可比較期望狀態(tài)數(shù)據(jù)結(jié)構(gòu)36和實(shí)際狀態(tài)數(shù)據(jù)結(jié)構(gòu)37。
      更具體地,當(dāng)要執(zhí)行一個(gè)或多個(gè)測(cè)試用例20a-f時(shí),測(cè)試用例20a-f或測(cè)試執(zhí)行器可通知驗(yàn)證管理器30。驗(yàn)證管理器30可取應(yīng)用程序的當(dāng)前整體狀態(tài)的快照。即驗(yàn)證管理器可復(fù)制存儲(chǔ)器中應(yīng)用程序?qū)傩缘漠?dāng)前值。驗(yàn)證管理器30然后可通知期望狀態(tài)發(fā)生器32要運(yùn)行等待的測(cè)試用例20。在一示例實(shí)施例中,只通知那些可隱含于測(cè)試用例20a-f中的期望狀態(tài)發(fā)生器32。在一可選實(shí)施例中,可通知所有期望狀態(tài)發(fā)生器。
      基于要執(zhí)行的動(dòng)作和動(dòng)作參數(shù)以及驗(yàn)證管理器的當(dāng)前整體狀態(tài)的快照,每個(gè)期望狀態(tài)發(fā)生器32對(duì)應(yīng)用程序的組件從應(yīng)用程序10上測(cè)試用例20a-f的預(yù)期執(zhí)行來計(jì)算其期望結(jié)果狀態(tài)。例如,如果應(yīng)用程序10是圖形應(yīng)用程序,且測(cè)試用例20a-f都需要繪制藍(lán)色長(zhǎng)方形,則每個(gè)期望狀態(tài)發(fā)生器32確定有關(guān)該動(dòng)作的期望應(yīng)用狀態(tài)。期望狀態(tài)發(fā)生器32t可確定結(jié)果應(yīng)包括長(zhǎng)方形。期望狀態(tài)發(fā)生器32u可確定該長(zhǎng)方形應(yīng)是藍(lán)色。期望狀態(tài)發(fā)生器32v可集中于遠(yuǎn)離該長(zhǎng)方形的紅色圓,并可確定其期望狀態(tài)應(yīng)當(dāng)由測(cè)試用例20保持不變。每個(gè)期望狀態(tài)發(fā)生器將該期望組件狀態(tài)傳送給驗(yàn)證管理器30,而驗(yàn)證管理器30可將該數(shù)據(jù)置入比較器35中的期望應(yīng)用狀態(tài)數(shù)據(jù)結(jié)構(gòu)36。這樣,驗(yàn)證管理器30在執(zhí)行測(cè)試用例20a-f之前可具有整體期望應(yīng)用狀態(tài)。此外,這意味著可在任何時(shí)候或按需確定整體期望應(yīng)用狀態(tài)。來自測(cè)試用例20a-f的執(zhí)行的期望結(jié)果可以是確定性的?;蛘呷绻谕萌氚l(fā)生器32t-z理解非確定性結(jié)果是可接受的,則期望結(jié)果可以是非確定性的。
      在完成測(cè)試用例20之后,驗(yàn)證管理器30可取另一快照或可進(jìn)行復(fù)制,記錄應(yīng)用程序?qū)傩缘漠?dāng)前值。該快照可顯示應(yīng)用程序的當(dāng)前整體狀態(tài)。屬性的當(dāng)前值可存儲(chǔ)在當(dāng)前應(yīng)用狀態(tài)數(shù)據(jù)結(jié)構(gòu)37中。比較器35然后比較期望應(yīng)用狀態(tài)數(shù)據(jù)結(jié)構(gòu)36和當(dāng)前應(yīng)用程序數(shù)據(jù)結(jié)構(gòu)37。任何差異表示確保應(yīng)進(jìn)一步注意的區(qū)域。在一可選實(shí)施例中,數(shù)據(jù)結(jié)構(gòu)36、37可被發(fā)送給適當(dāng)工具用于執(zhí)行比較。例如,通過使用可擴(kuò)展標(biāo)記語言(XML)可完成該比較。
      期望和當(dāng)前應(yīng)用狀態(tài)數(shù)據(jù)結(jié)構(gòu)36、37之間的差異可警告測(cè)試者并導(dǎo)致可選的結(jié)論。期望和當(dāng)前應(yīng)用狀態(tài)之間的差異可表示應(yīng)用程序10未以適當(dāng)方式動(dòng)作的區(qū)域。在這樣的情形中,可能需要調(diào)試源代碼或改變材料的結(jié)構(gòu)。即,例如如果測(cè)試用例20a-f想要繪制藍(lán)色正方形的結(jié)果但相反測(cè)試用例20a-f結(jié)果繪制了紅色正方形,則測(cè)試者傾向于修復(fù)應(yīng)用程序10并再次運(yùn)行測(cè)試用例20a-f。如果測(cè)試者不是開發(fā)應(yīng)用程序的人員,則測(cè)試者可通過將缺陷記入缺陷跟蹤系統(tǒng)、發(fā)送電子郵件、去開發(fā)者辦公室、或使用其它通知系統(tǒng)來通知開發(fā)者該不正確行為—紅色正方形。還有,例如如果測(cè)試用例20a-f想要門把手繼續(xù)操作的結(jié)果,但相反大槌把門把手從門上敲下來了,則測(cè)試者可傾向于使用更堅(jiān)固的接合件來將門把手置于門上?;蛘撸绻麥y(cè)試者并非在制造門,則測(cè)試者可向門的制造商推薦使用更堅(jiān)固的結(jié)合件。
      差異還可表示期望狀態(tài)發(fā)生器32的期望應(yīng)用狀態(tài)是不現(xiàn)實(shí)的。在這種情形中,可以批準(zhǔn)對(duì)期望狀態(tài)生成器變更,例如要測(cè)試的應(yīng)用程序10可以是圖形應(yīng)用程序。一個(gè)或多個(gè)測(cè)試用例20a-f可包括使用鼠標(biāo)來繪制長(zhǎng)方形。然后一個(gè)或多個(gè)期望狀態(tài)發(fā)生器32可期望繪制一個(gè)完美的長(zhǎng)方形。如果用鼠標(biāo)繪制完美的長(zhǎng)方形在應(yīng)用程序10中并不現(xiàn)實(shí),則比較器30可指示因?yàn)榻Y(jié)果長(zhǎng)方形中的瑕疵而使該測(cè)試失敗。然后測(cè)試者可將公差加入可應(yīng)用期望狀態(tài)發(fā)生器32中以允許包括幾乎但不非常完美的長(zhǎng)方形的期望應(yīng)用狀態(tài)。
      在一示例實(shí)施中,期望狀態(tài)發(fā)生器32可不僅基于在測(cè)試用例20a-f中調(diào)用的動(dòng)作和參數(shù)而且基于當(dāng)前應(yīng)用狀態(tài)來確定期望狀態(tài)。這使得驗(yàn)證管理器30能將先前的測(cè)試用例失敗考慮在內(nèi)并基于這些失敗決定期望狀態(tài)。例如,測(cè)試用例20a-f可涉及用大槌擊打附在門上的門把手。如果在執(zhí)行測(cè)試用例的過程中附于門上的鉸鏈遭到破壞,則對(duì)其它測(cè)試用例20a-f的鉸鏈驗(yàn)證可基于先前的損壞而不指示失敗。相反,驗(yàn)證管理器30可考慮先前的損壞而確定鉸鏈的期望狀態(tài)。
      圖3A示出執(zhí)行松散耦合的驗(yàn)證的示例方法的流程圖。驗(yàn)證方法200可在步驟205以測(cè)試用例20a-f開始。在一可選實(shí)施例中,測(cè)試用例執(zhí)行器可向驗(yàn)證管理器發(fā)送開始事件并調(diào)用驗(yàn)證管理器30。從該開始事件或調(diào)用中,驗(yàn)證管理器30可獲得等待測(cè)試用例20的通知。測(cè)試用例20a-f可包括將施加于應(yīng)用程序的包括動(dòng)作參數(shù)的明確定義的動(dòng)作。在通知之后,驗(yàn)證管理器30可取當(dāng)前整體狀態(tài)的快照。在步驟210,驗(yàn)證管理器30可確定那些期望狀態(tài)發(fā)生器32可隱含于等待測(cè)試用例20a-f中并通知可應(yīng)用的期望狀態(tài)發(fā)生器32?;蛘?,驗(yàn)證管理器30向所有的期望狀態(tài)發(fā)生器32通知等待的測(cè)試用例20a-f。在步驟215,期望狀態(tài)發(fā)生器32將查看測(cè)試用例20a-f的可應(yīng)用動(dòng)作和參數(shù)?;谄浣M件的屬性的當(dāng)前值或組件,期望狀態(tài)發(fā)生器可在完成測(cè)試用例20之后計(jì)算期望組件狀態(tài)。每個(gè)得到通知的期望狀態(tài)發(fā)生器32然后可將其期望組件狀態(tài)發(fā)送給驗(yàn)證管理器30。該數(shù)據(jù)可存儲(chǔ)在比較器35的期望應(yīng)用狀態(tài)數(shù)據(jù)結(jié)構(gòu)36中。當(dāng)所有可應(yīng)用期望狀態(tài)發(fā)生器32已報(bào)告期望組件狀態(tài)數(shù)據(jù)時(shí),驗(yàn)證管理器30將具有(在步驟220)整體期望應(yīng)用狀態(tài)。驗(yàn)證管理器30然后可在步驟225通知測(cè)試用例20a-f或測(cè)試執(zhí)行器可執(zhí)行測(cè)試用例20。因而將控制還給測(cè)試用例20a-f(或測(cè)試執(zhí)行器)。在步驟230,可執(zhí)行。測(cè)試用例20a-f。
      圖3B繼續(xù)圖3A的流程圖。在步驟235,可執(zhí)行測(cè)試用例20a-f,更新整體快照。在完成測(cè)試用例20之后,驗(yàn)證管理器30在步驟240可得到通知,測(cè)試用例20a-f已完成。在步驟245,驗(yàn)證管理器30可取當(dāng)前應(yīng)用狀態(tài)的快照。該快照可反映應(yīng)用程序上測(cè)試用例的實(shí)際結(jié)果。該快照還可表示應(yīng)用程序的屬性的值。驗(yàn)證管理器30可在步驟250將該快照存儲(chǔ)在當(dāng)前應(yīng)用狀態(tài)數(shù)據(jù)結(jié)構(gòu)37中。然后驗(yàn)證管理器30在步驟260可比較期望和當(dāng)前的應(yīng)用狀態(tài)數(shù)據(jù),且在步驟255報(bào)告整個(gè)比較的結(jié)果或期望的和當(dāng)前的屬性值不完全相同的任何結(jié)果。在本發(fā)明一可選實(shí)施例中,期望和當(dāng)前狀態(tài)的快照可在運(yùn)行測(cè)試用例期間完成,即,所有或部分步驟210-260可在一測(cè)試用例內(nèi)多次執(zhí)行。
      期望和當(dāng)前狀態(tài)數(shù)據(jù)結(jié)構(gòu)36、37的比較可在驗(yàn)證管理器30內(nèi)完成,或者,數(shù)據(jù)結(jié)構(gòu)可串行化到可擴(kuò)展標(biāo)記語言(XML)從而比較可用XML來完成。這樣,XML可比較數(shù)據(jù)結(jié)構(gòu)36、37并將結(jié)果發(fā)送到驗(yàn)證管理器30、測(cè)試用例20、或測(cè)試執(zhí)行器。在本發(fā)明一可選實(shí)施例中,比較器35可從測(cè)試用例執(zhí)行過程中去耦。該去耦可使期望和當(dāng)前應(yīng)用狀態(tài)之間的比較在與測(cè)試用例執(zhí)行不相關(guān)的時(shí)間完成。這樣,期望和當(dāng)前狀態(tài)數(shù)據(jù)可存儲(chǔ)到數(shù)據(jù)庫(kù)或其它數(shù)據(jù)存儲(chǔ)器中,或存儲(chǔ)在計(jì)算機(jī)存儲(chǔ)器內(nèi)。
      在本發(fā)明一示例實(shí)施例中,驗(yàn)證管理器30可通知各個(gè)驗(yàn)證結(jié)果的結(jié)果,或可僅通知期望和當(dāng)前應(yīng)用狀態(tài)數(shù)據(jù)不同(即當(dāng)失敗時(shí))的那些實(shí)例。通知有時(shí)可在測(cè)試用例已完成執(zhí)行之后的某些時(shí)間進(jìn)行,并可通過與測(cè)試用例完全不相關(guān)的途徑進(jìn)行。例如,比較器35可將驗(yàn)證結(jié)果通過電子郵件發(fā)送給指定聯(lián)系人。
      應(yīng)理解,如果再次執(zhí)行相同的測(cè)試用例20a-f或如果執(zhí)行不同的測(cè)試用例20a-f,則不必需圖3A-3B中示出的方法200的所有步驟。例如,驗(yàn)證管理器30可包含在比較器35中的期望狀態(tài)數(shù)據(jù)結(jié)構(gòu),用于等待測(cè)試用例20。如果這樣,則驗(yàn)證管理器30在執(zhí)行測(cè)試用例20a-f之前不必從期望狀態(tài)發(fā)生器32中獲取期望組件狀態(tài)數(shù)據(jù)。因此,每當(dāng)執(zhí)行測(cè)試用例20a-f時(shí)并不需要完成方法200的所有步驟。
      圖4是根據(jù)本發(fā)明另一實(shí)施例用于關(guān)于測(cè)試用例執(zhí)行松散耦合的測(cè)試用例驗(yàn)證的示例系統(tǒng)的框圖。在該另一實(shí)施例中,一個(gè)或多個(gè)測(cè)試用例20a-f可應(yīng)用于應(yīng)用程序10。如上所述,測(cè)試用例20a-f可以是集成測(cè)試用例或功能測(cè)試用例。一般而言,每個(gè)測(cè)試用例20a-f具有要應(yīng)用于應(yīng)用程序10的具有明確定義參數(shù)的明確定義激源。每個(gè)測(cè)試用例20a-f都包括要由應(yīng)用程序10執(zhí)行的一個(gè)或多個(gè)步驟。每個(gè)測(cè)試用例20a-f可以是應(yīng)用程序10進(jìn)行的一個(gè)或一系列測(cè)試。驗(yàn)證管理器30可包括帶有期望和當(dāng)前應(yīng)用狀態(tài)數(shù)據(jù)結(jié)構(gòu)36、37的比較器35。如上所述,應(yīng)理解,比較器35可與驗(yàn)證管理器30分開并與其通信。此外,期望狀態(tài)發(fā)生器32x-z可與驗(yàn)證管理器30分開。期望狀態(tài)發(fā)生器32可與驗(yàn)證管理器30通信。期望狀態(tài)發(fā)生器32和驗(yàn)證管理器30的功能可與參照?qǐng)D2解釋的相似或相同。可關(guān)注每個(gè)期望狀態(tài)發(fā)生器32t-z的組件可以是應(yīng)用程序10內(nèi)的數(shù)據(jù)點(diǎn)。數(shù)據(jù)點(diǎn)可以是屬性的值,且因此每個(gè)期望狀態(tài)發(fā)生器32t-z可在測(cè)試用例執(zhí)行之前向驗(yàn)證管理器30提供期望屬性值。此外,期望狀態(tài)發(fā)生器32可包括其它期望狀態(tài)發(fā)生器32。期望狀態(tài)發(fā)生器32可與驗(yàn)證管理器30通信。此外,期望狀態(tài)發(fā)生器32可與一個(gè)或多個(gè)數(shù)據(jù)庫(kù)31a-b通信,這些數(shù)據(jù)庫(kù)可以是可插入組件。
      例如,如果測(cè)試用例20a-f涉及用大槌擊打附在門上的門把手,則期望狀態(tài)發(fā)生器32x可確定附于門上的鉸鏈的期望狀態(tài)。這樣,期望狀態(tài)發(fā)生器32x可調(diào)用期望狀態(tài)發(fā)生器32x1以報(bào)告較低部分鉸鏈。類似地,期望狀態(tài)發(fā)生器32x可調(diào)用期望狀態(tài)發(fā)生器32x2以報(bào)告較高部分鉸鏈。期望狀態(tài)發(fā)生器32x可在確定期望狀態(tài)時(shí)組合數(shù)據(jù),并在適當(dāng)時(shí)將已組合數(shù)據(jù)傳送給驗(yàn)證管理器30。此外,如果期望狀態(tài)發(fā)生器32x是要確定對(duì)附在門上的1/8英寸厚2英寸長(zhǎng)的黃銅鉸鏈的測(cè)試效果,則期望狀態(tài)發(fā)生器32x可查詢數(shù)據(jù)庫(kù)31a以檢索有關(guān)例如抗拉黃銅強(qiáng)度的信息。
      在此所述的各種技術(shù)可用硬件、軟件、或在適當(dāng)時(shí)用兩者的組合來實(shí)現(xiàn)。因而,本發(fā)明的方法和裝置或其某些方面或部分可采取包括在諸如軟盤、CD-ROM、硬盤、或任何其它機(jī)器可讀的存儲(chǔ)介質(zhì)的有形介質(zhì)中的程序代碼(即指令)的形式,其中當(dāng)程序代碼由諸如計(jì)算機(jī)的機(jī)器載入并執(zhí)行時(shí),該機(jī)器變成實(shí)踐本發(fā)明的裝置。程序代碼在可編程計(jì)算機(jī)上執(zhí)行的情形中,計(jì)算裝置通常包括處理器、處理器可讀的存儲(chǔ)介質(zhì)(包括易失性和非易失性存儲(chǔ)器和/或存儲(chǔ)單元)、至少一個(gè)輸入裝置、以及至少一個(gè)輸出裝置??衫缤ㄟ^使用數(shù)據(jù)處理API等利用本發(fā)明的領(lǐng)域?qū)S镁幊棠P头矫娴膭?chuàng)建和/或?qū)崿F(xiàn)的一個(gè)或多個(gè)程序,最好用高級(jí)過程或面向?qū)ο蟮木幊陶Z言來實(shí)現(xiàn)以與計(jì)算機(jī)系統(tǒng)通信。然而,如果需要程序也可用匯編或機(jī)器語言來實(shí)現(xiàn)。在任何情形中,語言可以是編譯或解釋語言,并可與硬件實(shí)現(xiàn)相組合。
      盡管本發(fā)明已結(jié)合各附圖的優(yōu)選實(shí)施例進(jìn)行了描述,可以理解可使用其它實(shí)施例或可對(duì)所述實(shí)施例作更改和添加來執(zhí)行本發(fā)明的相同功能而不從其背離。在說明書中,提供了兩個(gè)主要示例,一個(gè)處理假設(shè)的圖形應(yīng)用程序而另一個(gè)處理附在門上的門把手。這些示例是為加強(qiáng)理解而提供的。本發(fā)明決不限于圖形應(yīng)用程序或涉及附在門上的門把手的應(yīng)用程序。此外,本發(fā)明一實(shí)施例可包括在涉及任何應(yīng)用程序的涉及任何進(jìn)程、機(jī)器、制造、合成品、程序、軟件、硬件、裝置、機(jī)制、或材料、或其任何改進(jìn)的任何測(cè)試中。因此,本發(fā)明應(yīng)不限于任一單個(gè)實(shí)施例,而應(yīng)根據(jù)所附權(quán)利要求在寬度和范圍內(nèi)作解釋。
      權(quán)利要求
      1.一種用于驗(yàn)證應(yīng)用于應(yīng)用程序的動(dòng)作的多個(gè)結(jié)果的系統(tǒng),其特征在于,包括一期望狀態(tài)發(fā)生器,用于計(jì)算將所述動(dòng)作應(yīng)用于所述應(yīng)用程序的期望結(jié)果并用于更新期望應(yīng)用狀態(tài);以及一驗(yàn)證管理器,用于維護(hù)當(dāng)前應(yīng)用狀態(tài)并比較所述期望應(yīng)用狀態(tài)和所述當(dāng)前應(yīng)用狀態(tài)。
      2.如權(quán)利要求1的系統(tǒng),其特征在于,所述期望狀態(tài)發(fā)生器在執(zhí)行所述動(dòng)作之前確定所述期望應(yīng)用狀態(tài)。
      3.如權(quán)利要求1的系統(tǒng),其特征在于,所述期望狀態(tài)發(fā)生器按需確定所述期望應(yīng)用狀態(tài)。
      4.如權(quán)利要求1的系統(tǒng),其特征在于,還包括用于向所述驗(yàn)證管理器傳送期望組件狀態(tài)的期望狀態(tài)發(fā)生器。
      5.如權(quán)利要求4的系統(tǒng),其特征在于,所述期望狀態(tài)發(fā)生器在所述驗(yàn)證管理器外部。
      6.如權(quán)利要求4的系統(tǒng),其特征在于,還包括于所述期望狀態(tài)發(fā)生器通信的一組件數(shù)據(jù)庫(kù),其中所述組件數(shù)據(jù)庫(kù)便于所述期望狀態(tài)發(fā)生器確定所述組件的所述期望組件狀態(tài)。
      7.如權(quán)利要求1的系統(tǒng),其特征在于,還包括與用于執(zhí)行所述動(dòng)作的所述驗(yàn)證管理器通信但與之獨(dú)立的一測(cè)試用例。
      8.如權(quán)利要求1的系統(tǒng),其特征在于,所述動(dòng)作包括激源;以及參數(shù)。
      9.如權(quán)利要求1的系統(tǒng),其特征在于,所述動(dòng)作是功能測(cè)試和集成測(cè)試的至少之一。
      10.如權(quán)利要求1的系統(tǒng),其特征在于,還包括期望應(yīng)用狀態(tài)數(shù)據(jù)結(jié)構(gòu)和當(dāng)前應(yīng)用狀態(tài)數(shù)據(jù)結(jié)構(gòu)。
      11.如權(quán)利要求10的系統(tǒng),其特征在于,所述期望應(yīng)用狀態(tài)數(shù)據(jù)結(jié)構(gòu)包括從所述期望狀態(tài)發(fā)生器接收的信息。
      12.如權(quán)利要求10的系統(tǒng),其特征在于,所述當(dāng)前應(yīng)用狀態(tài)數(shù)據(jù)結(jié)構(gòu)包括從所述驗(yàn)證管理器接收的信息。
      13.如權(quán)利要求1的系統(tǒng),其特征在于,所述驗(yàn)證管理器離線地比較所述期望應(yīng)用狀態(tài)和當(dāng)前應(yīng)用狀態(tài)。
      14.如權(quán)利要求1的系統(tǒng),其特征在于,所述驗(yàn)證管理器在線地比較所述期望應(yīng)用狀態(tài)和當(dāng)前應(yīng)用狀態(tài)。
      15.如權(quán)利要求1的系統(tǒng),其特征在于,所述期望狀態(tài)發(fā)生器從數(shù)據(jù)庫(kù)和網(wǎng)絡(luò)位置的至少之一中載入。
      16.如權(quán)利要求1的系統(tǒng),其特征在于,所述驗(yàn)證管理器提供所述期望應(yīng)用狀態(tài)與所述當(dāng)前應(yīng)用狀態(tài)比較的通知。
      17.如權(quán)利要求16的系統(tǒng),其特征在于,所述通知離線完成。
      18.一種具有存儲(chǔ)其上的數(shù)據(jù)結(jié)構(gòu)的計(jì)算機(jī)可讀介質(zhì),其特征在于,包括存儲(chǔ)在驗(yàn)證管理器中的第一數(shù)據(jù)字段,包含基于要在所述應(yīng)用程序上實(shí)現(xiàn)的動(dòng)作來表示應(yīng)用程序的期望應(yīng)用狀態(tài)的數(shù)據(jù);以及存儲(chǔ)在驗(yàn)證管理器中的第二數(shù)據(jù)字段,包含表示在應(yīng)用所述動(dòng)作后所述應(yīng)用程序的當(dāng)前應(yīng)用狀態(tài)的數(shù)據(jù),其中所述動(dòng)作由獨(dú)立于所述驗(yàn)證管理器的測(cè)試用例定義并應(yīng)用。
      19.如權(quán)利要求18所述的計(jì)算機(jī)可讀介質(zhì),其特征在于,多個(gè)組件裝置向所述第一和第二數(shù)據(jù)字段提供有關(guān)所述應(yīng)用程序的相應(yīng)組件的數(shù)據(jù)。
      20.一種用于驗(yàn)證應(yīng)用于應(yīng)用程序的動(dòng)作結(jié)果的方法,其特征在于,包括存儲(chǔ)所述應(yīng)用程序的當(dāng)前應(yīng)用狀態(tài);從要應(yīng)用于所述應(yīng)用程序的動(dòng)作計(jì)算期望應(yīng)用狀態(tài);存儲(chǔ)所述期望應(yīng)用狀態(tài);執(zhí)行所述動(dòng)作;更新所述應(yīng)用程序的當(dāng)前應(yīng)用狀態(tài);以及比較所述應(yīng)用程序的期望應(yīng)用狀態(tài)和所述應(yīng)用程序的當(dāng)前應(yīng)用狀態(tài)。
      21.如權(quán)利要求20的方法,其特征在于,還包括創(chuàng)建初始當(dāng)前狀態(tài)的副本。
      22.如權(quán)利要求20的方法,其特征在于,還包括接收期望作為將所述動(dòng)作應(yīng)用于所述應(yīng)用組件的結(jié)果的期望組件狀態(tài)。
      23.如權(quán)利要求22的方法,其特征在于,所述期望組件狀態(tài)存儲(chǔ)在期望應(yīng)用狀態(tài)數(shù)據(jù)結(jié)構(gòu)中。
      24.如權(quán)利要求22的方法,其特征在于,所述期望組件狀態(tài)由期望狀態(tài)發(fā)生器確定。
      25.如權(quán)利要求24的方法,其特征在于,所述期望狀態(tài)發(fā)生器位于所述驗(yàn)證管理器外部。
      26.如權(quán)利要求20的方法,其特征在于,還包括如果所述期望和當(dāng)前應(yīng)用狀態(tài)基本上不相等則通知所述測(cè)試用例。
      27.如權(quán)利要求20的方法,其特征在于,所述比較步驟使用XML來完成。
      28.如權(quán)利要求20的方法,其特征在于,存儲(chǔ)所述應(yīng)用的當(dāng)前應(yīng)用狀態(tài)在應(yīng)用所述動(dòng)作之后完成的步驟。
      29.如權(quán)利要求20的方法,其特征在于,存儲(chǔ)所述期望應(yīng)用狀態(tài)在完成所述動(dòng)作之前完成的步驟。
      30.一種具有計(jì)算機(jī)可執(zhí)行指令的計(jì)算機(jī)可讀介質(zhì),其特征在于,所述指令用于執(zhí)行各步驟,包括從要應(yīng)用于所述應(yīng)用程序的動(dòng)作計(jì)算期望應(yīng)用狀態(tài);執(zhí)行所述動(dòng)作;確定所述應(yīng)用程序的當(dāng)前應(yīng)用狀態(tài);以及比較所述應(yīng)用程序的期望應(yīng)用狀態(tài)和所述應(yīng)用程序的當(dāng)前應(yīng)用狀態(tài)。
      31.如權(quán)利要求30所述的計(jì)算機(jī)可讀介質(zhì),其特征在于,還具有用于執(zhí)行接收期望作為將所述動(dòng)作應(yīng)用于所述應(yīng)用組件的結(jié)果的期望組件狀態(tài)的步驟的計(jì)算機(jī)可執(zhí)行指令。
      32.如權(quán)利要求31的計(jì)算機(jī)可讀介質(zhì),其特征在于,還具有用于執(zhí)行將所述期望組件狀態(tài)存儲(chǔ)在期望應(yīng)用狀態(tài)數(shù)據(jù)結(jié)構(gòu)中的步驟的計(jì)算機(jī)可執(zhí)行指令。
      33.如權(quán)利要求31的計(jì)算機(jī)可讀介質(zhì),其特征在于,還具有用于執(zhí)行如果所述期望和當(dāng)前應(yīng)用狀態(tài)基本上不相等則提供通知的步驟的計(jì)算機(jī)可執(zhí)行指令。
      全文摘要
      一種用于驗(yàn)證應(yīng)用于應(yīng)用程序的動(dòng)作的系統(tǒng)結(jié)果,并用于在任何時(shí)間或按需提供應(yīng)用程序的期望狀態(tài)的系統(tǒng)和方法,其中驗(yàn)證管理器確定應(yīng)用程序的期望應(yīng)用狀態(tài)和當(dāng)前應(yīng)用狀態(tài),與驗(yàn)證管理器通信的測(cè)試用例執(zhí)行該動(dòng)作,而驗(yàn)證管理器比較期望應(yīng)用狀態(tài)和當(dāng)前應(yīng)用狀態(tài)。
      文檔編號(hào)G06F9/44GK1755646SQ20051009945
      公開日2006年4月5日 申請(qǐng)日期2005年8月29日 優(yōu)先權(quán)日2004年9月29日
      發(fā)明者A·M·烏爾里希, M·D·加拉赫, M·J·亨特 申請(qǐng)人:微軟公司
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
      1