使用現場測試在軟件程序中自動捕獲用戶交互并評估用戶接口的制作方法
【專利說明】
【背景技術】
[0001]本發(fā)明一般地涉及在計算機系統上執(zhí)行的應用,更具體地說,涉及現場測試這些應用。
[0002]本節(jié)旨在提供下面描述的發(fā)明的背景或上下文。此處的描述可包括能夠被執(zhí)行的理念,這些理念不一定是之前已被構想、實現或描述的理念。因此,除非此處另外明確指示,否則本節(jié)中描述的內容并非本申請中的描述的現有技術,也不會通過包含在本節(jié)中被認為是現有技術。
[0003]隨著開發(fā)者快速將軟件發(fā)布到全球市場,移動應用市場的規(guī)模也在增大。當移動應用種類中的新種類被創(chuàng)建時,第一時間將應用種類投放市場的現象很快被類似應用產品之間的競爭所取代。只有當應用從多名最終用戶那里收到肯定的評論和評級時,才能明確地確定應用種類領導者。具有此類性質的反饋具有主觀性,通常描述了用戶在與應用交互時的總體體驗。決定最大化移動應用影響的開發(fā)者需要具備在行動之前評估和分析應用使用情況范例的能力。這給開發(fā)者以及產品所有者提出了現實的挑戰(zhàn):如何不僅僅憑借主觀度量來測試和分析應用使用情況,以便在總體發(fā)布應用之前采取補救性設計/實現措施?
[0004]移動軟件開發(fā)包(MobileSDK)中配備的工具允許設計者/開發(fā)者創(chuàng)建頂層視圖容器和關聯的控件。備選地,開發(fā)者能夠以編程的方式創(chuàng)建具有自定義布局和控件的視圖容器,這些自定義布局和控件被等同地編譯為能夠被目標移動設備使用的格式。此外,還具有工具以調試編譯后的應用,以及分析在“測試”模式下運行的應用內的封裝功能的單元測試。但是,這些方法具有一定的限制,因為它們不捕獲專注于在真實情況下與用戶接口進行的直接交互的應用使用情況(通常稱為“現場測試”)。
[0005]這種現場測試盡管有用,但是通常受到所謂的“測試員(betatester)”的數量的限制。即使相對簡單的軟件程序也可能具有許多布局和控件,測試員可能未測試這些布局和控件的全部或多數可能組合。因此,改進軟件程序的測試將是有利的。
【發(fā)明內容】
[0006]本節(jié)具有示例性實施例的可能實現的例子。本節(jié)并非旨在限制。
[0007]在第一示例性實施例中,一種方法包括在第一計算設備上分析來自至少一個第二計算設備的與先前在所述至少一個第二計算設備上執(zhí)行的應用的用戶接口進行的用戶交互的數據。所述數據對應于與所述應用的所述用戶接口進行的所述用戶交互所導致的事件。所述第一計算設備和所述至少一個第二計算設備不同。所述方法包括由所述第一計算設備生成所分析的數據的一個或多個表示;以及由所述第一計算設備輸出與所述應用的所述用戶接口進行的所述用戶交互的所述一個或多個表示。
[0008]在進一步的示例性實施例中,一種計算設備包括:用于在計算設備上分析來自一個或多個其它計算設備的與先前在所述一個或多個其它計算設備上執(zhí)行的應用的用戶接口進行的用戶交互的數據的部件,所述數據對應于與所述應用的所述用戶接口進行的所述用戶交互所導致的事件,其中所述計算設備和所述一個或多個其它計算設備不同;用于由所述計算設備生成所分析的數據的一個或多個表示的部件;以及用于由所述計算設備輸出與所述應用的所述用戶接口進行的所述用戶交互的所述一個或多個表示的部件。
[0009]一個附加的示例性實施例是一種計算機程序產品,其包括內含計算機可讀程序代碼的計算機可讀存儲介質,所述計算機可讀程序代碼包括:用于在第一計算設備上分析來自至少一個第二計算設備的數據的與先前在所述至少一個第二計算設備上執(zhí)行的應用的用戶接口進行的用戶交互的數據的代碼,所述數據對應于與所述應用的所述用戶接口進行的所述用戶交互所導致的事件,其中所述第一計算設備和所述至少一個第二計算設備不同;用于由所述第一計算設備生成所分析的數據的一個或多個表示的代碼;以及用于由所述第一計算設備輸出與所述應用的所述用戶接口進行的所述用戶交互的所述一個或多個表示的代碼。
[0010]一個附加的示例性實施例是一種計算設備,其包括內含計算機可讀代碼的存儲器以及一個或多個處理單元。所述一個或多個處理單元和所述存儲器被配置為:響應于所述計算機可讀代碼的執(zhí)行而使所述計算設備執(zhí)行以下操作:在所述計算設備上分析來自至少一個其它計算設備的與先前在所述至少一個其它計算設備上執(zhí)行的應用的用戶接口進行的用戶交互的數據,所述數據對應于與所述應用的所述用戶接口進行的所述用戶交互所導致的事件,其中所述計算設備和所述至少一個其它計算設備不同;由所述計算設備生成所分析的數據的一個或多個表示;以及由所述計算設備輸出與所述應用的所述用戶接口進行的所述用戶交互的所述一個或多個表示。
[0011]一個進一步的示例性實施例是一種方法,其包括:接收應用;以及將測量庫插裝到所述應用中以創(chuàng)建所述應用的插裝版本。所述測量庫被定義為在插裝后的應用在計算設備上執(zhí)行時捕獲和記錄與所述插裝后的應用的用戶接口進行的用戶交互所導致的事件。所述插裝后的應用被發(fā)送到一個或多個計算設備。
[0012]一個進一步的示例性實施例是一種計算機系統,其包括:用于接收應用的部件;用于將測量庫插裝到所述應用中以創(chuàng)建所述應用的插裝版本的部件,其中所述測量庫被定義為在插裝后的應用在計算設備上執(zhí)行時捕獲和記錄與所述插裝后的應用的用戶接口進行的用戶交互所導致的事件;以及用于將所述插裝后的應用發(fā)送到一個或多個計算設備的部件。
[0013]—個附加的示例性實施例是一種計算機程序產品,其包括內含計算機可讀程序代碼的計算機可讀存儲介質,所述計算機可讀程序代碼包括:用于接收應用的代碼;用于將測量庫插裝到所述應用中以創(chuàng)建所述應用的插裝版本的代碼,其中所述測量庫被定義為,在插裝后的應用在計算設備上執(zhí)行時,捕獲和記錄與所述插裝后的應用的用戶接口進行的用戶交互所導致的事件;以及用于將所述插裝后的應用發(fā)送到一個或多個計算設備的代碼。
[0014]—種計算機系統包括內含計算機可讀代碼的存儲器以及一個或多個處理單元。所述一個或多個處理單元和所述存儲器被配置為:響應于所述計算機可讀代碼的執(zhí)行而使所述計算機系統執(zhí)行以下操作:接收應用;以及將測量庫插裝到所述應用中以創(chuàng)建所述應用的插裝版本,其中所述測量庫被定義為在插裝后的應用在計算設備上執(zhí)行時捕獲和記錄與所述插裝后的應用的用戶接口進行的用戶交互所導致的事件;以及將所述插裝后的應用發(fā)送到一個或多個計算設備。
[0015]另一示例性實施例是一種方法,其包括當應用在計算設備上執(zhí)行時,由所述計算設備捕獲和記錄與所述應用的用戶接口進行的用戶交互所導致的事件。所述方法包括響應于觸發(fā)器,向另一計算設備發(fā)送包括所捕獲和記錄的事件的數據。
[0016]—個進一步的示例性實施例是一種計算設備,其包括:用于當應用在計算設備上執(zhí)行時由所述計算設備捕獲和記錄與所述應用的用戶接口進行的用戶交互所導致的事件的部件;以及用于響應于觸發(fā)器,向另一計算設備發(fā)送包括所捕獲和記錄的事件的數據的部件。
[0017]—個附加的示例性實施例是一種計算機程序產品,其包括內含計算機可讀程序代碼的計算機可讀存儲介質,所述計算機可讀程序代碼包括:用于當應用在計算設備上執(zhí)行時,由計算設備捕獲和記錄與所述應用的用戶接口進行的用戶交互所導致的事件的代碼;以及用于響應于觸發(fā)器,向另一計算設備發(fā)送包括所捕獲和記錄的事件的數據的代碼。
[0018]—個附加的示例性實施例是一種計算設備,其包括內含計算機可讀代碼的存儲器以及一個或多個處理單元。所述一個或多個處理單元和所述存儲器被配置為:響應于所述計算機可讀代碼的執(zhí)行而使所述計算設備執(zhí)行以下操作:當應用在計算設備上執(zhí)行時,由所述計算設備捕獲和記錄與所述應用的用戶接口進行的用戶交互所導致的事件;以及響應于觸發(fā)器,向另一計算設備發(fā)送包括所捕獲和記錄的事件的數據。
【附圖說明】
[0019]圖1是根據本發(fā)明一示例性實施例的經由網絡通信的計算設備和服務器的框圖;
[0020]圖2示出根據本發(fā)明一示例性實施例的網絡環(huán)境;
[0021]圖3是示例性系統設計的圖示;
[0022]圖4是測量庫的中介的圖示;
[0023]圖5是用戶在應用視圖之丨司導航時的執(zhí)行/交互路徑的頻率的圖不;
[0024]圖6是跟蹤與應用的UI的特定UI控件以及其它區(qū)域的定向觸摸交互的圖示;
[0025]圖7是用于針對現場測試服務器接口,使用現場測試在軟件程序中自動捕獲用戶交互并評估用戶接口的邏輯流程圖,該流程圖示出根據一示例性實施例的示例性方法的操作、包含在計算機可讀存儲器中的計算機程序指令的執(zhí)行結果,和/或在硬件中實現的邏輯所執(zhí)行的功能;
[0026]圖8是用于針對具有插裝的應用的計算設備,使用現場測試在軟件程序中自動捕獲用戶交互并評估用戶接口的邏輯流程圖,該流程圖示出根據一示例性實施例的示例性方法的操作、包含在計算機可讀存儲器中的計算機程序指令的執(zhí)行結果,和/或在硬件中實現的邏輯所執(zhí)行的功能;以及
[0027]圖9(包括圖9A和9B)是用于針對UI評估工具,使用現場測試在軟件程序中自動捕獲用戶交互并評估用戶接口的邏輯流程圖,該流程圖示出根據一示例性實施例的示例性方法的操作、包含在計算機可讀存儲器中的計算機程序指令的執(zhí)行結果,和/或在硬件中實現的邏輯所執(zhí)行的功能。
【具體實施方式】
[0028]盡管下面重點描述移動應用,但是應用的現場測試同樣適用于許多其它類型的應用。例如,許多汽車中具有交互式顯示器,這些交互式顯示器使用應用來設計和定義。這些應用可進行現場測試。而且,桌上型計算機具有可進行現場測試的應用的用戶接口(UI)。另夕卜,應用于移動設備(諸如智能電話和平板計算機)的“應用(app)”模型可以應用到桌上型計算機和便攜式計算機,而且將來也可應用到其它平臺,諸如機頂盒、智能電視等。因此,本發(fā)明的示例性實施例具有廣泛適用性,圖1和2示出這類廣泛適用性。
[0029]現在參考圖1,該圖示出根據本發(fā)明一示例性實施例的經由網絡通信的計算設備和服務器的框圖。圖1被用于提供系統概覽:在該系統中,可使用示例性實施例并且提供某些示例性實施例的概覽。在圖1中,具有計算機系統/服務器12,其通過許多其它的通用或專用計算系統環(huán)境或配置執(zhí)行操作。公知的適合與計算機系統/服務器12使用的計算系統、環(huán)境和/或配置的例子包括但不限于:個人計算機系統、服務器計算機系統、瘦客戶機、胖客戶機、手持式或膝上型設備、多處理器系統、基于微處理器的系統、機頂盒、可編程消費電子產品、網絡PC、迷你計算機系統、大型機計算機系統,以及包括上述任何系統或設備的分布式云計算環(huán)境等。
[0030]如圖1所示,計算機系統/服務器12被示出為采取通用計算設備的形式。計算機系統/服務器12的組件可包括但不限于:一個或多個處理單元16(例如,處理器(多個))、系統存儲器28,連接不同系統組件(其中包括將系統存儲器28連接到一個或多個處理單元16)的總線18??偩€18表示幾類總線結構中的任意一種或多種,包括存儲器總線或者存儲器控制器,外圍總線,圖形加速端口,處理器或者使用多種總線結構中的任意總線結構的局域總線。舉例來說,這些體系結構包括但不限于工業(yè)標準體系結構(ISA)總線,微通道體系