TWI238316B - Distributed automated software graphical user interface (GUI) testing - Google Patents

Distributed automated software graphical user interface (GUI) testing Download PDF

Info

Publication number
TWI238316B
TWI238316B TW091134350A TW91134350A TWI238316B TW I238316 B TWI238316 B TW I238316B TW 091134350 A TW091134350 A TW 091134350A TW 91134350 A TW91134350 A TW 91134350A TW I238316 B TWI238316 B TW I238316B
Authority
TW
Taiwan
Prior art keywords
test
software
computer
execution
instance
Prior art date
Application number
TW091134350A
Other languages
English (en)
Other versions
TW200300881A (en
Inventor
John Mathews
Original Assignee
I2 Technologies Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by I2 Technologies Inc filed Critical I2 Technologies Inc
Publication of TW200300881A publication Critical patent/TW200300881A/zh
Application granted granted Critical
Publication of TWI238316B publication Critical patent/TWI238316B/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3688Test management for test execution, e.g. scheduling of test suites

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)

Description

1238316 玖、發明說明 1 〇 (發明说明應叙明:發明所屬之技術領域、先前技術、内容、實施方式及圖式簡單說明) 【發明所屬之技術領域】 feg的技術領| 本發明係大致有關軟體圖形使用者介面(GUI)測試技術 5 ’且更確切來說,本發明係有關分散式自動化軟體GUI測 試技術。 L先前3 發明的技術背景 GUI是大多數軟體應用程式的重要部分。gui將常為 10使用者可借用來對GUI相關之軟體應用程式提供輸入或從 軟體應用程式接收輸出的原則或唯一機制。因此很重要的 疋,G UI能正確地且有效地爲相關連的軟體應用程式進行 成功的運作,進而在大多數的狀況下進行完整的Gu丨規則 測試程序。然而任何軟體的測試過程都是相當耗時的,對 15 GUI測試程序來說尤其是如此。必須要在所有的潛在平台 上測試GU卜其通常包括多個客戶-伺服器結合體。Gu丨測 試程序亦經常需要測試人員輸入多個命令來模擬滑鼠點選 動作、鍵盤輸入動作、或者需要使用者的其他實際運作, 進而因此驗證GUI是否能產生所期望的結果。這不僅是相 2〇當耗時且浪費人力的,也容易受到人類失誤的影響。執行 GUI測試程序所包括的困難將會使品質受到犧牲,因為相 關連的軟體應用程式容易受限於相當積極的重置排程表。 上述與其他缺點將因此使先前的軟體Gu丨測試程序無法滿 足許多需求。 1238316 玖、發明說明 【發^明内容:】 根據本發明,將可減少或消彌先前軟體G UI測絮浐序 相關的問題與缺點。 5 在本發明的一實施例中,一種用於分散式自動化軟體 圖形使用者介面(GU丨)測試技術的方法包括維持一集中化則 試佇列,其儲存有欲由多個分散式測試執行電腦執行的多 個軟體GUI測試實例(instance)。各個分散式測試執行電腦 包括一客戶平台,且連接至一個或數個伺服器平台。該客 10戶平台與伺服器平台將共同地提供可執行該等軟體测 試實例的多客戶_伺服器結合體。料個分散式測試執行 電腦來說,將接收來自一特定分散式測試執行電腦之針^ 下一項軟體CUI測試實例的一項請求,以回應於該特定分 散式測試執行電腦所完成之先前軟體CUI測試實例的動作 15 ,亚且爲了進行回應,將從該測試佇列檢索出一軟體〇〇丨 測試實例。將針對各個分散式測試執行電腦,把所檢索出 的軟體GU!測試實例傳送到該等特定分散式測試執行電腦 以利用由特定分散式測試執行電腦所支援的一測試部件來 對一特定客戶-伺服器結合體執行。該測試部件將進行自動 20化軟體GUI測試程4,並且針對該項測試程序產生測試社 果。將接收來自該特定分散式測試執行電腦之針對該軟體 GUI測試實例的_項測試結果,以回應於該測試實例的執 行動作’且儲存該結果以向一個或數個使用者提出報告。 本發明的特定實施例將可提供一個或數個技術上的優 1238316 10 15 20 玖、發明說明 點。例如,在本發明的某些實施例一 〇 集中化測試伺服 器弓I擎將能有效地管理排程動作、分散式執行、並且報告 自動化軟體GUI賴程序的結果。該測試舰"擎將允 許測試者能有效地排程測試以便進行執行、命令遠程或其 他分散式測試執行電腦上的測試執行動作、從測試執行電 腦匯編出測試結果,並且自動地實質上即時地發布測古式結 果1試伺服器引擎可支援對大量的分散式測試執行= 進仃排列,且可在其職程序網路巾料高度使用率。藉 著在平行、分散式測試執行電腦之_分職執行動作,曰 ⑽測試程序的循環週期將能相當程度地降低。舉一不具 限制性的實例來說,在一項企劃中,包含本發明多個方面 的-測試伺服器引擎已經使用於15料散式測試執行電 腦上來每天執行大約_到Ί_項賴、在各個測試執 行電腦上達成大約9Q%的使科,且使⑶丨賴程序循環 週/版大、力100天降低為大約6天。此外,某些實施例可 促進自動化復原測試程序’且在縮短的軟體重置週期中較 ^地支k GU丨測試程序。某些實施例可因此針對確保品質 提升來提供較完整的賴㈣,而仍允許符合積極的上市 時效陶dmarket)限制。某些實施例亦允許軟體產品能 較快速地在新的平台上得到認證。 軚準分散式測試執行方法將使用靜態測試排程程序。 在靜態排程程序中,在測試程序週期的開始,欲執行的所 有測4將被分散在可得的電腦資源之間,且隨後各個電腦 f处理所刀派到的測試。靜態排程程序往往會導致無效率
7 玖、發明說明 的問題,因為根據測試性質與電腦間處理功率的變化,測 試執行時間的變化性將使一電腦比其他電腦較早完成其所 分派的測試,因而當其他電腦超載時,該電腦便變成閒置 的。相對地,本發明的某些實施例將提供動態性工作排程 程序,其將允許在執行軟體Gu丨測試程序的同時,能完全 _用具有不同效能與速度的分散式測試執行電腦,而當 完成先前的測試時,各個測試執行電腦實質上可立即地從 一集中化測試仔列開始自我排程另-項測試。此動作可大 大地降低完成GU丨測試程序循環·的人力與時間、允許 更快速地重置相關的軟體產品且潜在地增加收益。 本發明的某些實施例可提供實質上即時結果報告功能 。在某些實施例中’當在分散式測試執行電腦上完成軟體 GUI測試實例時,該等測試的結果將自動地且實質上立即 地:一集中化資料庫報告測試結果。當報告一項新測試結 果時,測試伺服器引擎可自動地使包括該項新測試結果的 彳、"’。果.调頁產生’進而可由感興趣的使用者利用網 路舰^來進行存取該網頁。包括此特徵的實施例將因此 能提供實質上即時漸增累積的測試結果狀態。某些實施例 亦將允^使用者月匕藉著選出一個或數個測試來排程測試以 進行後續的執行,而其測試結果係反映在一測試結果網頁 中。 在本1月的某些貫施例中,與測試伺服器引擎人作而 在各個分散式測試執行電腦上運作的一客戶控制器將自動 地於個或數個適當時機在其分散式測試執行電腦上安裝 1238316 玖、發明說明 5 10 15 一項目前軟體架構,以協助確保其贼執行電腦正對目前 可料最新軟體架構進行測試動作。在某些實施例中’各 個各戶控制器可在—個或數個適當時機(例如一天2次)對 ▲其測試執行電腦進行_項重新開機動作,以協助確保該測 ’執订電較不會因為作業系統的不穩定性而"當機⑺叫 叩Γ。此動作能協助避免整個測試系統同時-起發生"效能 減退㈣ng down)"的狀況。如果某個分散式測試執行電腦 剌問題的話,將僅有一項單一測試會受到影響。在某些 貫施例中,將設定各個測試執行電腦的客戶控制器以自動 地開啟軟體程式碼’因而當測試執行電腦啟動時能建立盘 測試饲服器引擎的通訊。上述該等一個或數個特徵將可使 各個測試執行電腦有效運作、使一項測試執行開啟、自動 地運作,且在延長期間不需要人力介入,藉此將可降低軟 體GU丨測試程序的費用成本。 結合-個或多個上述或其他技術優點的系統與方法將 相當適用於現代的軟體GUI測試環境中。對熟知技蓺者 來說’可從以下的圖式、發明說明與申請專利範圍來更清 楚地了解本發明的其他技術上優點。 圖式的簡要說明 以 為了更完整地了解本發明及其特徵與優點,將參昭 下說明與附錄的圖式來進行說明,其中: 第1圖展示-種用於分散式自動化軟體圖形使用者介 面(GUI)測試技術的例示系統; 第2圖展示一種例示測試結果網頁;以及 20 1238316 玖、發明說明 第3圖展示一種用於分散式自動化軟體圖形使用者介 面(GUI)測試技術的例示方法。 C實施方式;3 較佳實施例的詳細說明 5 第1圖展示一種用於分散式自動化軟體圖形使用者介 面(GUI)測試技術的例示系統2〇。系統2〇包括伺服器系統 22’其包括測試伺服器引擎24、網路伺服器26、測試佇 列28、以及測試結果資料庫3〇。測試伺服器引擎將提 鲁 供分散式自動化軟體GUI測試程序的某些集中化特徵,且 10在某些實施例中,將有效地管理排程、分散式執行、以及 ~ 分散式自動化軟體GU丨測試程序的實質即時結果報告。大 致上來說,測試伺服器引擎24將接收來自多個分散式測 试執行電腦之針對測試實例的請求、從測試佇列28檢索 所请求的測試實例、遞送經檢索的測試實例以在多個分散 15式測試執行電腦平行地執行、接收來自該等多個分散式測 试執行電腦之已執行測試實例的測試結果,並且儲存所接 · 收到的測試結果於測試結果資料庫30中以向一個或數個 使用者報告。 在一貫施例中,伺服器系統22係耦合至多個分散式客 二4 3 2其中各個系統係依序地搞合至一個或數個祠服 器平a 3 4 〇 °° ° 。客戶系統32實體上為分散式的,彼此位於遠 離於伺服益系統22的實體不同位置,或者呈邏輯上分散 式的與其他客戶系統32與伺服器系統22位於大約相同 的位置。各傰旁上 各戶系統32係利用一個或數個電腦匯流排 10 1238316 玖、發明說明 、區域網路(LAN)、都會區域網路(MAN)、廣域網路(Wan) 例如網際網路的全球電腦網路、或任何其他有線、光學 、無線或其他鏈結來耦合至伺服器系統22。相似地,各個 伺服态系統34係利用一個或數個電腦匯流排、、 5 MAN、WAN、例如網際網路的全球電腦網路、或任何其他 有線、光學、無線或其他鏈結來耦合至一個或數個客戶系 統32。 各戶系統3 2將如測試執行電腦般運作以執行從測試伺 服器引擎24接收的軟體GU丨測試實例,並且根據系統2〇 1〇的運作向測試伺服器引擎24報告測試結果。在一實施例 中,在各個客戶系統32上運作的一客戶控制器36將提供 一控制層,其針對來自測試伺服器引擎24接收、執行、 監看並且送回自動化軟體Gu丨測試實例的測試結果。各個 客戶控制器36亦可定期性地在其客戶系統32上安裝目前 15軟體架構、定期地重新啟動其客戶系統32,並且當其客戶 系統32啟動時與測試伺服器引擎24建立通訊,如下所述 地。 各個各戶糸統3 2將利用一個不同客戶平台來運作,咬 者二個或數個客戶系統32可利用相同的客戶平台來運作 20 。例如,軟體GUI測試程序的適當客戶平台包括但不限於 WINDOWS NT > WINDOWS 2000、WINDOWS 98 WINDOWS ME、WINDOWS XP、UNIX、以及 DOS。相 似地’伺服裔糸統3 4可各支援一個不同的飼服器平台, 或者二個或數個伺服器系統34可支援相同的伺服器平台 1238316 玖、發明說明 。各戶系統32以及相連的伺服器系統34將較佳地被選出 以提供遍及所有適當客戶-伺服器結合體的完整範圍測試程 序情境,以協助確保完整的軟體GU|測試程序。例如,所 有的GUI運作可能不會均等地在所有客戶_伺服器結合體 5上進行。知道在特定客戶_伺服器環境中有哪些特定G U丨 運作是有問題將是有用的,因為能特別地陳述出該等問題 〇 在某些實施例中,客戶系統32可各使用專業的測試軟 · 體來自動地執行從測試伺服器引擎24接收到的軟體Gu丨 10測試實例,並且在相關連客戶控制器36的控制之下產生 ·
已執行測試實例的測試結果。舉例來說但不具限制性,該 種測試軟體包括由MERC(JRY CORPORATION出品❸WINRUN隐軟體。雖然主要說 明的是WINRUNNER軟體,亦可使用可以對自動化軟體 15 GU測試程序提供適當環境的任何軟體。w|nrun瞧程 式碼將藉著允許產生訂製化程 < 來控制正進行贼軟冑 φ GUI中的資料往來流動來使軟體G(J|測試程序能自動化, 換言之,以便模擬與軟體GU|使用者的互動。例如,軟體 GU丨測試可模擬鍵盤的鍵擊動作、滑鼠點選動作、或對 2〇 GUI提供輸入的其他方法以從GU|讀取出相關連的資料, 並且將處理該資料的結果送回給⑶卜在_實施例中,軟 體GU ;則試程式碼係以W|_NNER或者以目前所使用 的其他測試軟體支援的一種測試描述語言程式來撰寫。客 戶控制器36將讀取由測試軟體產生之一項已執行測試實 12 I2383i6 10 15 20 玖、發明說明 例的測試結果、適當地 >夂4 田也私式化測試結果,並且將測試結果 送回給測試伺服器引擎24。 標準分散式測試執行方法將使用靜態測試排程程序。 在靜悲排㈣序中’在測試程序週期的開始,欲執行的所 有測試將被分餘可得的電财源之間,且隨後各個電腦 將處理所分派到的測試,直到其測試實例完成為止。靜能 排程程序往往會導致無效率的問題,因為根據測試性質: 電腦間處理功率的變化,測試執行時間的變化性將使一電 腦比其他電腦較早完成其所分派的測試,因而當其他電腦 起載時,該電腦便必須變成閒置的。 相對地,本發明的某些實施例將提供動態性工作排程 程序,其中各個客戶系統32將能夠在客戶系統32為閒置 的任何時候要求一項測試實例,較佳地是在完成一項先前 測試實例之後的即刻。例如,在一較佳實施例中,在客戶 系統32完成—項測試實例且對相關連客戶控制器36報生 該測試實例的測試結果之後,客戶系統32的客戶控制器 %將立即向測試舰器引擎24請求另—項測試實例。爲 了回應於來自客戶系統32 項請求,測試飼服器引擎 2 4將對提出要求的客戶系統3 2分派測試件列2 8中的下一 個測試實例。此動作將允許賴實例實f上從測試伺服器 引擎24持續流往客戶純32,並且能實質上在整個測試 程序循環中持續地使用客戶系統32 ’即使是在測試本質與 客戶系統32效能不同的狀況下。測試伺服器引擎24可支 援對任何適當數量的客戶純32進行㈣。藉著在平行
13 1238316 玫、發明說明 10 15 20
、分散式測試執行電腦之間劃分測試執行動作,測試程序 的循環週期可以相當程度崎低。舉—不具㈣性的實例 來說’在-項企劃中,包含本發明多個方面的_測試飼服 器引擎已經使用於15個分散式測試執行電腦上來每天執 行大約500到1〇〇〇項測試、在各個測試執行電腦上達成 大約90%的使用率,且使⑶丨賴程序循環週期從大約 100天降低為大約6天。降低整體測試程序時間的功能將 可在較短的時間巾進行較多的測試實例、潛在地增加測試 動作的正確性與完整性,而同時仍可允許符合積極的上市 時效(time-t0-market)限制。此外,藉著降低完成一測試程 序週期所而的人力與時間,本發明的實施例將能有效地降 低G U丨測試程序的費用成本。
在某些實施例中,各個客戶控制器36可自動地安袭 前軟體架構在其客戶系統32上以確保其客戶线Μ正 目前最新的可得軟體架構進行賴。此動作可定期地進 或可適田地進行。客戶控制器36可自動地週期地或依 其2方式來開啟其客戶系統32。自動開啟的動作可協助 保各户系統32較不會因為作業系統的不穩定性而"當 如叩叩)__。在一實施例中,當客戶系統32啟動時,客 匕制為36亦可自動地建立與測試飼服器引擎的通訊 此動作將確保—各戶系統32能關閉、自動地啟動、且 :地再次開啟測試程序,而不需要任何人力介入。在— 1中客戶系統32可以上線或離線,而不會受到其 客戶系統32進仃之測試程序的***。上述該等特徵, 14 1238316 玖、發明說明 論軍一或整體來說,均 糸、统的停工時間、降低對人 ;"入的需要’且允許增加客户系統32的數量以進一牛 剩相循環。實際上,至少一部份係因為上述該等: 5 10 15 20 :數個特徵,各個客戶系統32將可運作為—測試執行 自動控制裝置、自動地^ 、 ㈣作而不需要延長時間的人力介入 進而可降低軟體GUI测試程序的成本費用。 一個或數個客戶電腦可#秘十& 了根據來自任何相關連使用者 的U輸入動作與飼服器系統22進行互動…個或數個 使用者可遞送軟體⑶丨測試實例,以利料過相關連客戶 電腦38與網路飼服器26存取的一個或數個網頁來進行執 行動作。例如,可得測試列表可以展示在一網頁上,如以 下參照第2圖所述地,且使用者可選出該等測試中的一個 或數^。網路伺服器26將傳送所遞送的測試實例到測試 飼服器引I 24,其將把對應測試實例置於測試符列28中 。在一實施例中,測試飼服器引擎24可使用Per丨(實際抽 取與匯報語言)共同問道界面(Common Gateway lnterface 、CGI)描述程式來支援使用者遞送測試實例的動作。 測試伺服器引擎24可根據指定的優先度、根據一項先 進先出(first-in/first侧、F|F〇)方案,或利用任何其他適當 方式將測試實例佈置於測試件列28巾。測試伺服器引擎 24可使用適當的描述程式來管理測試件歹^ 28,並且應用 適當的規則來將測試實例佈置於測試佇列28中。例如, 如果一項特定測試通過數次且隨後失敗的話,所欲的將是 判定此項失敗的特別原因。爲了回應於一項測試失敗,已 15 1238316 5 10 15 玖、發明說明 經失敗的測試可能可以在所有的客戶确服器結合體上運作 ’以便可關定㈣題的且隨後找出㈣且解決問題 。舉另一實例來說,測試糾28中的_子組測試可以利 用旗號標示出來以便能更經常地來執行。此動作包括在某 個時期執行被標示為具有較高優先度的測試,且在另一時 期執行被標示為具有較低優先度的測試。如此-來,測試 仔列28 #包括對應較高優先度以及較低優先度測試佇列 。測試伺服器引擎24可以在接收到來自客戶系統32的測 試請,時,僅從較高優先度測試件列檢索測試,並且只有 ★車乂门k先度測式仵列為空白時才切換到較低優先度測試 <丁列測以丁列28將代表—個或數個符列的任何適當系 統,根據特定需求而定。可組態測試舰器” Μ以在 賴符列28或賴㈣28中的-項構成測試㈣落於- 既疋^界值之下時進行檢測,並且以自動地利用測試來填 滿測私β 28或該構成測試仔列,直到超過相同或不同 的既疋^界值為止。此動作將可協助確保系統⑼能實質 上維持持續運作。
20 測試伺服器引擎^ + 〇〇 4將接收來自客戶系統32之客戶控 制°。36的已執仃測試實例的賴結果,並且將測試結果 儲存於測試結果資料庫3〇巾。在—實施例中,在接收到 項測試結㈣,職魏"I Μ的程式碼將觸發一 / (實際抽取與匯報語言)或其他的描述程式以把測試結 2存在測試結果資料庫3〇中,並且觸發一 ^丨(實際抽 。匯報語言)或其他描述程式以產生—測試結果網頁(可 16 1238316 玖、發明說明 5 能地更新-現存測試結果網㈣反映出新接收到的測試結 果以及先別的測试結果。因此,某些實施例可實質上提供 即時的軟M GUI測試結果報告。可㈣性"發送(push)/,此 測試結果網頁給與相連於—個絲個使用者的_個或數個 客戶電腦38,而利用需要"發$ 〃的方式來令使用者可構及 ,或者利用任何其他適當方式來對使用者提供。 10 15 20 測試結果網頁可提供由客戶平台、飼服器平台或它者 所合併的職結果。#針對個❹m實例報告職結果時 ’測試結果網頁可指示出測試日期與時間以及測試結果。 在實知例中,測試結果網頁可指出測試結果、測試結果 的可叩、或其他資訊,其有關利用顏色、陰影、文字或任 何其他適當指標的—項測試。測試結果網頁可允許使用者 能觀看測試㈣28的目前内容。此動作將允許使用者能 判定出測試彳㈣28的完整性、是否已經排程-項特定測 試實例要執行或需要重新進行排程,且當-項特定測試實 例可此被#UT4,是否應該要對_項特定測試分派或重新 分派何種優先度,或者任何適當資訊。在包括網路飼服器 26之系統2Q的—實施例中,I统20亦能夠測試網路使用 者"面it匕動作將包括針對其與網路飼服器%的互動而 測試在客戶系統32上運作的客戶瀏覽器。以下將參照第2 圖更詳細地說明一例示測試結果網頁。 伺服器系統22包括位於_個或數個位置上的一個或數 個電腦’其可獨立式的’或者可共享資料儲存體、通訊或 其他資源’根據蚊需求而定。各個電腦包括—個或數個
17 1238316 玖、發明說明 適當輸入裝置、輸出裝置、大型儲存媒體、處理器、記憶 體、通訊介面、或者用以根據系統2〇的運作來接收、處 理、儲存以及傳遞資訊的其他部件。再者,可利用與適當 硬體相關的純適當軟體部件備置根據測試伺服器引擎2田4 5、網路伺服器26'測試符列28、以及測試結果資料庫3〇 來說明的功能性。測試仔列28與測試結果資料庫3〇可與 測試伺服器引擎24在相同的位置上運作,或者可在q 援測試伺服器引擎24不同位置上之電腦系統的一個或數 個電腦系統上運作。雖然係描述為一符列,測試符列Μ Η)包括任何適當資料儲存體配置,且所謂的符列將意圖包含 所有適當的該等配置。雖然係描述為一資料庫,測試結果 資料庫30將包括任何適當資料儲存體配置,且所謂的資 料庫將意圖包括所有適當的該等配置。 在系統20的例示實施例運作中,一個或數個使用者可 15利用可透過相關連客戶電腦36與網路舰器%存取的一 個或數個網頁來遞送軟體⑽測試實例。網㈣服器% 將傳运所遞送的測試實例到測試伺服器引擎24,其將把測 試實例佈置於測試❹28中。客戶祕32的可得客戶控 制器36可向測試飼服器引擎24請求一項軟體⑽測試: 20例,以回應於完成一項先前測試實例的動作。爲了對來自 客戶系統32之請求進行回應,測制服器引擎μ將判定 是否測試仔列28包含一個或數個測試實例。如果測μ 列28為淨空的話,測試伺服器引擎24將通知客戶控制器 36並沒有可得的測試實例能夠執行。#果在測則宁列μ 1238316 玖、發明說明 中有可得的測試實例的話,測試伺服器引擎24將從測試 佇列28檢索下一個測試實例,並且傳送經檢索的測試實 例到提出請求的客戶系統32 α進行執行。測試伺服器引 擎24可更新該測試結果網頁以反映出該測試實例的狀態( 5 進行中)。
客戶系統32可使用WINRUNNER軟體來執行測試實例 ,儘管如上所述,亦可使用任何自動化測試軟體。在一實 施例中’當客戶系統32已經完成執行測試實例時,客戶 系統32的客戶控制器36將對測試伺服器引擎24報告測 試實例的測試結果,實質上同時或實質上隨後立即地向測 試飼服器引擎24冑求另-項測試實例。測試伺服器引擎 24將把接收到的測試結果儲存在測試結果資料庫中, 且觸發-描述程式以產生反映出該項新測試結果的一更新 測試結果網頁’而該網頁可由一個或數個使用者利用任何 15適當方式來存取。該等運作將較佳地平行且實質上持續地 於整個測試程序週期中在所有的客戶系統32上進行,以 提供上述的一個或數個技術上優點。 第2圖將展示出—例示測試結果網頁4q,該網頁可 使用者利用㈣連客戶㈣38與網路伺職%來存取 大致上來說’測試結果網頁40將針對由客戶系統32執― 之軟體⑽測試實例提供測試結果的_項簡要顯示以及^ 等測試實例的狀態。在展示的實例中,測試結果網頁* 將提供-特定客戶平台的合併测試結果,雖然—测試^ 網頁可提供軟體⑽測試實例之所有或任何適當子组的淨 19 20 1238316 玖、發明說明 武、口果測減結果網頁4〇將指出測試結果對應的特定客 戶平台。例如,‘一 如凡件42所示,在此實例中,與測試結 果、罔頁4〇相連的特定客戶平台為WINDOWS NT。測試結 、 可扎出測試結果網頁40中包含之測試結果的最 後更新時間。例如,如元件44所示,在此實例中,測試 、口果、、罔頁4〇將提供2001年6月7日星期四13:33:〇7最 抑4的測4結果。如元件46所示,可根據-測試過濾 杰來產生測試結果網頁40,以使測試結果網頁4〇僅能包 10
括在特疋日寸期中遞送或執行之測試實例的測試結果、僅 由特疋使用者遞送的測試實例,或者任何其他適當子組的 測試實例。 / 15 20 在一實施例中,賴結果網胃40包括-測試結果表判 ,其針對各個測試5Q具有—列。在展示的實施例中,其 中測試結果網1 40將提供特定客戶平台的合併測試結果 ,測試結果表48可針對各個伺服器平台52包括_行,而 辭台為測試5G將執行之處。測試結果表抑之列與行的 交叉處將界定出袼位,各個格位係對應於測試5q與飼服 器平台52的-特定結合體。一格位中的顏色、陰影或其 他指標將可指出對應測試結果、測試結果的壽命、測試Μ
之測試程序狀態(例如,完朗試實例的百分比),或者測 試50與舰器平台52之料結合體的任何其他適當資訊 。舉例來說但不具限制性,格位中的紅色陰影可用來表^ 最近執行的賴5G實例已經失敗。暗綠色陰影則用來表 不最近執行的測試50實例已經執行過且通過, 而漸漸變 20 1238316 玖、發明說明 5 10 15 20 淡的綠色陰影則用來表示測試結果已經多少過期了。黃色 陰影可用來表示尚未執行任何測試5〇的實例。舉另一實 例來說,格位中的星號η或其他指標則表示已經於一指定 時中在對應舰ϋ平台52上執行某些數量的測試5〇。在 一實施例中,如上所述,測試結果網頁40將允許使用者 能選出-特定格位來遞送對應』m 5G的—個或數個實例 以在對應伺服器平台52執行。 測試結果表48包括職5G的總結資訊。例如,測試 結果表48可提供各個伺服器平台52的通過總數54、各個 飼服器平台52的失敗總數、56各個伺服器平台52中無法 取得測試結果58的測試5G總數、各個寵时台^所 執行的測試實例總數60、各個飼服器平台52的成功百分 比62、各個飼服器平台52的覆蓋百分比Μ、或任何其他 適當總結資訊。成功百分比6 2可指㈣服器平台5 2之測 試實例的通過次數百分比,並且可藉著以通過總數54除 以所執行的測試實例總數6〇而斗曾山+ 默bU而计异出來,且將所得的商 數乘上1 00。覆蓋百分比64可彳旨巾 ^」夺曰出所執行的測試實例雊赵 為欲執行的全部測試實% π八 、…數 入貫例百刀比。測試結果網頁4〇包括 一個或數個按鈕66 + 飞,、他輸出機制,其可對使用者提供 額外的功能。在展示的實施例中 、彳】中例不按鈕66包括"執行 選定測試〃、"選擇全部"、" 僅k出通過的測試〃、"僅選出 失敗的測試〃、"選出不可得 、 ]°式、加入通過的測試,'、 "加入失敗的測試〃、〃Λσ人τ π π 不可仵的測試〃、以及"解除選 全部"。 评 21 1238316 玖、發明說明 第3圖將展示出用於分散式自動化軟體⑽測試技術 的-種例示方法。在步驟⑽中,一個或數個使用者將利 用透過相關連客戶電腦38與網路伺服器26存取的一個或 數個測試結果網頁40來遞送軟體Gu丨測試實例。在步驟 5 10 15 20 網路伺服器26將傳送所遞送的測試實例到測試飼 服器引擎24。在步驟104中,測試伺服器引擎24將把測 試實例佈置於測試仵列28卜此項相關性,如前面參照 第Ί圖所述,可依據一指定優先度、先進先出⑴⑸^細 ⑽)規則,或者任何適當的規則組。在步驟⑽中,一可 得客戶系統32的客戶控制器36將向測試伺服器引擎24 請求-軟體⑽測試實例,以回應於完成先前測試實例的 動作。在步驟⑽巾’為了回應於來自客戶系統“的請 求,測試飼服器引擎24將判定是否測試件列Μ包含一個 或數個可得測試實例。如果測試仵列28為淨空的話,在 步驟川中,測試舰"擎24將通知客戶控制器^並 沒有可得的測試實例要執行。如果測試许列Μ中有一可 得測試實例的話,在步驟⑴巾,測試伺服器引擎24將 從測試件列28檢索出下一個測試實例,且在步驟m中 ,測試伺服器引擎24將值祥从各b 参將傳讀索出的測試實例到提出要 求的客戶系統32以進行執行。 在步驟116中,裳冷会& n a 甲各戶系統32將使用W|NR(jnner軟 體來執行測試實例,雖然如 試軟體。在㈣戶㈣使$㈣自動化測 $客戶系統32已經完成執行測 ‘例的動作時,客戶系統3 各戶控制為36將對測試 22 1238316 玖、發明說明 伺服裔引擎μ報告測試實例的測試結果。在步驟⑶中 只貝上與步驟118同時或者實質上在步驟的稍後, 方法將回到步驟106,且客戶控制器36將向測試伺服器引 $擎24請求另_個測試實例。在步驟122 _,測試舰器 5引擎24將把接收到的測試結果儲存在測試結果資料庫川 中。在步驟124巾,測試伺服器引擎24將觸發一描述程 式以產生反映出新測試結果的一更新測試結果網頁,其 在步驟126中可利用任何適當方式來成為一個或數個使用 ^ 者可搆及的。該等運作將較佳地於整個測試程序週期中在 〇所有的客戶系統32平行且實質上持續地進行,以提供上 - 述的一個或數個技術上優點。 雖然已根據數個實施例來說明本發明,對熟知技藝者 來說,將暗示著多種改變、替代、變化、調整與修正,且 本發明意圖包含所有附錄申請專利範圍之精神與範圍内的 15該等改變、替代、變化、調整與修正。 【圖式簡單說^明】 φ 第1圖展示一種用於分散式自動化軟體圖形使用者介 面(G UI)測試技術的例示系統; 第2圖展示一種例示測試結果網頁;以及 2〇 第3圖展示一種用於分散式自動化軟體圖形使用者介 面(GUI)測試技術的例示方法。 23 1238316 玖、發明說明 【圖式之主要元件代表符號表】
20 系統 46 測試過濾器 22 伺服器系統 48 測試結果表 24 測試飼服器引擎 50 測試 26 網路伺服器 52 伺服器平台 28 測試彳宁列 54 通過總數 30 測試結果資料庫 56 失敗總數 32 分散式客戶系統 58 無法取得測試結果總數 34 伺服器平台 60 所有執行測試總數 36 客戶控制器 62 成功百分比 38 客戶電腦 64 覆蓋百分比 40 測試結果網頁 66 按鈕 42 客戶平台 100步驟 44 測試功能性
24

Claims (1)

1238316 拾、申請專利範圍 第91 134350號申請案申請專利範圍修正本 1· 一種用於分散式自動化軟體圖形使用者介面 技術的系統,其包含: 一集中化測試㈣,其可運作以儲存欲由多個分散式 5 賴執行電腦執行的多個軟體⑽測試實例,各心 散式測試執行電腦包含一客戶平台且係麵合於— 數㈣服器平台,而該等客戶平台與飼服器平台共同 — 4執仃该寺軟體Gu丨測試實例的 客戶-伺服器結合體;以及 10 一測試伺服器引擎,1 腦進行下_作: 對各個分散式測試執行電 接收來自-特定分散式測試執行電腦而針對 體GU丨測試實例提 員軟 ]項胡未以回應於由該牿宁 力散式測試執行電腦所' 15 試實例動作; 項先别軟體GU丨測 從該測試㈣檢索出-軟體GU丨測試實例; 將所檢索出的軟體GU|測試實例傳送 〜 20 式測試執行電腦以利用由該特定分 腦所支援的-測試部件來對 —U執仃電 合體進行執行動作 &各戶'伺服器結 動化軟體叫丨測%^件可㈣以進行自 生們^ 針對該項測試程序來產 果而對到該測試词服器弓丨擎進行傳、、, 接收來自該特定分散式測試“傳达; G U丨測試每你| & 丁兒腦之針對該軟體 I式貝例的-項測試結果以门广 月丑 回應於該測試實例 25 1238316
拾、申請專利範圍 月丨| 的執行動作;以及 *子所接收到的結果以向一個或數個使用者提出報 告。 2.申請專利範圍帛!項之系統,其中至少一分散式測試 執仃電腦將在地理上遠離於其他分散式測試執行電腦 以及該測試伺服器的一位置上運作。 士申明專利範圍第1項之系統,其中該測試部件為一 項市場上現成(off-the-shelf)的產品。
10 15 20 4·如申請專利範圍第,項之系統,其中各個軟體_測 试貫例為利用一種測試描述程式語言撰寫的一項軟體 GU丨測試實例且可利用任何該等分散式測試執行電腦 來執行,一軟體GUI測試實例係利用該特定分散式測 試執行電腦來執行,而起始檢索來自該測試佇列之該 軟體G U丨贼實例的該項請求係純自該電腦。 5·如申請專利範圍第1項之系統,其中:
該測試伺服器引擎可另運作以實質上在接收到來自 上執行有最近執行軟體GU丨測試實例的料定分散 測試執行電腦的測試結果之後便立即產生包含多: 體GUI測試實例之測試結果的一測試結果網頁,其 括最近執行軟體G UI測試實例的測試結果;以及 該系統另包含一網路伺服器’纟卩運作以傳送該測 結果網頁來在-使用者系統上顯示而提供實質上即I 測試結果報告的功能。 6.如申請專利範圍第5項之系統,其中 26 1238316拾 '申請專利範圍
5 10 8. 15 9. 20 各個軟體GUI測試實例為一項軟體GUI測試的實例 以及 該測試結果網頁包含一特定客戶平台的合併測試結果 ,而該等測試結果係指示出包含該特定客戶平台之各 個客戶-伺服器結合體的各項軟體GUI測試的測試結果 如申請專利範圍第5項之系統,其中該測試伺服器引 擎可另運作以接收一項使用者請求來執行一項特定軟 體GUI測試實例並且根據該項使用者請求將所請求的 軟體GUI測試實例***到該測試佇列中,而該使用者 請求係藉著利用該測試結果網頁而選出該特定軟體 GLJi測試的方式來輸入。 如申請專利範圍第彳項之系統,其中該測試佇列中的 至少某些測試實例具有相關連的優先度,而該測試伺 服σσ引擎可運作以從該測試作列檢索出該G U丨測試實 例以根據其相關連的優先度來進行執行動作。 士申明專利範圍第1項、之系統,#中該測試佇列包括 含有較高優先度軟體GU丨測試實例的第一佇列以及含 有較低優先度軟體GUI測試實例的第二佇列,該測試 "°。引擎可運作以於一段測試程序期間的第一部份 /Λ咏彳丁列彳欢索較南優先度軟體G U丨測試實例來 進订執仃動作’且於該段測試程序期間的第二部份中 攸该弟二佇列檢索較低優先度軟冑GUI測試實例來進 行執行動作。 27 Ϊ238316拾、申言宵. If範匱
10 15 20 擎可運作轉據所試伺服器弓 體重新傳送—軟體QU| _ ,,服器結名 回應於接收指干出& Λ 進行執行動作,〇 按收知不出失敗之該項軟 數個測試結果的動作。 且 洌試之一個或 11_如申請專利範圍第i項之系統, 擎可運作以在該測試作列中的軟體;j測;^服器引 低於一預定# 測试貫例數量 預疋的&界值時進行檢 自動地加入軟體如丨測試、I肖了進仃回應’ 1?, Λ JJ。式只例到該測試佇列中。 2.如申請專利範圍第彳項之 式測試執行電腦相連且可運在、^含與各個分散 —個或數個適當時機在各個分散式測試執行電二: 13動地安裝一目前軟體⑽架構的-客戶控制器自 °申請專利範圍第1項之系統,其另包含與各個分散 =測試執行電腦相連且可運作以根據1定排程表自 動地啟動各個分散式測試執行電腦的—客戶控制器。 專利範圍第1項之“,其另包含與各個分散 式測試執行電腦相連且可運作以在該分散式測試執行 電腦啟動時建立與該測試伺服器引擎之通訊的—客戶
控制器 15·如申請專利範圍第1項之系統,其中各個測試執㈣ 腦本質上將如—自動化測試執行機器人般地運作,^ 自動地且不需人力介人地重複請求、接收、執行且马 回軟體GUI測試實例的測試結果達一段延長期間。 28 1238316
拾、申請專利範圍 16.如申、請專利範圍第1項之系統,其另分散式 測試執行電腦。 17·種用於分散式自動化軟體圖形使用者介面(⑽)測試 技術的方法,該方法包含: 維持—集中化測試件列,其可運作以儲存欲由多個分 散式測試執行電腦執行的多個軟體⑽測試實例,各 個分散式測試執行電腦包含一客戶平台且係叙合於一 Γ數個伺服器平台,而料客戶平台與伺服器平台 10 ^轉供用以對照來執行該等軟體⑽測試實例的 夕個各戶·伺服器結合體;以及 15 ==分散式測試執行電腦接收來自—特定分散式 ::執:亍電腦而針對—項軟體GU|測試實例提出的一 的H切應於由該特定分散式測試執行電腦 的—項先前軟體GU丨測試實例動作; 1 十對各個分散式測試執行電腦從該測試件列檢索出一 車人體GU丨測試實例; ’、 針對各個分散式測試執行電腦將所檢索出的軟邮GUI 測试實例傳送到該特定 ^ 誃、、 疋刀政式/貝“式執仃電腦以利用由 2〇 '寸疋/刀散式測試執行電腦所支援 一特定交ό η 別试部件來對 件服器結合體進行執行動作,而該測試部 乍以進订自動化軟體GUI測試程序 ) 項測試程序的測試結果; 乂產生忒 針對各個分散式測試執行電腦接收來 測試執行電腦之針對該軟體GUI_::分散式 κ例的一項測試 29 Ϊ238316拾 '申請專利範圍
結果以回應於該測試實例的執行動作;以及 針對各個分散式測試執行電腦儲存所接收到的結果以 向一個或數個使用者提出報告。 18.如申請專利範圍第17項之方法,纟中至少一分散式柯 試執行電腦將在地理上遠離於其他分散式測試執行電 腦以及進行該方法之-該測試祠服器的一位置上運作 10 15 20 19_如申請專利範圍第17項之方法,其中該測試部件為 項市場上現成(off-the-shelf)的產品。 20·如申請專利範圍第17奴方法,其中各個軟體G| 測試實例為利用-種測試描述程式語言撰寫的―項 體GU丨測試實例且可利用任何該等分散式測試執行, 腦來執行,_軟體GU丨測試實例係湘該特定分散 測試執行電腦來執行’而起始檢索來自該測試仔列: 該軟體GUI測試實例的該項請求係接收自該電腦。 21.如申請專利範圍第17項之方法,其另包含: 二上在接㈣來自其上執行有最近執行㈣丨^ 例的寸疋分散式測試執行電腦的測試結果之福 便立即產生包含多個軟體GU|測試實例之測試結果封 -測試結果網頁’其包括最近執行 例 的測試結果;以及 …例 2送該測試結果網頁來在-使用者系統上顯示而提供 貝貝上即時測試結果報告的功能。 22.如申請專利範圍第〜頁之方法,其另包含:
30 1238316拾、申請專利範圍
7W月丨'4 mkj 各個权體GUI測試實例為一項軟體Gu丨測試的實例 以及 ' 產生包3 一特定客戶平台之合併測試結果的一測試矣 5 果’頁’而该等測試結果係指示出包含該特定客戶斗 台之各個客戶*伺服器結合體的各項軟體GUI測試的測 试結果。 '
10 女申二專利㈣第21項之方法,其另包含接收-項使 用者s月求來執行一項特定軟體gui測試實例並且根據 該項使用者請求將所請求的軟體gu丨測試實例***到 =測讀財,而該使用者請求_著利用該測試結 果網頁而選出該特定軟體Gu丨測試的方式來輸入。 24·如申請專利範圍第彳7 、方法,其中該測試佇列中的 至 >、某些測試實例具有相 —A _運的優先度,而該方法另 15 匕δ從該測試佇列檢索出該 Μ ^ ^ ^ 試貫例以根據其相 關連的優先度來進行執行動作。 25. 如申請專利範圍
貝之方法,其另包含: 、、、持包含較高優先度軟體丨 人 列5式只例的第一佇列以 各有較低優先度軟體G υ丨_ ^ 列。式貫例的第二佇列; 20 ;一段測試程序期間的第一上 較古彳展φ _ 77中從該第一 f?列檢索 車乂同偏先度軟體Gu丨測試實 ^ ^ i- '9ιι ^ ^ 耒進仃執行動作;以及 方、忒奴測试程序期間的第二 較低辑本疮 刀中從該第二佇列檢索 幸乂低υ度軟體Gu丨測試實 26. 如申喑專利^网― 進仃執行動作。 甲#專利乾圍第17項之方法, 則斜斟所古从— 具另包含根據一項規 幻針對所有的客戶·㈣器 歧重新傳送一軟體GUI 31 1238316 修正 拾、申請專利範圍 pnne 測試實例來進行執行動作’以回應於接收二J出失敗 之戎項軟體Gu丨測試之一個或數個測試結果的動作。 27·如申請專利範圍第17項之方法,其另包含在該測試件 列中的軟體GUI測試實例數量低於一預定的臨界值時 進行測,且爲了進行回應,自動地加入軟體◦山 測試實例到該測試佇列中。 28. 如申請專利範圍第17項之方法,其另包含在—段測試 期間中於一個或數個適當時機自動地在各個分散式測 試執行電腦上安裝一目前軟體丨架構。 “ 10 15 20 29. 如申請專利範圍第17項之方法’其另包含根據—預定 排程表自動地啟動各個分散式測試執行電腦。 3〇·如申請專利範圍第17項之方法,其另包含在該分散式 測試執行電腦啟動時,自動地建立該分散式測試執行 電腦與一測試伺服器引擎之間的通訊。 丁 31.如申請專利範圍第17項之方法,其中各個測試執行命 腦本質上將如一自動化測試執行機器人般地運作,: 自動地且不需人力介人地重複請求、接收、執行且关 回軟體GUI測試實例的測試結果達一段延長期間。I 種σ己錄有软體之電腦可讀媒體,該軟體係用以進" =散式自動化軟體圖形使用者介面(GUI)m ^丁 體,該軟體執行時可運作以進行下列動作: 人 維持-集中化測試仔列,其可運作以儲存欲由多個八 散式測試執行電腦執行的多個軟體GU|測試實例,I 個分散式測試執行電腦包含一客戶平台且係轉合於二 32 1238316 拾、申請專利範圍 月”日, 數個健g平台,而該等客戶平台與词服哭平么 :、同地提供用以對照來執行該等軟體⑽測試二例二 多個客戶-伺服器結合體;以及 1 ·« 'J勺 5 針對各個分散式測試執行電腦接收來自 測試執行電腦而針對—項軟體⑽測試實^刀Μ 項請求以回應於由該特八 的 疋刀放式測試執行電腦所完成 的:項先前軟體⑽測試實例動作; -成 10 ==分散式測試執行電腦從該測試件列檢索出一 孕人to GU丨測試實例; =士個分散式測試執行電腦將所檢索出的軟體GUI 傳达到該特定分散式測試執行電腦以利用由 一4±二放式測試執行電腦所支援的一測試部件來對 戶-伺服器結合體進行執行動作,而該測試部 15 了運作以進行自動化軟體⑽測試程序且以產生节 員測試程序的測試結果; / it:個:散式測試執行電腦接收來自該特定分散式 、订電腦之針對該軟體⑽測試實例的—項測試 :果以回應於該測試實例的執行動作;以及 2〇 修正I 十對各個分散式測試執行電腦儲存所接收到的結果以 3向一個或數個使用者提出報告。 八申叫專利靶圍第32項之電腦可讀媒體,其中至少一 =式測試執行電腦將在地理上遠離於其他分散式測 ,行電腦以及該軟體的—位置上運作。 .如申請專利範圍第32項之電腦可讀媒體,其中該測試 33 Ϊ238316 拾、申請專利範圍 上 侧兀I 4件為-項市場上現成(Gff_the_shelf)的產品。 35.如申請專利範圍第32項之電腦可讀媒體,其中各個軟 體⑽測試實例為利用一種測試描述程式語言撰寫的 jUu丨測試實例且可利用任何該等分散式測試 仃电細來執仃,一軟冑GU丨測試實例係利用該特定 分散式測試執行電腦來執行,而起始檢索來自該料 仔列之該軟體GU丨測試實例的該項請求係接收自 腦。 36.如申請專利範 圍弟32項之電腦可讀媒體,其中該軟體 10 可另運作以: 、、在接收到來自其上執行有最近執行軟體g U丨測 貝例的4分散式測試執行電腦的測試結果之後 更立即產生包含多個軟體GU|測試實例之測試結果的 I式結果網頁,其包括最近執行軟體GU丨測試實例 15 的測試結果;以及 、 該物果網頁來在-使用繼上顯示而提供 貝貝上即時測試結果報告的功能。 士申叫專利範圍第36項之電腦可讀媒體,其中: 各個軟體GU丨測試實例為_項軟體GU丨測試的實例; 20 並且 4軟體可另運作以產生包含-特定客戶平台之合併測 試結果的一測試結果網頁,而該等測試結果係指示出 _ Λ特疋各戶平台之各個客戶-伺服器結合體的各項 軟體GU丨測試的測試結果。 34 ^38316 拾、申請專利範圍 修正I
38·如申請專利範圍第36項之電腦可讀媒體,《中該軟體 可另運作以接收一項使用者請求來執行一項特定軟體 GUI測試實例並且根據該項使用者請求將所請求的軟 GUI測試實例***到該測試佇列中,而該使用者請 、、系藉著利用5亥測试結果網頁而選出該特定軟體〇 口丨 測試的方式來輪入。 39_^申凊專利範圍第32項之電腦可讀媒體,其中該測試
t歹J中的至少某些測試實例具有相關連的優先度,而 亥車人版另包含從該測試传列檢索出該⑽測試實例以 根據其相關連的優先度來進行執行動作。 4〇_:申請專利範圍第32項之電腦可讀媒體,”該測試 括i έ較阿優先度軟體g UI測試實例的第一仔 列二及含有較低優先度軟體GU丨測試實例的第二符列 ,該軟體可另運作以於一段測試程序期間的第一部份 中從該第-符列檢索較高優先度軟體Gu丨測試實例來
…執订動作亚且於該段測試程序期間的第二部份中 從該第二件列檢索較低優先度軟體GU丨測試實例來進 行執行動作。 20 ^申凊專利範圍第32項之電腦可讀媒體,其中該與 :另運作以根據_項規則針對所有的客戶_伺服器舞 ^新傳送—軟體⑽測試實例來進行執行動作, 數於接收指示出失敗之該項軟體⑽測試之-值 數個測試結果的動作。 士申%專利範圍第32項之電腦可讀媒體,其中該束 35 1238316 拾、申請專利範圍 :另運作以在該_宁列中 低於一預定的臨界值時便進行 ^ ’自動地加入軟體 爲了進仃回應 ; ^ 而a戶、例到該測試佇列中。 3.如申請專利範圍第 夂…、弟2項之電腦可讀媒體,其另包含盥 α固7刀散式測試執行電 ^ pe , ^ 硬立了運作以在一段測試 "4中方;一個或數個適杏卑 機在各個分散式測試執行 电每上自動地女裝_ 別1人體GUI架構的軟體。 如申清專利範圍第 欠义、弟2項之電腦可讀媒體,其另包含與 σ固为散式測試執行電腦相 10 15 20 自祁連且可運作以根據一預定 表自動地啟動各個分散式測試執行電腦的軟體。 ·:申凊專利範圍第32項之電腦可讀媒體,其另包含盥 °個分散式測試執行電腦相連且可運作以在該分散式 測試執行電腦啟動時建立 逯立忒刀散式測試執行電腦接收 軟體G U丨測試實例以俤勃/ μ U ^便執仃所需要之通訊的軟體。 46.如申請專利範圍第32項之 、 、包驷了視媒體,其中各個測 試執行電腦本質上將如一自 目動化測武執行機器人般地 運:,且自動地且不需人力介入地重複請求、接收、 執仃且送回軟體GUI測試實例的測試結果達一段延長 期間。 π一種用於分散式自動化軟體GU丨測試技術的系統,其 包含: :以維持-集中化測試符列的裝置,其可運作以儲存 欲由多個分散式測試執行電腦執行的多個軟體⑽測 試實例,各個分散式測試執行電腦包含_客戶平台且 36 1238316 拾、申請專利範圍 係耦合於一個或數個伺服器平台,而該等客戶平台與 伺服器平台共同地提供用以對照來執行該等軟體⑽ 測試實例的多個客戶-伺服器結合體;以及 用以接收來自一 4寸定分散式測試執行電腦而針對—項 軟體GU丨測試實例提出的一項請求以回應於由該特定 分散式測試執行電腦所完成的—項先前軟體⑽測試 實例動作的裝置; 10 15 20 用以從該測試件列檢素出—軟體Gu丨測試實例以回應 於來自該特定分散式測試執行電腦之該項請求的裝置 用以將所檢索出的軟體GU丨 私4只例傳送到該特定分 放式測試執行電腦以利 腦所“ …用由…寸疋分散式測試執行電 斤支板的一測試部件 進 特各戶—伺服器結合體 進仃執仃動作的裝置,而 動化軟邮Pm 件可運作以進行自 匕車人月豆GUI測試程序且以 結果; 屋生5亥項測試程序的測試 用以接收央自 體⑽^執行電腦之針對該軟 的執行動作的裝置;以:以結果以回應於該測試實例 用以儲存所接收到的結 報告的裝置。 °個或數個使用者提出 種用於分散式自動化軟體 包含: υι測試技術的系統,其 -集中化測試件列,其 乂恼存欲由多個分散式 37 1238316 拾 g靑專利範圍 測試執行電腦執行的多個軟體 散式測試執行電腦包含—客戶平^各個分 數個飼服器平台,而該等客戶平二广於—個或 τ合尸十σ與伺服哭芈a 5 地提供心對照錢行料軟體GU _ =同 :?飼服器結合體,各個軟…試實例為Γ 種測試描述程式語言撰寫的_項軟體Gui測試實^ 可利用任何該等分散式測試執行電腦來執行,·及 -測試飼服器引擎’其可針對各個分散式測 進行下列動作: 丁電 10 :收來自遠特定分散式測試執行電腦而針對 體⑽測試實例提出的一項請求以回應於由外^ =式測試執行電腦所完成的—項先前軟體Gu= 減貫例動作; /則 15 從該測試㈣檢索出—軟體Gu丨測試實例. 將所檢索出的軟體⑽測試實例傳送料特^ 式測試執行電腦以利用由該特定分散式測試文 腦所支援的-測試部件來對1士〜 執仃電 人麵、牡一批/ 寸疋各戶-伺服器έ士 20 :修jI 補 f今年i月ί 串 腦
e體進灯執行動作’而該-動化軟體GUI測試程序且以針對進行自 生測試結果而對該測試伺服器”進序士產 體⑽測試實例係利用該特定分軟 來執行,而起始檢索來自該測試作列之仃電腦 測試實例的該項請求係'接收自該/體⑽ 接收來自該特定分散式測試執行電:之針對該軟體 38 1238316 拾 修爲 申請專利範圍 GUI測試實例的—項測試結果以回應於該測試實例 的執行動作;
10 將所接收到而用以向—個或數個使用者報告的測試 結果儲存在—測試結果資料庫中;以及 產生包含多個軟體G u丨測試實例之測試結果的一測 試結果網頁; 各個測試執行電腦本質上將 人般地運作,且自動地且不 接收、執行且送回軟體GUI 段延長期間;以及 如一自動化測試執行機器 需人力介入地重複請求、 測試實例的測試結果達一 -網路飼服器,其可運作以: 存取該測試結果資料庫來取得多個軟體g 例的測試結果;以及 州$式實 傳送該測試結果網頁來在-使用者系統上 七、Λ貝上即時測試結果報告的功能。 、、而提 39
TW091134350A 2001-11-29 2002-11-26 Distributed automated software graphical user interface (GUI) testing TWI238316B (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US09/998,363 US7055137B2 (en) 2001-11-29 2001-11-29 Distributed automated software graphical user interface (GUI) testing

Publications (2)

Publication Number Publication Date
TW200300881A TW200300881A (en) 2003-06-16
TWI238316B true TWI238316B (en) 2005-08-21

Family

ID=25545108

Family Applications (1)

Application Number Title Priority Date Filing Date
TW091134350A TWI238316B (en) 2001-11-29 2002-11-26 Distributed automated software graphical user interface (GUI) testing

Country Status (3)

Country Link
US (1) US7055137B2 (zh)
DE (1) DE10255125A1 (zh)
TW (1) TWI238316B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8583694B2 (en) 2005-05-09 2013-11-12 Atlas Development Corporation Health-care related database middleware

Families Citing this family (106)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030131088A1 (en) * 2002-01-10 2003-07-10 Ibm Corporation Method and system for automatic selection of a test system in a network environment
US7050921B2 (en) * 2002-04-23 2006-05-23 Agilent Technologies, Inc. Electronic test program with run selection
US7165240B2 (en) * 2002-06-20 2007-01-16 International Business Machines Corporation Topological best match naming convention apparatus and method for use in testing graphical user interfaces
DE10260614B4 (de) * 2002-12-23 2008-01-31 Advanced Micro Devices, Inc., Sunnyvale Plasmaparametersteuerung unter Verwendung von Lerndaten
US7565607B2 (en) * 2003-01-07 2009-07-21 Microsoft Corporation Automatic image capture for generating content
US20050114785A1 (en) * 2003-01-07 2005-05-26 Microsoft Corporation Active content wizard execution with improved conspicuity
US20040130572A1 (en) * 2003-01-07 2004-07-08 Aravind Bala Active content wizard: execution of tasks and structured content
US8261239B2 (en) * 2003-03-25 2012-09-04 International Business Machines Corporation Locating a testable object in a functional testing tool
US7451455B1 (en) * 2003-05-02 2008-11-11 Microsoft Corporation Apparatus and method for automatically manipulating software products
US7512039B1 (en) * 2003-05-27 2009-03-31 Oracle International Corporation Method for enhancing functionality of an automated testing tool
US7526410B2 (en) * 2003-07-03 2009-04-28 Microsoft Corporation Remote computer graphics performance testing
US7984427B2 (en) * 2003-08-07 2011-07-19 International Business Machines Corporation System and methods for synchronizing software execution across data processing systems and platforms
US7721289B2 (en) * 2003-08-29 2010-05-18 Microsoft Corporation System and method for dynamic allocation of computers in response to requests
US20050096864A1 (en) * 2003-10-31 2005-05-05 Bonilla Carlos A. Method and system for managing a testing task
US7386579B2 (en) * 2003-11-12 2008-06-10 Siemens Product Life Cycle Management Software Inc. System, method, and computer program product for storing test results in a database
US7720905B1 (en) * 2003-12-23 2010-05-18 Vignette Software Llc Method and system for automated digital asset management on client-server computer network
US20050234708A1 (en) * 2004-04-19 2005-10-20 Nuvotec, Inc. Notation enabling all activity between a system and a user to be defined, and methods for using the same
JP2008506185A (ja) * 2004-07-08 2008-02-28 マイクロソフト コーポレーション 自動テキスト生成
US7574625B2 (en) * 2004-09-14 2009-08-11 Microsoft Corporation Active content wizard testing
US20060075391A1 (en) * 2004-10-05 2006-04-06 Esmonde Laurence G Jr Distributed scenario generation
US7602958B1 (en) * 2004-10-18 2009-10-13 Kla-Tencor Corporation Mirror node process verification
US8060864B1 (en) * 2005-01-07 2011-11-15 Interactive TKO, Inc. System and method for live software object interaction
US8117591B1 (en) 2005-01-07 2012-02-14 Interactive TKO, Inc. Graphical model for test case viewing, editing, and reporting
US7673179B2 (en) * 2005-02-07 2010-03-02 Lsi Corporation Online testing unification system with remote test automation technology
US20060184880A1 (en) * 2005-02-17 2006-08-17 Microsoft Corporation Discoverability of tasks using active content wizards and help files - the what can I do now? feature
US7702958B2 (en) * 2005-05-24 2010-04-20 Alcatel-Lucent Usa Inc. Auto-recording tool for developing test harness files
US7996255B1 (en) * 2005-09-29 2011-08-09 The Mathworks, Inc. System and method for providing sales leads based on-demand software trial usage
US7502967B1 (en) 2005-10-31 2009-03-10 Hewlett-Packard Development Company, L.P. Identifying an object in a data file that causes an error in an application
US7730452B1 (en) 2005-11-01 2010-06-01 Hewlett-Packard Development Company, L.P. Testing a component of a distributed system
US8166458B2 (en) * 2005-11-07 2012-04-24 Red Hat, Inc. Method and system for automated distributed software testing
GB0522734D0 (en) * 2005-11-08 2005-12-14 Ibm Method and system for simultaneous testing of applications
CN1987819A (zh) * 2005-12-21 2007-06-27 三星电子株式会社 选择性测试方法及其测试设备
US8060863B2 (en) * 2006-05-19 2011-11-15 Sap Ag Conformance control module
US7543184B2 (en) * 2006-05-23 2009-06-02 The Mathworks, Inc. System and method for distributing system tests in parallel computing environments
US7640470B2 (en) * 2006-08-21 2009-12-29 Microsoft Corporation Meta-data driven test-data generation with controllable combinatorial coverage
US7644315B2 (en) * 2006-10-30 2010-01-05 Google Inc. Diagnostics and error reporting for common tagging issues
US7823138B2 (en) * 2006-11-14 2010-10-26 Microsoft Corporation Distributed testing for computing features
US7913230B2 (en) * 2007-01-31 2011-03-22 Oracle International Corporation Computer-implemented methods and systems for generating software testing documentation and test results management system using same
US8201150B2 (en) * 2007-03-20 2012-06-12 International Business Machines Corporation Evaluating software test coverage
US7827273B2 (en) * 2007-03-26 2010-11-02 Microsoft Corporation Machine cluster topology representation for automated testing
US8020151B2 (en) * 2007-07-31 2011-09-13 International Business Machines Corporation Techniques for determining a web browser state during web page testing
US7831865B1 (en) * 2007-09-26 2010-11-09 Sprint Communications Company L.P. Resource allocation for executing automation scripts
US7856574B2 (en) * 2007-09-27 2010-12-21 Microsoft Corporation Internet connectivity evaluation
US8261238B2 (en) * 2008-03-04 2012-09-04 Microsoft Corporation Shield for user interface testing
US7536648B1 (en) * 2008-03-31 2009-05-19 International Business Machines Corporation Method for automatically updating graphic user interface (GUI) objects
US20090254329A1 (en) * 2008-04-03 2009-10-08 International Business Machines Corporation Method for virtualization of input devices for parallel execution of test automation scripts
US8645919B2 (en) * 2008-04-16 2014-02-04 Microsoft Corporation Generic validation test framework for graphical user interfaces
US8850458B1 (en) * 2008-06-06 2014-09-30 Amdocs Software Systems Limited System, method, and computer program for combining results of event processing received from a plurality of servers
CN101634860A (zh) * 2008-07-21 2010-01-27 鸿富锦精密工业(深圳)有限公司 模拟控制设备及应用该模拟控制设备的测试***及方法
US8185910B2 (en) 2008-08-27 2012-05-22 Eric Sven-Johan Swildens Method and system for testing interactions between web clients and networked servers
US20100064282A1 (en) * 2008-09-05 2010-03-11 Microsoft Corporation Declarative testing for user interfaces
US9111019B2 (en) 2008-09-30 2015-08-18 Interactive TKO, Inc. Modeling and testing interactions between components of a software system
US20100131927A1 (en) * 2008-11-24 2010-05-27 Ibm Corporation Automated gui testing
US8850395B2 (en) * 2009-12-03 2014-09-30 International Business Machines Corporation Managing graphical user interface (GUI) objects in a testing environment
US9495282B2 (en) * 2010-06-21 2016-11-15 Salesforce.Com, Inc. Method and systems for a dashboard testing framework in an online demand service environment
US8667467B2 (en) * 2010-07-26 2014-03-04 Sap Aktiengesellschaft Dynamic test scripts
US9715483B2 (en) 2010-09-16 2017-07-25 International Business Machines Corporation User interface for testing and asserting UI elements with natural language instructions
US8904356B2 (en) 2010-10-20 2014-12-02 International Business Machines Corporation Collaborative software debugging in a distributed system with multi-member variable expansion
US8671393B2 (en) 2010-10-21 2014-03-11 International Business Machines Corporation Collaborative software debugging in a distributed system with client-specific dynamic breakpoints
US9009673B2 (en) 2010-10-21 2015-04-14 International Business Machines Corporation Collaborative software debugging in a distributed system with collaborative step over operation
US8972945B2 (en) 2010-10-21 2015-03-03 International Business Machines Corporation Collaborative software debugging in a distributed system with client-specific access control
US20120102462A1 (en) * 2010-10-26 2012-04-26 Microsoft Corporation Parallel test execution
US8984490B1 (en) 2010-10-26 2015-03-17 Interactive TKO, Inc. Modeling and testing of interactions between components of a software system
US8966454B1 (en) 2010-10-26 2015-02-24 Interactive TKO, Inc. Modeling and testing of interactions between components of a software system
US8990775B2 (en) 2010-11-10 2015-03-24 International Business Machines Corporation Collaborative software debugging in a distributed system with dynamically displayed chat sessions
US8850397B2 (en) 2010-11-10 2014-09-30 International Business Machines Corporation Collaborative software debugging in a distributed system with client-specific display of local variables
US9411709B2 (en) 2010-11-10 2016-08-09 International Business Machines Corporation Collaborative software debugging in a distributed system with client-specific event alerts
US9064054B2 (en) * 2010-12-29 2015-06-23 Red Hat, Inc. Synchronizing execution of a testing application
EP2482192B1 (en) * 2011-01-31 2018-10-24 Tata Consultancy Services Limited Testing lifecycle
US8656360B2 (en) * 2011-04-20 2014-02-18 International Business Machines Corporation Collaborative software debugging in a distributed system with execution resumption on consensus
US8806438B2 (en) 2011-04-20 2014-08-12 International Business Machines Corporation Collaborative software debugging in a distributed system with variable-specific messages
US8739127B2 (en) 2011-04-20 2014-05-27 International Business Machines Corporation Collaborative software debugging in a distributed system with symbol locking
US8756577B2 (en) * 2011-06-28 2014-06-17 International Business Machines Corporation Collaborative software debugging in a distributed system with private debug sessions
US9405664B2 (en) * 2011-08-31 2016-08-02 Hewlett Packard Enterprise Development Lp Automating software testing
US8826084B1 (en) * 2011-09-07 2014-09-02 Innovative Defense Technologies, LLC Method and system for implementing automated test and retest procedures
WO2013078269A1 (en) 2011-11-22 2013-05-30 Solano Labs, Inc. System of distributed software quality improvement
US10169213B2 (en) * 2011-11-29 2019-01-01 Red Hat, Inc. Processing of an application and a corresponding test file in a content repository
CN103186459B (zh) * 2011-12-30 2016-05-11 迈普通信技术股份有限公司 基于脚本的java图形用户界面自动测试方法
US9077646B2 (en) 2012-02-13 2015-07-07 Fluke Corporation Method and apparatus for testing and displaying test results
US8984341B1 (en) * 2012-05-08 2015-03-17 Amazon Technologies, Inc. Scalable testing in a production system with autoscaling
US9495281B2 (en) * 2012-11-21 2016-11-15 Hewlett Packard Enterprise Development Lp User interface coverage
CN103902446B (zh) * 2012-12-27 2017-04-05 北京新媒传信科技有限公司 一种网络服务器自动化测试的方法和装置
US9104814B1 (en) * 2013-05-03 2015-08-11 Kabam, Inc. System and method for integrated testing of a virtual space
US9465726B2 (en) * 2013-06-05 2016-10-11 Vmware, Inc. Abstract layer for automatic user interface testing
CN103455425B (zh) * 2013-09-25 2016-08-17 中国银行股份有限公司 一种分布式测试***及方法
US20150128103A1 (en) * 2013-11-07 2015-05-07 Runscope, Inc. System and method for automating application programming interface integration
US10025839B2 (en) 2013-11-29 2018-07-17 Ca, Inc. Database virtualization
US9552459B2 (en) * 2014-01-07 2017-01-24 Mckesson Financial Holdings Method and apparatus for implementing a task plan including transmission of one or more test messages
US9727314B2 (en) 2014-03-21 2017-08-08 Ca, Inc. Composite virtual services
US9531609B2 (en) 2014-03-23 2016-12-27 Ca, Inc. Virtual service automation
US9811451B1 (en) * 2015-09-17 2017-11-07 Amazon Technologies, Inc. Distributed software testing
CN105281978B (zh) * 2015-10-23 2019-02-19 小米科技有限责任公司 一种性能测试的方法、装置和***
US9703683B2 (en) * 2015-11-24 2017-07-11 International Business Machines Corporation Software testing coverage
JP6641936B2 (ja) * 2015-12-01 2020-02-05 富士通株式会社 情報処理装置、情報処理プログラム、及び情報処理方法
US10285084B2 (en) * 2015-12-15 2019-05-07 Dc Mobility Holdings, Llc Apparatus, system and method for testing of communication networks with prescribed communication traffic
US9898390B2 (en) 2016-03-30 2018-02-20 Ca, Inc. Virtual service localization
US10114736B2 (en) 2016-03-30 2018-10-30 Ca, Inc. Virtual service data set generation
US11392277B2 (en) 2017-10-13 2022-07-19 Rainforest Qa, Inc. Electronic product testing systems
US10545553B2 (en) 2017-06-30 2020-01-28 International Business Machines Corporation Preventing unexpected power-up failures of hardware components
US10534698B2 (en) 2017-08-24 2020-01-14 Salesforce.Com, Inc. Stateless self-sufficient test agents
CN107748717A (zh) * 2017-09-26 2018-03-02 深圳市牛鼎丰科技有限公司 接口自动化测试方法、装置、存储介质和计算机设备
US11379253B2 (en) 2020-11-30 2022-07-05 International Business Machines Corporation Training chatbots for remote troubleshooting
KR20220046697A (ko) * 2021-02-26 2022-04-14 베이징 바이두 넷컴 사이언스 앤 테크놀로지 코., 엘티디. 자동화 테스트 방법, 장치, 전자기기, 저장매체 및 컴퓨터 프로그램
US11593251B2 (en) * 2021-03-03 2023-02-28 Oracle International Corporation Techniques for large-scale functional testing in cloud-computing environments
CN114726577B (zh) * 2022-03-02 2024-07-09 武汉天喻信息产业股份有限公司 一种供于测试的通信***及数据篡改方法
US11860771B1 (en) * 2022-09-26 2024-01-02 Browserstack Limited Multisession mode in remote device infrastructure

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5600789A (en) * 1992-11-19 1997-02-04 Segue Software, Inc. Automated GUI interface testing
US5371883A (en) 1993-03-26 1994-12-06 International Business Machines Corporation Method of testing programs in a distributed environment
US5909544A (en) * 1995-08-23 1999-06-01 Novell Inc. Automated test harness
US6067639A (en) 1995-11-09 2000-05-23 Microsoft Corporation Method for integrating automated software testing with software development
US6473707B1 (en) * 1998-08-21 2002-10-29 National Instruments Corporation Test executive system and method including automatic result collection
US6182245B1 (en) * 1998-08-31 2001-01-30 Lsi Logic Corporation Software test case client/server system and method
US6510402B1 (en) * 1999-02-04 2003-01-21 International Business Machines Corporation Component testing with a client system in an integrated test environment network
US6701514B1 (en) * 2000-03-27 2004-03-02 Accenture Llp System, method, and article of manufacture for test maintenance in an automated scripting framework
US6467537B1 (en) * 2000-05-17 2002-10-22 Carrier Corporation Advanced starting control for multiple zone system
US6804709B2 (en) * 2001-02-20 2004-10-12 Microsoft Corporation System uses test controller to match different combination configuration capabilities of servers and clients and assign test cases for implementing distributed testing
CA2445195A1 (en) * 2001-04-24 2002-10-31 Wvhtc Foundation Software suitability testing system

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8583694B2 (en) 2005-05-09 2013-11-12 Atlas Development Corporation Health-care related database middleware

Also Published As

Publication number Publication date
US20030098879A1 (en) 2003-05-29
US7055137B2 (en) 2006-05-30
DE10255125A1 (de) 2003-07-31
TW200300881A (en) 2003-06-16

Similar Documents

Publication Publication Date Title
TWI238316B (en) Distributed automated software graphical user interface (GUI) testing
US10719426B2 (en) Methods and systems for testing web applications
US10101991B2 (en) Managing a software-patch submission queue
US8677324B2 (en) Evaluating performance of an application using event-driven transactions
US9015677B2 (en) System and method for developing and testing logic in a mock-up environment
US9396098B2 (en) Apparatuses, methods, and computer program products for conducting automated tests
CN106293914B (zh) 一种任务调度的方法及终端
US20040015846A1 (en) System, device and method for integrating functioning of autonomous processing modules, and testing apparatus using same
TW200941214A (en) Executing software performance test jobs in a clustered system
EP3021224B1 (en) Method and apparatus for producing a benchmark application for performance testing
US8046638B2 (en) Testing of distributed systems
CN110249300A (zh) 内置于数据集成工作流编辑器中的测试用例生成器
EP3113025A1 (fr) Mecanisme de diagnostic automatique a partir d'informations issues d'un systeme de surveillance applicative
CN113227978A (zh) 计算机处理管线中的自动异常检测
US9405664B2 (en) Automating software testing
Proko et al. Analysis and strategy for the performance testing in cloud computing
CN115481030A (zh) 一种自动化测试方法、装置、终端及存储介质
CN106959872A (zh) 应用上线方法和装置
Denwood et al. Package ‘runjags’
US20200142816A1 (en) Automated Scripting and Testing System
KR102434579B1 (ko) 복합단위 시간축을 적용한 프로세스 모니터링 방법 및 장치
KR20220027506A (ko) 복합단위 시간축을 적용한 재고 모니터링 방법 및 장치
US10942764B1 (en) Transaction analysis tool and associated method for an integrated computing system
Lyons et al. Grid site availability evaluation and monitoring at CMS
JP2003271418A (ja) ウエブベースのソフトウエアオブジェクトのテスト方法

Legal Events

Date Code Title Description
MM4A Annulment or lapse of patent due to non-payment of fees