針對自動化腳本的對記錄的動作的自動分類調整的製作方法
2023-05-27 12:11:31
針對自動化腳本的對記錄的動作的自動分類調整的製作方法
【專利摘要】一種用於自動化腳本的自動修訂的方法包括:獲得至少一個分類後的記錄的動作的序列和自動化腳本,自動化腳本包括分類後的記錄的動作的序列的子序列,其中,根據每個動作的分類將該動作包括在自動化腳本中。執行自動化腳本的至少一部分。在自動化腳本的該部分的動作的執行失敗時,對分類後的記錄的動作的序列的動作重新分類,驗證執行失敗的動作在重新分類之後是否成功執行,以及修訂自動化腳本。還公開了相關的電腦程式產品和數據處理系統。
【專利說明】針對自動化腳本的對記錄的動作的自動分類調整
【背景技術】
[0001]自動化的應用測試可以應用於測試應用程式,包括在極端使用條件下的基於網絡或基於網際網路的應用。在此類應用中,測試應用可以模擬正在與被測試的應用交互的大量用戶。
[0002]例如,自動測試應用可以自動執行腳本,該腳本模擬與被測試的應用交互的用戶。常規生成此類腳本的一種方式是記錄與要被測試的應用交互的人類操作者的動作。然後,腳本生成應用可以從記錄的動作中選擇要包括在腳本中的那些動作。
【專利附圖】
【附圖說明】
[0003]做出對附圖的參考,其中:
圖1是根據本發明的實施例的用於針對自動化腳本的對記錄的用戶動作的自動分類調整的系統的示意圖;
圖2示出了與用戶接口的用戶交互的示例,其中可以向所述用戶交互應用根據本發明的實施例的針對自動化腳本的對記錄的用戶動作的自動分類調整;
圖3示出了向基於圖2中示出的用戶交互的自動化腳本應用根據本發明的實施例的對記錄的用戶動作的自動分類調整;以及
圖4是根據本發明的實施例的針對自動化腳本的對記錄的用戶動作的自動分類調整的方法的流程圖。
【具體實施方式】
[0004]根據本發明的實施例的針對自動化腳本的對記錄的用戶動作的自動分類調整包括當自動化腳本執行失敗時對記錄的動作的自動重新分類。對記錄的動作自動重新分類可以使修訂後的腳本能夠成功執行,而在修訂過程中最小地或不直接涉及人類用戶或操作者。
[0005]自動化腳本包括記錄的用戶動作的序列的子序列(被理解為包括全部或一些)。可以根據一個或多個分類來對記錄的用戶動作中的每一個進行分類。根據分類將序列中的動作包括在子序列中。
[0006]例如,自動化腳本的創建可以包括將與用戶接口交互的用戶的一個或多個記錄的動作分類為相關或不相關。腳本生成應用然後可以通過僅包括分類為相關的那些記錄的事件來生成自動測試腳本。類似地,分類可以包括對記錄的動作的任何其他適當的分類,例如與記錄的動作的解釋相關的分類(例如,引起狀態的絕對改變或狀態的相對改變)。
[0007]例如,用戶可以操作諸如滑鼠的指示設備以跨顯示的用戶接口移動光標。此類用戶接口典型地包括若干顯示的屏幕控制項,用戶可以例如通過當光標定位在所選屏幕控制項上時按下滑鼠按鈕或鍵盤鍵來從該若干顯示的屏幕控制項中進行選擇。當將光標導航到要選擇的屏幕控制項時,光標可能在一個或多個其他屏幕控制項上通過。光標在其他屏幕控制項之一上通過也可能通過影響用戶接口而生成事件。例如,光標在屏幕控制項上通過可能引起屏幕控制項改變其外觀,或者下拉菜單可能出現。此類用戶動作也被腳本生成應用記錄為事件。
[0008]腳本生成應用生成包括從記錄的事件中選擇的事件的腳本。腳本可以首先選擇根據預定準則被認為是相關的或重要的(例如,與預定重要性級別相關的)那些事件。例如,預定準則可以將腳本生成應用限制為首先選擇僅那些包括屏幕控制項的選擇的事件。
[0009]可以從生成的腳本中省略被認為不相關或不重要的動作。
[0010]在重放腳本中,計算機模擬生成包括在腳本中的事件的記錄的用戶動作。在重放腳本中,重放的動作之一可能失敗。例如,要選擇的屏幕控制項未呈現在用戶接口中,或者屏幕控制項可能處於與重放動作不相容的狀態。當檢測到此類失敗時,根據本發明的實施例的腳本生成應用嘗試對事件重新分類從而修改腳本,使得可以成功執行重放的動作。
[0011 ] 在將事件分類成相關或不相關的示例中,根據本發明的實施例,失敗可能是由於將對於腳本的成功執行必要的事件誤分類成不相關而導致的。當檢測到失敗時,腳本生成應用執行對之前分類為不相關或不重要的記錄的事件重新分類的自動過程。作為重新分類的結果,腳本生成應用可以修訂生成的腳本。
[0012]例如,腳本生成應用可以首先尋找這樣的記錄的動作,該記錄的動作位於失敗的動作之前,並且已經被分類為不相關並因此從腳本中省略。腳本生成應用然後嘗試執行該省略的動作。如果省略的動作成功執行,則再次嘗試之前失敗的動作的執行。如果之前省略的動作或之前失敗的動作執行失敗,則腳本生成應用搜索在首先省略的動作之前記錄並且也被分類為不相關的另一記錄的動作。重複對記錄的事件重新分類和修訂腳本的過程,直到之前失敗的動作成功執行為止。此時,包括之前省略的動作的修訂後的腳本替換原始生成的腳本。
[0013]對腳本的修改可以呈現給用戶以供批准。
[0014]圖1是根據本發明的實施例的用於針對自動化腳本的對記錄的用戶動作的自動分類調整的系統的示意圖。系統10可以包括用於使用戶能夠與呈現的用戶接口交互的輸出設備12,諸如顯示屏或其他合適的輸出設備。輸出設備12可以向用戶呈現用戶動作的結果。腳本生成應用可以經由輸出設備12向用戶呈現腳本、腳本選項或者運行腳本的結果。
[0015]系統10可以包括輸入設備14。例如,輸入設備14可以包括一個或多個用戶可操作的輸入設備,諸如鍵盤、小鍵盤、指示設備、按鈕或其他合適的輸入設備。操作輸入設備14的用戶可以將指令輸入到腳本生成應用,並且可以執行導致被腳本生成應用記錄的動作或事件的操作。
[0016]系統10包括處理器16。處理器16可以包括多個交互或相互通信的單獨處理器。處理器16可以被編程為運行腳本生成應用。另外,處理器16可以被編程為運行一個或多個附加應用。例如,處理器16可以被編程為運行用於經由網絡20與遠程站點交互的應用。
[0017]處理器16可以與數據存儲設備18交互。存儲設備18可以包括一個或多個固定或可移除的數據存儲設備。數據存儲設備18可以存儲用於在處理器16上運行一個或多個應用的編程的指令。數據存儲設備18可以由腳本生成應用用於存儲記錄的動作和生成的腳本。
[0018]系統10可以經由網絡20與一個或多個遠程設備、站點、系統、伺服器或處理器通信或交互。網絡20可以包括任何類型的有線或無線通信網絡,其使兩個或更多系統能夠通信或交互。例如,網絡20可以表示網際網路。[0019]可以參照包括下拉項目的菜單的示例來說明本發明的實施例的原理。圖2示出了與用戶接口的用戶交互的示例,其中可以向所述用戶交互應用根據本發明的實施例的針對自動化腳本的對記錄的用戶動作的自動分類調整。
[0020]根據本發明的實施例,記錄用戶發起的事件。(例如,與此相對地,簡單地記錄每個光標或滑鼠移動,而無論是否生成事件)。
[0021]在圖2中,用戶控制的光標22與菜單交互。設計示出的菜單使得當光標懸停在菜單項目上(例如,比預定閾值時間更長地保持定位在該菜單項目上)時,選擇並醒目顯示該菜單項目。如果下拉菜單與所選菜單項目相關聯,則下拉菜單出現在所選菜單項目下方。
[0022]在示出的用戶交互中,記錄以下用戶動作和事件:
(A)導航到包括「Departments」菜單項目的web頁面。
[0023](B)移動光標至「Departments」菜單項目並懸停在其上。下拉菜單出現在「Departments」菜單項目下方。
[0024](C)移動光標至下拉菜單的「Books」菜單項目並懸停在其上。第二下拉菜單出現在「Books」菜單項目下方。
[0025](D)移動光標至第一下拉菜單的「Movies」菜單項目並懸停在其上。第二下拉菜單消失。
[0026](E)移動光標至第一下拉菜單的「Books」菜單項目並懸停在其上。第二下拉菜單重新出現在「Books」菜單項目下方。
[0027](F)移動光標至第二下拉菜單的「eBooks」菜單項目並懸停在其上。
[0028](G)移動光標至第二下拉菜單的「Textbooks」菜單項目並點擊(因此選擇)該菜單項目。
[0029]這一系列動作的結果是(在動作G中執行的)點擊「Textbooks」菜單項目。人類觀察者可以注意到動作A、B和E(或C)的執行對於動作G的成功執行是必要的。沒有動作A、B和E的首先執行,「Textbooks」菜單項目將不是可見的並且不能執行動作G。另一方面,動作C (當執行了 E時)、D和F的執行與動作G的正確執行是不相關的。在該情況中,對記錄的動作的分類可以包括關於每個記錄的動作在取得結果(例如,點擊「Textbooks」菜單項目)中的相關性來對其分類。
[0030]腳本生成應用可以首先根據預定準則來對任何動作進行分類。例如,此類準則可以確定僅涉及光標移動的任何動作被首先分類為不相關。因此,腳本生成應用可以首先僅將引起用戶接口屏幕改變(例如,導航到web站點)或者涉及屏幕控制項選擇(例如,點擊菜單項目)的那些動作分類為相關。根據此類準則,腳本生成應用可以首先僅將記錄的動作A和G分類為相關。因此,初始腳本可以僅包括記錄的動作A和G。
[0031]因為缺少記錄的動作G的成功執行所需的「Textbooks」菜單項目,所以運行初始腳本的嘗試失敗。根據本發明的實施例的對用戶動作的自動分類包括對記錄的動作自動地重新分類從而生成可以成功執行的自動化腳本。
[0032]圖3示出了向基於圖2中示出的用戶交互的自動化腳本應用根據本發明的實施例的對記錄的用戶動作的自動分類調整。
[0033]在階段I中,(初始)腳本僅包括記錄的動作A和G (如圍繞A和G的邊框所指示的)。階段I中的腳本的執行導致記錄的動作A的成功執行,但是導致如上文所描述的執行記錄的動作G的失敗(由G上方的符號X來指示)。例如,記錄的動作G的執行失敗可以通過相關屏幕控制項的缺少來標識,在該情況中,相關屏幕控制項為菜單項目「Textbooks」。典型地,一注意到屏幕控制項的缺少,就認為嘗試的動作已經失敗。因此,被測試的用戶接口的狀態可以保持為好像在記錄的動作A執行之後一樣。
[0034]根據本發明的實施例的對用戶動作的自動分類從以下處理開始:將之前已分類為不相關的一個或多個記錄的動作重新分類為相關。可以繼續該處理,直到記錄的動作A和G成功執行為止。
[0035]根據本發明的實施例,從失敗的動作(記錄的動作G)開始,腳本生成應用開始對之前被分類為不相關的記錄的動作重新分類以實現該結果。因此,其可以嘗試執行之前分類為不相關並因此從初始腳本中省略的記錄的動作。因此,在階段II到V中,腳本生成應用嘗試依次分別執行記錄的動作F、E、D和C中的每一個。記錄的動作F、E、D和C中的每一個均失敗,因為那些記錄的動作的成功執行依賴於下拉菜單的呈現,而該下拉菜單在記錄的動作A之前的成功執行之後仍未呈現(A之前的成功執行用虛線邊框指示)。
[0036]在階段VI中,腳本生成應用成功地執行記錄的動作B。記錄的動作B的成功執行使得第一下拉菜單出現在「Departments」菜單項目下方。
[0037]如果腳本生成應用未能成功執行任何之前省略的記錄的動作,則腳本生成應用可以放棄對動作重新分類的處理。在該情況中,執行的失敗可以被假設為是由與記錄的動作的誤分類不同的原因導致的。
[0038]一旦腳本生成應用已經成功地執行之前省略的記錄的動作,即該示例中的記錄的動作B,腳本生成應用就嘗試完成腳本的執行。因此,在階段VII中,在記錄的動作A和B的成功執行之後,腳本生成應用嘗試執行原始失敗的動作,即記錄的動作G。在該情況中,動作G的執行也失敗,因為包含菜單項目「Textbooks」的第二下拉菜單未呈現。
[0039]然後,腳本生成應用重複嘗試執行之前省略的記錄的動作的過程,直到找到成功執行的另一之前省略的記錄的動作為止。然後,再次嘗試原始失敗的動作的執行。迭代地重複該過程,直到原始失敗的動作成功執行為止。
[0040]在圖3的示例中,在階段VIII中,腳本生成應用嘗試執行之前省略的記錄的動作F。執行記錄的動作F的嘗試失敗,因為包含菜單項目「eBooks」的第二下拉菜單未呈現。
[0041]在階段IX中,腳本生成應用成功執行記錄的動作E。記錄的動作E的成功執行使得包含菜單項目「Textbooks」的第二下拉菜單出現。
[0042]因此,在階段X中,腳本生成應用成功執行原始失敗的動作,即記錄的動作G。因此,可以將記錄的動作B和E重新分類為相關,並且由階段XI指示的修訂後的腳本可以替換階段I中指示的初始腳本。然後,修訂後的腳本可以用於按順序地自動執行記錄的動作A、B、E和G。例如,可以重複地或者並發地運行修訂後的腳本作為用於測試例如基於網絡的應用的應用的過程的一部分。
[0043]圖2和3中示出的示例具體提到光標或滑鼠的移動,並且更具體地,提到具有下拉菜單的菜單。滑鼠的移動尤其可能是模稜兩可的並且有問題的,並因此在它們相關性的分類方面易於誤分類。因此,根據本發明的實施例的針對自動化腳本的對用戶動作的自動分類可以特別適用於此類滑鼠或光標移動。
[0044]然而,自動分類在應用於其他類型的記錄的用戶動作時也可以是有益的。例如,使用滑鼠或鍵盤點擊或選擇編輯框或類似的屏幕控制項或對象經常僅使得對象接收焦點。因此,此類動作可能從初始自動生成的腳本中省略。然而,在一些情況中,諸如當要編輯編輯框的內容時,接收焦點對於後續鍵盤動作的成功執行可能是必要的。類似地,在組合指示設備和鍵盤的使用的交互中(例如,當用滑鼠指示而按鍵盤上的鍵來代替點擊滑鼠按鈕時),接收焦點可能是必要的。
[0045]儘管如圖3中所示的自動分類涉及以相反的時間順序測試之前省略的記錄的動作(首先測試最後記錄的動作的執行,然後測試較早記錄的較早動作),但是以任何順序測試省略的動作都可以類似地產生記錄的動作的序列,當執行該記錄的動作的序列時,實現期望的結果(在圖3的示例中為點擊「Textbooks」菜單項目)。
[0046]例如,在圖2和3的示例中,如果階段IX包括記錄的動作C代替記錄的動作E的執行,則記錄的動作C也將被成功執行。後續階段可以確定記錄的動作E將取代記錄的動作C成功執行。在該情況中,可以給出優先級來在腳本中包括較晚記錄的動作E而非較早記錄的動作C。
[0047]儘管圖3的示例涉及從生成的腳本包括或排除記錄的動作(例如,分類為相關或不相關),但是根據本發明的實施例的動作分類也可以應用於對記錄的用戶動作的其他分類。例如,對記錄的用戶動作的分類可以理解為包括對模稜兩可的記錄的動作的解釋。
[0048]具體地,根據本發明的實施例的動作分類可以應用於按照動作的解釋對動作分類。在一些情況中,單個記錄的動作可能遇到各種可能的解釋。例如,對諸如單選按鈕或複選框的控制項的選擇可以按照絕對結果(選擇選項A或選項B,勾選框)或者按照相對結果(在選項A和選項B之間切換,改變框的狀態)來理解。因此,根據本發明的實施例的動作分類可以應用於選擇記錄的動作的解釋。例如,初始生成的腳本可以包括根據一種可能解釋來解釋的用戶動作。如果腳本的記錄的動作的執行失敗,則可以應用根據本發明的實施例的動作分類。動作分類的應用可以自動測試一個或多個記錄的動作的替代解釋從而實現腳本的成功執行。
[0049]根據本發明的實施例的自動動作分類可以要求用戶確認對所生成的腳本的改變。例如,腳本生成應用可以顯示腳本的自動生成的修訂,並且可以在使用或保存修訂後的腳本之前等待人類用戶的確認。然後,人類用戶可以決定接受修訂,或者恢復腳本的之前生成的版本。
[0050]圖4是根據本發明的實施例的針對自動化腳本的對記錄的用戶動作的自動分類調整的方法的流程圖。自動分類方法30包括對記錄的動作重新分類以包括在腳本中從而使腳本能夠成功運行。例如,自動分類方法30可以由運行處理器的自動腳本生成應用來執行。
[0051]應當理解,如圖4中所示的將自動分類方法30劃分成分立的組成步驟僅僅是為了描述的清楚和為了方便。可以將自動分類方法30劃分成具有等同結果的分立步驟的一個或多個可替代的集合。方法成為成分立步驟的所有此類可替代的劃分應當被理解為落入本發明的實施例的範圍內。
[0052]除非另外聲明,已經選擇圖4中示出的自動分類方法30的組成步驟的順序僅僅是為了描述的清楚和為了方便。可以在具有等同結果的情況下以可替代的順序或者並發地執行自動分類方法30的步驟。自動分類方法30的步驟的所有此類可替代的排序應當被理解為落入本發明的實施例的範圍內。
[0053]可以記錄一個或多個用戶動作(步驟32)。用戶動作可以記錄為與例如在遠程系統或伺服器上運行的遠程或基於網絡的應用的圖形用戶接口或其他用戶接口的用戶交互。
[0054]例如,自動腳本生成應用可以包括其中記錄用戶動作的記錄模式。用戶動作可以被記錄為事件,或者可替代地記錄為任何動作(例如,滑鼠、鍵盤或光標的移動),通過網絡來傳輸這些事件或動作。
[0055]可替代地記錄用戶動作的是,可以提供之前存儲或模擬的記錄的動作的文件或集
口 ο
[0056]可以基於記錄的動作來彙編初始自動化腳本(步驟34)。自動化腳本可以設計為由諸如自動測試應用這樣的適當應用使用來自動模擬用戶的動作。初始自動化腳本可以基於每個記錄的動作的初始分類。例如,動作的分類可以包括分類為相關(要包括在腳本中)或者不相關(要從腳本中省略)。作為另一示例,對記錄的動作的分類可以與模稜兩可的動作的解釋相關(例如,屏幕控制項的狀態的絕對或相對改變)。
[0057]記錄的動作的初始分類可以基於預定準則。例如,此類預定準則可以包括用戶選擇的或者自動選擇的被自動分配給每個記錄的動作的重要性的默認閾值水平,或者用戶選擇的或者自動選擇的記錄的動作的默認解釋。
[0058]然後可以例如通過自動腳本生成應用運行當前腳本(在該情況中為初始腳本)的全部或部分(步驟36)。例如,可以順序地執行包括在腳本中的每個或多個動作。運行腳本可以因此嘗試模擬記錄的用戶交互。
[0059]在運行當前腳本中,執行的動作之一可能失敗(步驟38)。例如,作為失敗的動作的執行的部分,要操縱的屏幕控制項可能未呈現或者可能未處於預期狀態。例如,如果動作包括從下拉菜單選擇項目,則該下拉菜單可能被隱藏。如果動作包括勾選複選框或者選擇單選按鈕,則該複選框可能已經被勾選或者單選按鈕可能已經被選擇。
[0060]如果整個當前腳本運行而沒有任何失敗的動作,則可以接受當前腳本(步驟40)。例如,可以保存當前腳本以供自動測試應用使用。
[0061]在當前腳本的動作執行失敗時,可以通過改變對記錄的動作之一的分類來對該記錄的動作重新分類,該記錄的動作為失敗的動作或者在失敗的動作之前記錄的動作(步驟42)。例如,可以將之前已分類為不相關(並因此從當前腳本中省略)的在先記錄的動作分類為相關。(典型地,首先重新分類的在先記錄的動作是在失敗的動作之前最後記錄的之前省略的動作)。作為另一示例,如果已經將失敗的動作分類為引起對屏幕控制項的絕對改變,則可以將失敗的動作重新分類為引起相對改變。
[0062]然後可以做出執行重新分類後的動作的嘗試(步驟44)。(在一些情況中,例如在之前的執行失敗已經修改了用戶接口的情況中,可能需要重複一個或多個之前的動作的執行。典型地,例如通過注意到缺少要操作的適當屏幕控制項而在執行可以導致此類修改的任何實際操作之前注意到執行失敗)。
[0063]重新分類後的動作可能執行失敗(步驟46)。可能保持可用於重新分類的另一動作(步驟47)。例如,在記錄的動作中可能存在一個或多個這樣的記錄的動作,該一個或多個記錄的動作在重新分類後仍未被測試,或者針對該一個或多個記錄的動作保持未嘗試過的重新分類選項。在該情況中,可以選擇剩餘的記錄的動作之一(例如,緊接在最後重新分類的動作之前記錄的動作)來重新分類(步驟48)。可替代地,可以向所選動作應用不同的重新分類。
[0064]然後嘗試新重新分類的動作的執行(返回到步驟44)。繼續選擇另一記錄的動作來重新分類和測試重新分類後的動作的該過程(重複步驟46-48和步驟44),直到成功執行重新分類後的動作為止,或者直到不再剩餘可用於重新分類的記錄的動作為止。
[0065]如果已經對所有記錄的動作嘗試了所有可能的重新分類,並且沒有重新分類後的動作成功執行,則可以認為重新分類未能糾正腳本(步驟49)。在該情況中,可以假設腳本執行的失敗已經由於通過記錄的動作的重新分類不可糾正的原因而發生。可以向腳本生成應用提供用於自動糾正腳本或者用於確定腳本失敗的原因的一種或多種其他技術。因此,在重新分類未能導致成功運行的腳本時,腳本生成應用可以應用一種或多種其他技術以便糾正或者診斷腳本。
[0066]如果重新分類後的動作成功執行(步驟46),則可以將重新分類後的動作(至少試探性地)包括在修訂後的腳本中(步驟50)。修訂後的腳本然後可以替換當前腳本,並且可以運行當前腳本或者其部分(返回到步驟36)。例如,可以再次做出嘗試來執行之前已失敗的腳本的動作(之前迭代的步驟28)。繼續對動作重新分類和修訂腳本的過程,直到腳本的所有動作成功執行並且接受修訂後的腳本為止(步驟40)。可替代地,繼續該過程,直到確定對記錄的動作的進一步重新分類不能產生可以完整執行的腳本為止(步驟49)。
[0067]根據本發明的實施例的針對自動化腳本的對用戶動作的自動分類可以用軟體、硬體或其組合的形式來實現。
[0068]可以用系統、方法或電腦程式產品的形式來體現本發明的方面。類似地,本發明的方面可以體現為硬體、軟體或二者的組合。本發明的方面可以用體現在一個或多個非暫態計算機可讀介質(或多個介質)上的計算機可讀程序代碼的形式體現為在其上保存的電腦程式產品。此類非暫態計算機可讀介質可以包括當執行時使得處理器執行根據本發明的實施例的方法步驟的指令。在本發明的一些實施例中,存儲在計算機可讀介質上的指令可以為安裝的應用的形式和安裝包的形式。
[0069]例如,計算機可讀介質可以是非暫態計算機可讀存儲介質。非暫態計算機可讀存儲介質例如可以是電子的、光學的、磁的、電磁的、紅外的或半導體的系統、裝置或設備或者它們的任意組合。
[0070]可以用任何適當的程式語言來編寫電腦程式代碼。程序代碼可以在單個計算機上或者在多個計算機上執行。
[0071]上文參照描繪根據本發明的實施例的方法、系統和電腦程式產品的流程圖和/或框圖描述了本發明的方面。
【權利要求】
1.一種用於自動化腳本的自動修訂的方法,所述方法包括: 獲得至少一個分類後的記錄的動作的序列和自動化腳本,自動化腳本包括至少一個分類後的記錄的動作的所述序列的子序列,其中,根據每個動作的分類將該動作包括在自動化腳本中; 執行自動化腳本的至少一部分; 在自動化腳本的所述至少一部分中的動作的執行失敗時,對至少一個分類後的記錄的動作的所述序列中的動作重新分類; 驗證執行失敗的動作在重新分類之後成功執行;以及 修訂自動化腳本。
2.如權利要求1所述的方法,其迭代地執行。
3.如權利要求1所述的方法,其中,對所述至少一個分類後的記錄的動作中的動作的分類包括:將該動作分類為對於取得結果而言相關或不相關,以及如果該動作被分類為相關則將該動作包括在自動化腳本中。
4.如權利要求1所述的方法,其中,分類包括對所述至少一個分類後的記錄的動作中的動作的解釋。
5.如權利要求1所述的方法,其中,對動作的重新分類包括迭代地執行: 對所述至少一個分類後的記錄的動作中的當前所選動作重新分類; 嘗試執行當前所選動作;以及 如果所嘗試的執行失敗,則將所述至少一個分類後的記錄的動作中的另一動作選擇為當前所選動作並重複以上步驟。
6.如權利要求5所述的方法,其中,當前所選動作是以相反的時間順序從所述至少一個分類後的記錄的動作中選擇的。
7.如權利要求1所述的方法,包括將修訂後的自動化腳本用於自動化的應用測試。
8.一種包含指令的非暫態計算機可讀介質,當執行所述指令時使得處理器執行以下步驟: 獲得至少一個分類後的記錄的動作的序列和自動化腳本,自動化腳本包括至少一個分類後的記錄的動作的所述序列的子序列,其中,根據每個動作的分類將該動作包括在自動化腳本中; 執行自動化腳本的至少一部分; 當自動化腳本的所述至少一部分中的動作的執行失敗時,對至少一個分類後的記錄的動作的所述序列中的動作重新分類; 驗證執行失敗的動作在重新分類之後成功執行;以及 修訂自動化腳本。
9.如權利要求8所述的非暫態計算機可讀介質,其中,迭代地執行步驟。
10.如權利要求9所述的非暫態計算機可讀介質,其中,對所述至少一個分類後的記錄的動作中的動作的分類包括:將該動作分類為對於取得結果而言相關或不相關,以及如果該動作被分類為相關則將該動作包括在自動化腳本中。
11.如權利要求8所述的非暫態計算機可讀介質,其中,分類包括對所述至少一個分類後的記錄的動作中的動作進行解釋。
12.如權利要求8所述的非暫態計算機可讀介質,其中,對動作的重新分類包括迭代地執行: 對所述至少一個分類後的記錄的動作中的當前所選動作重新分類; 嘗試執行當前所選動作;以及 如果所嘗試的執行失敗,則將所述至少一個分類後的記錄的動作中的另一動作選擇為當前所選動作並重複以上步驟。
13.如權利要求12所述的非暫態計算機可讀介質,其中,當前所選動作是以相反的時間順序從所述至少一個分類後的記錄的動作中選擇的。
14.如權利要求8所述的非暫態計算機可讀介質,包括將修訂後的自動化腳本用於自動化的應用測試。
15.一種數據處理系統,包括: 與計算機可讀介質通信的處理單元,其中,計算機可讀介質包含指令集,其中,處理單元被設計為執行指令集以: 獲得至少 一個分類後的記錄的動作的序列和自動化腳本,自動化腳本包括至少一個分類後的記錄的動作的所述序列的子序列,其中,根據每個動作的分類將該動作包括在自動化腳本中; 執行自動化腳本的至少一部分; 當自動化腳本的所述至少一部分中的動作的執行失敗時,對至少一個分類後的記錄的動作的所述序列中的動作重新分類; 驗證執行失敗的動作在重新分類之後成功執行;以及 修訂自動化腳本。
16.如權利要求15所述的系統,包括網絡連接。
17.如權利要求16所述的系統,其中,所述至少一個分類後的記錄的動作包括用戶與遠程用戶接口的交互。
18.如權利要求16所述的系統,包括自動測試系統。
【文檔編號】G06F17/26GK103814373SQ201180072070
【公開日】2014年5月21日 申請日期:2011年5月3日 優先權日:2011年5月3日
【發明者】Y.霍羅維茲, D.施瓦茨, M.E.克勞斯, S.蒙扎 申請人:惠普發展公司,有限責任合夥企業