TWI807954B - 以最佳使用者體驗執行軟體測試之電腦實施方法、電腦程式產品及系統 - Google Patents

以最佳使用者體驗執行軟體測試之電腦實施方法、電腦程式產品及系統 Download PDF

Info

Publication number
TWI807954B
TWI807954B TW111129259A TW111129259A TWI807954B TW I807954 B TWI807954 B TW I807954B TW 111129259 A TW111129259 A TW 111129259A TW 111129259 A TW111129259 A TW 111129259A TW I807954 B TWI807954 B TW I807954B
Authority
TW
Taiwan
Prior art keywords
functional
user
software application
user experience
software
Prior art date
Application number
TW111129259A
Other languages
English (en)
Other versions
TW202311963A (zh
Inventor
格蘭特 道格拉斯 米勒爾
艾倫 鍾
傑瑞米 R 福克斯
薩巴傑特 K 瑞克旭
Original Assignee
美商萬國商業機器公司
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 美商萬國商業機器公司 filed Critical 美商萬國商業機器公司
Publication of TW202311963A publication Critical patent/TW202311963A/zh
Application granted granted Critical
Publication of TWI807954B publication Critical patent/TWI807954B/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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3438Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment monitoring of user actions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3466Performance evaluation by tracing or monitoring
    • G06F11/3476Data logging
    • 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/3684Test management for test design, e.g. generating new test cases

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)
  • Debugging And Monitoring (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)

Abstract

本發明揭示一種用於測試一軟體應用程式之電腦實施方法、系統及電腦程式產品。監視使用者與軟體應用程式之功能及非功能態樣的互動。然後基於該等所監視互動生成該等所監視使用者的使用者體驗剖析圖。然後基於該等所生成使用者體驗剖析圖識別與該等軟體應用程式之特定功能及非功能態樣互動相關的該等最佳使用者體驗。創建具有不同類型的與該等軟體應用程式之不同功能及非功能態樣互動相關的最佳使用者體驗的虛擬使用者。然後使用該等虛擬使用者測試該軟體應用程式以判定該軟體應用程式之該等功能及非功能態樣是否滿足與該等虛擬使用者相關聯的該等最佳使用者體驗。可生成指示該軟體應用程式之哪些功能及/或非功能態樣不滿足一虛擬使用者之最佳使用者體驗的一訊息。

Description

以最佳使用者體驗執行軟體測試之電腦實施方法、電腦程式產品及系統
本發明大體而言係關於軟體測試,且更特定而言係關於以最佳使用者體驗執行軟體測試,諸如在軟體產品開發過程的測試階段期間在部署於生產中之前。
諸如在軟體產品開發過程之測試階段期間,軟體測試係為向利害關係人提供關於測試中軟體產品或服務之品質的資訊而進行的調查。軟體測試亦可提供客觀、獨立的軟體視圖,以允許企業瞭解及理解軟體實施的風險。測試技術包括執行程式或應用程式的過程,目的係發現故障並驗證軟體產品是否適合使用。
在本發明之一個實施例中,一種用於測試軟體應用程式之電腦實施方法包含監視與軟體應用程式之功能及非功能態樣互動的使用者。該方法進一步包含基於所監視互動生成所監視使用者的使用者體驗剖析圖。該方法另外包含基於所生成使用者體驗剖析圖識別與軟體應用程式之特定功能及非功能態樣互動相關的最佳使用者體驗。此外,該方法包含創建具有不同類型的與軟體應用程式之不同功能及非功能態樣互動相關的 最佳使用者體驗的虛擬使用者,該等最佳使用者體驗係自識別的最佳使用者體驗獲得。另外,該方法包含使用虛擬使用者執行對軟體應用程式的測試以判定軟體應用程式之功能及非功能態樣是否滿足與虛擬使用者相關聯的最佳使用者體驗。
上文所描述之電腦實施方法的實施例的其他形式在系統及電腦程式產品中。
上文已相當概括地概述本發明之一或多個實施例之特徵及技術優點,以便可較佳地理解以下對本發明之詳細描述。下文將描述本發明之額外特徵及優點,其可形成本發明之申請專利範圍的主題。
100:通信系統
101A:計算裝置
101B:計算裝置
101C:計算裝置
102:軟體開發系統
103:網路
104:測試系統
201:監視引擎
202:剖析圖生成器
203:剖析圖檢查器
204:虛擬使用者生成器
205:測試引擎
301:處理器
302:系統匯流排
303:作業系統
304:應用程式
305:唯讀記憶體(「ROM」)
306:隨機存取記憶體(「RAM」)
307:磁碟配接器
308:磁碟單元
309:通信配接器
400:方法
401:步驟
402:步驟
403:步驟
404:步驟
405:步驟
406:步驟
407:步驟
408:步驟
500:使用者體驗剖析圖
501:功能及/或非功能態樣
502:使用者體驗
當結合以下圖式考慮以下詳細描述時,可獲得對本發明的較佳理解,其中:圖1說明根據本發明之實施例的用於實踐本發明之原理的通信系統;圖2為根據本發明之實施例的由測試系統用於使用與測試中軟體應用程式之功能及非功能態樣相關的使用者之最佳體驗來對軟體應用程式執行測試的軟體組件的圖;圖3說明表示用於實踐本發明之硬體環境的測試系統之硬體組態之本發明之實施例;圖4為根據本發明之實施例的用於測試軟體應用程式以判定其是否滿足使用者之關於軟體應用程式之功能及非功能態樣之最佳體驗的方法的流程圖;及圖5說明根據本發明之實施例的例示性使用者體驗剖析 圖,其含有關於與軟體應用程式之功能及/或非功能態樣相關的使用者體驗的資訊。
如在背景技術章節中所述,諸如在軟體產品開發過程之測試階段期間,軟體測試係為向利害關係人提供關於測試中軟體產品或服務之品質的資訊而進行的調查。軟體測試亦可提供客觀、獨立的軟體視圖,以允許企業瞭解及理解軟體實施的風險。測試技術包括執行程式或應用程式的過程,目的係發現故障並驗證軟體產品是否適合使用。
軟體測試涉及執行軟體組件或系統組件以評估所關注的一或多個性質。一般而言,此等性質指示測試中組件或系統在多大程度上:滿足導引其設計及開發的要求,對所有種類輸入作出正確回應,在可接受時間內執行其功能,充分可用,可在其預期環境中安裝及運行,及實現其利害關係人期望的總體結果。
然而,此類軟體測試無法量化使用者對測試中軟體應用程式之功能及非功能態樣之最佳體驗。舉例而言,當使用者獲得在一毫秒內填充的下拉清單時,使用者可期望在相同或不同應用程式中填充另一下拉清單的此類體驗。
因未測試軟體應用程式來判定軟體應用程式之功能及非功能態樣是否滿足使用者之最佳體驗,由於軟體應用程式之使用者體驗較差,此類軟體應用程式儘管在軟體產品開發過程之測試階段期間表現良好,但可不會被目標使用者很好地接受。
不幸的是,目前不存在一種用來就測試中軟體應用程式之功能及非功能態樣相關的使用者之最佳體驗來測試軟體應用程式的構件。
本發明之實施例提供用於執行軟體測試的構件,軟件測試包括測試軟體應用程式以判定其是否滿足使用者之關於測試中軟體應用程式之功能及非功能態樣之最佳體驗。
在本發明之一些實施例中,本發明包含用於測試軟體應用程式的電腦實施方法、系統及電腦程式產品。在本發明之一個實施例中,監視使用者與軟體應用程式之功能及非功能態樣的互動。如本文中所使用的軟體應用程式之「功能」態樣係指軟體必須執行的要求。舉例而言,此類功能態樣可包括以下類型的要求:異動處置、業務規則、驗證要求、報告要求、管理功能、授權級別、審計追蹤、外部介面等。如本文中所使用,軟體應用程式之「非功能」態樣規定軟體應用程式如何實現此類要求。舉例而言,非功能態樣規定軟體之品質屬性、可擴展性、容量、可維護性、效能(例如,回應時間)、可攜性、安全性、可用性、可靠性、可恢復性、可服務性等。然後基於該等所監視互動生成該等所監視使用者的使用者體驗剖析圖。如本文中所使用,「使用者體驗」剖析圖係指包括關於使用者對實用性、易用性及與軟體應用程式之功能及非功能態樣互動的效率的感知的資料的剖析圖。舉例而言,此類資料可包括與視窗、選單、圖示、介面工具集、表格、游標、指標、插入點等互動相關的使用者之體驗。然後基於此等所生成使用者體驗剖析圖而識別與軟體應用程式之特定功能及非功能態樣互動相關的最佳使用者體驗。舉例而言,在所生成使用者體驗剖析圖中,可判定以1毫秒的最快時間填充含十個條目的下拉選單。因此,可認為最佳使用者體驗對應於以1毫秒填充含十個條目的下拉選單。如本文中所使用,「最佳使用者體驗」係指與軟體應用程式之功能或非功能態樣的最有效或期望的互動,諸如以最小時間量經歷與軟體應用 程式之功能或非功能態樣進行互動。創建具有不同類型的與軟體應用程式之不同功能及非功能態樣互動相關的最佳使用者體驗(自識別的最佳使用者體驗獲得)的虛擬使用者。如本文中所使用,「虛擬使用者」係指使用者之虛擬表示,其最佳使用者體驗將由虛擬使用者表示。如本文中所使用,「虛擬表示」係指經由使用將用於藉由虛擬使用者測試測試中軟體應用程式的使用者之最佳使用者體驗來象徵真實使用者。舉例而言,創建虛擬使用者來測試軟體應用程式以判定軟體應用程式是否滿足與填充含十個項目的選單的非功能態樣相關的最佳使用者體驗,其中此類最佳使用者體驗係與此類創建的虛擬使用者相關聯。然後使用該等虛擬使用者測試該軟體應用程式以判定該軟體應用程式之該等功能及非功能態樣是否滿足與該等虛擬使用者相關聯的該等最佳使用者體驗。若軟體應用程式之一些功能或非功能態樣不滿足與虛擬使用者相關聯的最佳使用者體驗,則可生成訊息,該訊息指示測試中軟體應用程式之哪些功能及/或非功能態樣不滿足虛擬使用者之最佳使用者體驗。軟體開發者可利用此類訊息來糾正此類缺陷。以此方式,可測試軟體應用程式以判定軟體應用程式是否滿足使用者之關於測試中軟體應用程式之功能及非功能態樣之最佳體驗。
在以下描述中,闡述了許多具體細節以提供對本發明的透徹理解。然而,對熟習此項技術者將顯而易見,可在無此等特定細節的情況下實踐本發明。在其他情況下,眾所周知的電路已以方塊圖形式展示,以免在不必要的細節中模糊本發明。在大多數情況下,已省略關於定時考量之細節及其類似物,因為此等細節對獲得對本發明之完全理解並非必要且在熟習此項技術者之能力範圍內。
現在詳細參考附圖,圖1說明用於實踐本發明之原理的通 信系統100的本發明之實施例。通信系統100包括經由網路103連接至軟體開發系統102之計算裝置101A至101C(在圖1中分別識別為「計算裝置A」、「計算裝置B」及「計算裝置C」)。計算裝置101A至101C可分別統稱為或單獨稱為計算裝置101或計算裝置101。注意,計算裝置101及計算裝置101之使用者兩者皆可用元件編號101來識別。
計算裝置101可為組態有連接至網路103並因此與其他計算裝置101及軟體開發系統102通信的能力的任何類型的計算裝置(例如,可攜式計算單元、個人數位助理(PDA)、膝上型電腦、行動裝置、平板個人電腦、智慧型手機、行動電話、導航裝置、遊戲單元、桌上型電腦系統、工作站、網際網路器具及其類似物)。注意,計算裝置101及計算裝置101之使用者兩者皆可用元件編號101來識別。
軟體開發系統102為諸如由軟體開發者在創建、設計、部署及支持軟體的過程中使用的系統。此類軟體開發系統之實例包括但不限於RAD Studio®、embold®、Collaborator®、Studio 3T®、NetBeans®、Zend Studio®、Microsoft® Expression Studio等。
在一個實施例中,使用軟體開發系統102,軟體開發者開發欲測試之軟體產品,諸如進行測試以判定軟體產品是否滿足使用者關於軟體產品之功能及非功能態樣之最佳體驗。
網路103可為例如區域網路、廣域網路、無線廣域網路、電路交換電話網路、全球行動通信系統(GSM)網路、無線應用協定(WAP)網路、WiFi網路、IEEE 802.11標準網路、其各種組合等。在不脫離本發明之範疇的情況下,亦可結合圖1之系統100使用此處省略其描述的其他網路。
系統100進一步包括測試系統104,經由網路103與計算裝置101及軟體開發系統102互連。在一個實施例中,測試系統104經組態以測試軟體應用程式,諸如在軟體產品開發過程之測試階段期間,判定軟體應用程式是否滿足使用者之關於軟體應用程式之功能及非功能態樣之最佳體驗。在一個實施例中,此類軟體應用程式在由軟體開發者使用軟體開發系統102開發的過程中。在一個實施例中,自軟體開發系統102存取此類軟體應用程式以由測試系統104進行測試。在一個實施例中,使用者與軟體應用程式之功能及非功能態樣的互動由測試系統104監視。在一個實施例中,此類資訊用於填充由測試系統104生成的「使用者體驗剖析圖」。如本文中所使用,「使用者體驗」剖析圖係指包括關於使用者對實用性、易用性及與軟體應用程式之功能及非功能態樣互動的效率的感知的資料的剖析圖。舉例而言,此類資料可包括與視窗、選單、圖示、介面工具集、表格、游標、指標、插入點等互動相關的使用者之體驗。此類資料可包括資訊,諸如填充表格的速度、在重調視窗大小或自選單選擇物件時執行的步驟數目、使用者使用使用者控制項(諸如滑鼠、觸控板或類似輸入裝置)將游標或指標自一個位置移動至另一位置花費的時間量、使用者識別插入點(例如插入文字的位置等)花費的時間量。
在一個實施例中,測試系統104利用此類使用者體驗剖析圖來識別與軟體應用程式之特定功能及非功能態樣相關的最佳使用者體驗(例如,填充下拉選單)。舉例而言,在由測試系統104檢查的使用者體驗剖析圖中,可判定以1毫秒的最快時間填充含十個條目的下拉選單。因此,可認為最佳使用者體驗對應於以1毫秒填充含十個條目的下拉選單。如本文中所使用,「最佳使用者體驗」係指與軟體應用程式之功能或非功 能態樣的最有效或期望的互動,諸如以最小時間量經歷與軟體應用程式之功能或非功能態樣進行互動。
在識別出與軟體應用程式之特定功能及非功能態樣相關的最佳使用者體驗時,測試系統104進一步經組態以創建「虛擬使用者」以對應於測試中軟體應用程式之特定功能或非功能態樣之最佳使用者體驗。如本文中所使用,「虛擬使用者」係指使用者之虛擬表示,其最佳使用者體驗將由虛擬使用者表示。如本文中所使用,「虛擬表示」係指經由使用將用於藉由虛擬使用者測試測試中軟體應用程式的使用者之最佳使用者體驗來象徵真實使用者。
在一個實施例中,測試系統104使用虛擬使用者測試軟體應用程式以判定軟體應用程式之功能及非功能態樣是否滿足使用者之最佳體驗,如下文更詳細論述。
下文結合圖2提供對用於使用與測試中軟體應用程式之功能及非功能態樣相關的使用者之最佳體驗來測試軟體應用程式的測試系統104之軟體組件之描述。下文結合圖3進一步提供對測試系統104之硬體組態之描述。
系統100的範疇不限於任何一種特定的網路架構。系統100可包括任何數目的計算裝置101、軟體開發系統102、網路103及測試系統104。
下文結合圖2提供關於由測試系統104使用之軟體組件以使用與測試中軟體應用程式之功能及非功能態樣相關的使用者最佳體驗來執行對軟體應用程式之測試的論述。
圖2為根據本發明之實施例的由測試系統104(圖1)用於使 用與測試中軟體應用程式之功能及非功能態樣相關的使用者之最佳體驗來對軟體應用程式執行測試的軟體組件的圖。
參考圖2,結合圖1,測試系統104包括監視引擎201,所述監視引擎經組態以監視使用者與軟體應用程式之功能及非功能態樣的互動(計算裝置101之使用者的互動),諸如由軟體開發者使用軟體開發系統102開發的軟體應用程式。如本文中所使用的軟體應用程式之「功能」態樣係指軟體必須執行的要求。舉例而言,此類功能態樣可包括以下類型的要求:異動處置、業務規則、驗證要求、報告要求、管理功能、授權級別、審計追蹤、外部介面等。
如本文中所使用,軟體應用程式之「非功能」態樣規定軟體應用程式如何實現此類要求。舉例而言,非功能態樣規定軟體之品質屬性、可擴展性、容量、可維護性、效能(例如,回應時間)、可攜性、安全性、可用性、可靠性、可恢復性、可服務性等。
如上文所論述,監視器引擎201監視使用者與軟體應用程式之功能及非功能態樣的互動。此類使用者互動之實例包括使用者(例如,計算裝置101之使用者)與視窗、選單、圖示、介面工具集、表格、游標、指標、插入點等進行互動。自此類所監視使用者互動收集的資料可包括資訊,諸如填充表格的速度、在重調視窗大小或自選單選擇物件時執行的步驟數目、使用者使用使用者控制項(諸如滑鼠、觸控板或類似輸入裝置)將游標或指標自一個位置移動至另一位置花費的時間量、使用者識別插入點(例如插入文字的位置等)花費的時間量。
在一個實施例中,監視引擎201結合監視使用者與軟體應用程式之功能及非功能態樣的互動來利用使用者行為分析。如本文中所使 用,「使用者行為分析」係指收集、組合及分析定量及定性使用者資料,以理解使用者如何與軟體產品之功能及非功能態樣進行互動以及原因。在一個實施例中,監視引擎201可經由對話記錄來收集此類使用者資料,對話記錄係真實使用者參與(諸如點擊、輕觸及捲動)的呈現,專家可查看對話記錄以瞭解與軟體產品之功能及非功能態樣互動有關的使用者之體驗,例如橫跨電腦螢幕移動游標5英吋的持續時間。在一個實施例中,對話記錄藉由在諸如計算裝置101上安裝應用程式來發生,以在使用者(例如,計算裝置101之使用者)與軟體產品之功能或非功能態樣互動時記錄電腦螢幕。然後將此類對話記錄發送至測試系統104之監視引擎201。在一個實施例中,對話記錄由專家分析以識別使用者與軟體應用程式之功能及非功能態樣的互動。
在一個實施例中,監視引擎201可利用熱圖來識別使用者與軟體產品之功能及非功能態樣的互動,諸如使用者在哪裡移動滑鼠或使用者在哪裡點擊(或在行動裝置的狀況下,其中使用者輕觸、撥動或捲動),以及關於此類互動的資訊,諸如指示較長互動的較深顏色(例如,滑鼠之較長時間移動)。
在另一實施例中,監視引擎201可利用諸如現場調查的調查來收集來自使用者(例如,計算裝置101之使用者)關於軟體產品之哪些功能或非功能態樣正為其工作或哪些未為其工作的個人回應。在一個實施例中,監視引擎201利用回饋介面工具集來獲得關於使用者與軟體產品之功能及非功能態樣相關的體驗的回饋,諸如其喜歡及不喜歡的態樣以及為什麼喜歡及不喜歡此類態樣。在一個實施例中,回饋介面工具集安裝在計算裝置101上以使得計算裝置101之使用者能夠提供關於使用者之與軟體 產品之功能及非功能態樣相關的體驗的回饋。然後將此類回饋提供至監視引擎201。如本文中所使用,「手動文字回饋」包括來自此類介面工具集的回饋以及來自調查的回饋。
監視引擎201用來獲得此類使用者行為分析的軟體工具之實例包括但不限於MixpanelTM、Amplitude®、Heap®、FullStory®、Sherlock、Tableau®、Dynatrace®等。
在另一實施例中,監視引擎201經由日誌收集及分析監視使用者與軟體應用程式之功能及非功能態樣的互動。日誌分析係審查、解釋及理解日誌檔案的過程。在一個實施例中,可在計算裝置101上生成日誌檔案,其含有關於使用者與軟體應用程式之功能及非功能態樣的互動的資訊,諸如由軟體開發者使用軟體開發系統102開發的軟體應用程式。在一個實施例中,日誌檔案自計算裝置101串流傳輸至監視引擎201,或其可儲存在計算裝置101上之檔案中以供監視引擎201稍後查看。在一個實施例中,監視引擎201使用各種軟體工具(例如,Sematext Logs、SolarWinds® Loggly、Splunk、Logentries、Sumo Logic®、ManageEngine® EventLog Analyzer、Papertrail等)來經由日誌收集及分析監視使用者與軟體應用程式之功能及非功能態樣。
在另一實施例中,監視引擎201經由檔案/螢幕截圖捕獲監視使用者與軟體應用程式之功能及非功能態樣的互動。「螢幕截圖」捕獲螢幕上顯示的任何內容,諸如計算裝置101之螢幕,並將其保存在影像檔案中。影像檔案可自計算裝置101傳輸至監視引擎201以供分析。在一個實施例中,螢幕截圖由專家分析以識別使用者與軟體應用程式之功能及非功能態樣的互動。
在另一實施例中,監視引擎201經由來自計算裝置101之使用者佩戴的可穿戴裝置的生物特徵資料饋送來監視使用者與軟體應用程式之功能及非功能態樣的互動,其中在一個實施例中,計算裝置101表示使用者佩戴的可穿戴裝置。在一個實施例中,生物特徵資料饋送包括由與個體的身體、生理或行為特性相關的軟體應用程式之功能及/或非功能態樣的互動產生的個人資料。具體實例在一個實施例中,機器學習可用於在使用者指示(諸如經由回饋介面工具集)發生最佳使用者體驗的時間之後基於使用者之身體、生理或行為特性而判定「最佳」使用者體驗(與軟體應用程式之功能或非功能態樣的最有效或期望的互動,諸如以最小時間量經歷與軟體應用程式之功能或非功能態樣進行互動)。在出現最佳使用者體驗時,識別使用者之身體、生理或行為特性。隨著時間的推移,識別使用者之身體、生理或行為特性與最佳使用者體驗之間的相關性。
在一個實施例中,監視引擎201使用機器學習演算法(例如,監督學習)來基於由與使用者之最佳體驗相關的使用者之物理、生理或行為特性組成的樣品資料建立數學模型。此類資料可自上文論述之生物特徵資料饋送獲得。此類資料集在本文中被稱為「訓練資料」,機器學習演算法使用此類資料集來進行預測或決策,而無需明確程式化來執行任務。在一個實施例中,訓練資料由與使用者之最佳體驗相關的使用者之身體、生理或行為特性。該演算法迭代地對關於與使用者之身體、生理或行為特性相關的使用者之最佳體驗的訓練資料進行預測。此類監督學習演算法之實例包括最近相鄰者、簡易貝氏、決策樹、線性回歸、支援向量機及神經網路。
在一個實施例中,數學模型(機器學習模型)對應於分類模 型,該分類模型經訓練來預測與使用者之身體、生理或行為特性相關的使用者之最佳體驗。
測試系統104進一步包括剖析圖生成器202,該剖析圖生成器經組態以為所監視使用者(例如,計算裝置101之使用者)生成「使用者體驗剖析圖」。如本文中所使用,「使用者體驗」剖析圖係指包括關於使用者對實用性、易用性及與軟體應用程式之功能及非功能態樣互動的效率的感知的資料的剖析圖。在一個實施例中,此類資料可由監視引擎201自所監視使用者的互動獲得。舉例而言,此類資料可包括與視窗、選單、圖示、介面工具集、表格、游標、指標、插入點等互動相關的使用者之體驗。此類資料可包括資訊,諸如填充表格的速度、在重調視窗大小或自選單選擇物件時執行的步驟數目、使用者使用使用者控制項(諸如滑鼠、觸控板或類似輸入裝置)將游標或指標自一個位置移動至另一位置花費的時間量、使用者識別插入點(例如插入文字的位置等)花費的時間量。
在一個實施例中,使用者體驗剖析圖對應於儲存在測試系統104之儲存裝置(例如,記憶體、磁碟單元)中之資料結構。在一個實施例中,此類使用者體驗剖析圖包括功能及非功能態樣(例如,視窗、介面工具集、選單、表格)以及與此類功能及非功能態樣互動相關的使用者體驗(例如,持續時間、步驟數目)。
在一個實施例中,使用者體驗剖析圖包括軟體應用程式之特定功能及非功能態樣(例如,下拉選單)以及關於此一態樣的互動資料(例如,填充含十個條目的下拉選單的速度、在下拉選單中選擇條目的步驟數目等),其中此類資訊由監視引擎201獲得。
在一個實施例中,剖析圖生成器202為其互動由監視引擎 201監視的每一特定使用者(例如,計算裝置101之使用者)生成使用者體驗剖析圖。
此外,測試系統104包括剖析圖檢查器203,該剖析圖檢查器經組態以自所生成使用者體驗剖析圖中識別與軟體應用程式之特定功能及非功能態樣相關的最佳使用者體驗(例如,填充下拉選單),其使用者(例如,計算裝置101之使用者)的互動由監視引擎201監視。亦即,剖析圖檢查器203檢查由剖析圖生成器202生成的使用者體驗剖析圖,以識別與軟體應用程式之特定功能及非功能態樣相關的最佳使用者體驗。舉例而言,在由剖析圖檢查器203檢查的使用者體驗剖析圖中,可判定以1毫秒的最快時間填充含十個條目的下拉選單。因此,可認為最佳使用者體驗對應於以1毫秒填充含十個條目的下拉選單。如本文中所使用,「最佳使用者體驗」係指與軟體應用程式之功能或非功能態樣的最有效或期望的互動,諸如以最小時間量經歷與軟體應用程式之功能或非功能態樣進行互動。
在一個實施例中,剖析圖檢查器203利用自然語言處理來識別使用者體驗剖析圖中所論述之功能或非功能態樣。在一個實施例中,此類功能或非功能態樣藉由識別對應於此類功能或非功能態樣的關鍵字(例如,下拉選單)來識別,其中此類關鍵字(例如,介面工具集)列在資料結構(例如,表)中。在一個實施例中,此類資料結構儲存在測試系統104之儲存裝置(例如,記憶體、磁碟單元)中。
在一個實施例中,剖析圖檢查器203基於識別與儲存在使用者體驗剖析圖中之此類功能及非功能態樣相關聯的資料(例如,時間、步驟數目)來識別與此類識別之功能或非功能態樣相關聯的使用者體驗。 舉例而言,在使用者之體驗剖析圖中,填充含十個項目的下拉選單之非功能態樣可與使用者之與此類非功能態樣互動相關的體驗相關聯(例如,1毫秒來填充含十個項目的下拉選單)。
在一個實施例中,對於由剖析圖檢查器203所識別之軟體應用程式之每一獨特功能或非功能態樣,剖析圖檢查器203基於檢查由剖析圖生成器202生成之所有使用者體驗剖析圖而識別與軟體應用程式之此類功能或非功能態樣互動相關的所有使用者之體驗。在此等所識別使用者之體驗中,識別「最佳」使用者體驗,諸如對應於與軟體應用程式之此類功能或非功能態樣互動相關使用的最短時間或最少步驟數目。在一個實施例中,由專家判定關於什麼構成與軟體應用程式之功能或非功能態樣有關的「最佳」使用者體驗的判定(例如,最少步驟數目、最短時間)。在一個實施例中,剖析圖檢查器203基於識別用於識別與軟體應用程式之特定功能或非功能態樣相關的「最佳」使用者體驗的判定因素(例如,最少步驟數目、最短時間)來判定「最佳」使用者體驗,其中此類判定因素係自由專家建立之資料結構(例如,表格)獲得。舉例而言,專家可在資料結構中指示,用於識別與填充下拉選單之非功能態樣有關的「最佳」使用者體驗的決定因素係最少的時間量。此類資訊可由剖析圖檢查器203使用自然語言處理自資料結構獲得,以識別非功能態樣(例如,下拉選單)以及用於識別「最佳」使用者體驗的對應判定因素。在一個實施例中,此類資料結構儲存在測試系統104之儲存裝置(例如,記憶體、磁碟單元)中。
在一個實施例中,剖析圖檢查器203利用軟體工具,諸如Aggregate Profiler、Atlan®、IBM® InfoSphere® Information Analyser、Informatica® Data Explorer、Melissa® Data Profiler、 Microsoft® DOCS、SAP BODS、SAS® DataFlux、Talend® Open Studio等,以檢查/分析使用者體驗剖析圖,如上文所論述。
測試系統104進一步包括虛擬使用者生成器204,其經組態以創建具有不同類型的與軟體應用程式之不同之功能及非功能態樣相關的最佳使用者體驗(自由剖析圖檢查器203所識別之最佳使用者體驗獲得)的虛擬使用者。
如本文中所使用,「虛擬使用者」係指使用者之虛擬表示,其最佳使用者體驗將由虛擬使用者表示。如本文中所使用,「虛擬表示」係指經由使用將用於藉由虛擬使用者測試測試中軟體應用程式的使用者之最佳使用者體驗來象徵真實使用者。
舉例而言,虛擬使用者生成器204可創建虛擬使用者以測試軟體應用程式以判定軟體應用程式是否滿足與填充含十個項目的選單的非功能態樣相關的最佳使用者體驗,其中此類最佳使用者體驗係與此類創建的虛擬使用者相關聯。在一個實施例中,此類最佳使用者體驗係自由剖析圖檢查器203所識別之最佳使用者體驗獲得的。
在一個實施例中,虛擬使用者生成器204針對每一類型的與欲測試之軟體應用程式之每一功能或非功能態樣相關的最佳使用者體驗創建虛擬使用者。在一個實施例中,此類最佳使用者體驗係自由剖析圖檢查器203所識別之最佳使用者體驗獲得。
在一個實施例中,此類虛擬使用者對應於具有用於測試軟體應用程式的指令的剖析圖,以判定其是否滿足與欲測試之軟體應用程式之每一功能或非功能態樣相關的最佳使用者體驗。在一個實施例中,虛擬使用者生成器204利用軟體工具(例如,WAPT Pro、Oracle®功能測試可 視化指令碼、OpDesk等)來創建此類剖析圖。
測試系統104進一步包括測試引擎205,該測試引擎經組態以使用虛擬使用者測試軟體應用程式以判定軟體應用程式之功能及非功能態樣是否滿足使用者之最佳體驗。舉例而言,測試引擎205判定測試中軟體應用程式是否滿足虛擬使用者中之每一者之最佳使用者之體驗。舉例而言,諸如剖析圖(「虛擬使用者剖析圖」)中之虛擬使用者之指令可由測試引擎205用來運行所討論的軟體應用程式之功能或非功能態樣(與虛擬使用者相關聯之功能或非功能態樣)的測試以判定其是否滿足虛擬使用者之最佳使用者之體驗。在一個實施例中,與軟體應用程式之不同類型之功能及非功能態樣相關聯的虛擬使用者中之每一者用於執行對軟體應用程式的測試以判定軟體應用程式是否滿足此等功能及非功能態樣中之每一者之最佳使用者之體驗。在一個實施例中,此類虛擬使用者剖析圖儲存在測試單元104之儲存裝置(例如,記憶體、磁碟單元)中。
在一個實施例中,測試引擎205識別不能滿足虛擬使用者之最佳使用者之體驗的軟體應用程式之任何功能及/或非功能態樣。舉例而言,若如虛擬使用者所捕獲之使用者之最佳體驗係在1毫秒內填充含十個項目的下拉選單,且測試中軟體應用程式花費2毫秒來填充相同的下拉選單,則測試引擎205將識別此類故障。在一個實施例中,如上文所論述,將在虛擬使用者剖析圖中提供在測試中軟體應用程式中填充相同下拉選單的此類指令。
在一個實施例中,測試引擎205生成指示測試中軟體應用程式之哪些功能及/或非功能態樣不滿足虛擬使用者之最佳使用者體驗的訊息。軟體開發者可利用此類訊息來糾正此類缺陷。
在一個實施例中,測試引擎205使用軟體工具(諸如Selenium®、TestingWhiz、TestComplete®、Ranorex®、Sahi、Watir、Tosca Testsuite®、Katalon Studio®等)來使用虛擬使用者來測試軟體應用程式以判定軟體應用程式之功能及非功能態樣是否滿足使用者之最佳體驗。
下文結合對用於測試軟體應用程式之方法之論述提供此等及其他功能的進一步描述,諸如在軟體產品開發過程之測試階段期間,以判定軟體應用程式是否滿足使用者之關於軟體應用程式之功能及非功能態樣之最佳體驗。
在論述用於測試軟體應用程式以判定其是否滿足使用者之關於軟體應用程式之功能及非功能態樣之最佳體驗的方法之前,下文結合圖3提供對測試系統104(圖1)之硬體組態之描述。
現在參考圖3,圖3說明表示用於實踐本發明之硬體環境之測試系統104(圖1)之硬體組態的本發明之實施例。
測試系統104具有通過系統匯流排302連接至各種其他組件之處理器301。作業系統303在處理器301上運行及提供控制並協調圖3之各種組件之功能。根據本發明之原理的應用程式304與作業系統303一起運行並向作業系統303提供調用,其中調用實施應用程式304欲執行的各種功能或服務。應用程式304可包括例如監視引擎201(圖2)、剖析圖生成器202(圖2)、剖析圖檢查器203(圖2)、虛擬使用者生成器204(圖2)及測試引擎205(圖2)。此外,應用程式304可包括,例如,用於測試軟體應用程式以判定其是否滿足使用者之關於軟體應用程式之功能及非功能態樣之最佳體驗的程式,如下文結合圖4至圖5進一步論述。
再次參考圖3,唯讀記憶體(「ROM」)305連接至系統匯流排302並且包括控制測試系統104之某些基本功能之基本輸入/輸出系統(「BIOS」)。隨機存取記憶體(「RAM」)306及磁碟配接器307亦連接至系統匯流排302。應注意,包括作業系統303及應用程式304之軟體組件可加載至RAM 306中,該RAM可為測試系統104之主記憶體以供執行。磁碟配接器307可為與磁碟單元308(例如,磁碟機)通信的整合式驅動電子(「IDE」)配接器。應注意,用於測試軟體應用程式以判定其是否滿足使用者之關於軟體應用程式之功能及非功能態樣之最佳體驗的程式,如下文結合圖4至圖5進一步論述,可駐留在磁碟單元308中或在應用程式304中。
測試系統104可進一步包括連接至匯流排302之通信配接器309。通信配接器309將匯流排302與外部網路(例如,圖1之網路103)互連,以與諸如圖1之計算裝置101及軟體開發系統102的其他裝置通信。
在一個實施例中,測試系統104之應用程式304包括監視引擎201、剖析圖生成器202、剖析圖檢查器203、虛擬使用者生成器204及測試引擎205的軟體組件。在一個實施例中,此類組件可在硬體中實施,其中此類硬體組件將連接至匯流排302。由磁碟組件執行之上文所論述功能並非通用電腦功能。因此,測試系統104係特定機器,其係實施特定、非通用電腦功能的結果。
在一個實施例中,測試系統104之此類軟體組件(例如,監視引擎201、剖析圖生成器202、剖析圖檢查器203、虛擬使用者生成器204及測試引擎205)之功能,包括用於執行軟體測試之功能可體現在特殊應用積體電路中。
本發明可為處於任何可能技術細節整合級別的系統、方法及/或電腦程式產品。電腦程式產品可包括其上具有用於致使處理器實施本發明之態樣的電腦可讀程式指令之(一或多個)電腦可讀儲存媒體。
電腦可讀儲存媒體可為可保留及儲存指令以供指令執行裝置使用的有形裝置。電腦可讀儲存媒體可係例如但不限於電子儲存裝置、磁儲存裝置、光學儲存裝置、電磁儲存裝置、半導體儲存裝置或前述之任何合適的組合。電腦可讀儲存媒體之更多具體實例之非窮舉清單包括以下:可攜式電腦磁碟、硬碟、隨機存取記憶體(RAM)、唯讀記憶體(ROM)、可抹除可程式化唯讀記憶體(EPROM或快閃記憶體)、靜態隨機存取記憶體(SRAM)、可攜式光碟唯讀記憶體(CD-ROM)、數位多功能光碟(DVD)、記憶體棒、軟碟、機械編碼裝置(諸如其上記錄有指令的打孔卡或在槽中的凸起結構),以及上述之任何合適的組合。如本文中所使用之電腦可讀儲存媒體本身不應被解釋為暫態信號,諸如無線電波或其他自由傳播之電磁波、藉由波導或其他傳輸媒體傳播之電磁波(例如,藉由光纖纜線傳送之光脈衝)或藉由電線傳輸之電信號。
本文中所描述之電腦可讀程式指令可自電腦可讀儲存媒體下載至各別計算/處理裝置,或經由網路(例如網際網路、區域網路、廣域網路及/或無線網路)下載至外部電腦或外部儲存裝置。網路可包含銅傳輸電纜、光傳輸光纖、無線傳輸、路由器、防火牆、交換器、網關電腦及/或邊緣伺服器。在每一計算/處理裝置中之網路配接器卡或網路介面自網路接收電腦可讀程式指令並轉發電腦可讀程式指令用於存儲在各別計算/處理裝置內之電腦可讀儲存媒體中。
用於實施本發明之操作的電腦可讀程式指令可係組譯器指 令、指令集架構(ISA)指令、機器指令、機器相關指令、微碼、韌體指令、狀態設置資料、積體電路之組態資料、或以一或多種程式化語言的任何組合編寫的原始程式碼或物件程式碼,包括物件導向程式化語言(諸如Smalltalk、C++或類似物)以及程序程式化語言(諸如「C」程式化語言或類似的程式化語言)。電腦可讀程式指令可完全在使用者電腦上、部分在使用者電腦上、作為獨立軟體套件、部分在使用者電腦上及部分在遠端電腦上或完全在遠端電腦或伺服器上執行。在後一情形中,遠端電腦可經由包括區域網路(LAN)或廣域網路(WAN)的任何類型的網路連接至使用者之電腦或可連接至外部電腦(舉例而言,藉由使用網際網路服務提供商的網際網路)。在一些具體實例中,包括例如可程式化邏輯電路系統、現場可程式化閘陣列(FPGA)或可程式化邏輯陣列(PLA)之電子電路系統可藉由利用電腦可讀程序指令之狀態資訊來執行電腦可讀程式指令以個性化電子電路系統,以便執行本發明之態樣。
本文中參考根據本發明之具體實例的方法、設備(系統)及電腦程式產品的流程圖說明及/或方塊圖描述本發明之各態樣。將理解,流程圖說明及/或方塊圖之每一區塊以及在流程圖說明及/或方塊圖中之區塊的組合可藉由電腦可讀程式指令實施。
此等電腦程式指令可提供至電腦或其他可程式化資料處理設備之處理器,以產生機器,使得該等指令(其經由電腦或其他可程式化資料處理設備之處理器執行)形成用於實施該(等)流程圖及/或方塊圖方塊中所規定之功能/動作之構件。該等電腦可讀程式指令亦可儲存在可指示電腦、可程式化資料處理設備及/或其他裝置從而以特定方式操作的電腦可讀儲存媒體中,使得在其中儲存有指令之電腦可讀儲存媒體包含包括在 流程圖及/或方塊圖區塊(或多個區塊)中規定的功能/行為的各態樣的指令的製造物件。
電腦可讀程式指令亦可加載至電腦、其他可程式化資料處理設備或其他裝置上,以致使對電腦、其他可程式化設備或其他裝置執行一系列操作步驟以產生電腦實施過程,使得在電腦、其他可程式化設備或其他裝置上執行的指令實施在流程圖及/或方塊圖區塊(或多個區塊)中規定的功能/動作。
諸圖中之流程圖及方塊圖說明根據本發明之各個具體實例的系統、方法及電腦程式產品的可能實施方案的架構、功能性及操作。就此而言,流程圖或方塊圖中之每一區塊可表示指令之模組、區段或部分,其包含用於實施規定邏輯功能之一或多個可執行指令。在一些替代實施方案中,區塊中所敍述之功能可不按圖中所敍述的順序發生。舉例而言,取決於所涉及之功能性,以連續方式展示之兩個區塊實際上可作為一個步驟完成,同時、大體上同時、以部分或全部時間重疊的方式執行,或區塊有時可以相反次序執行。亦應注意,方塊圖及/或流程圖說明中之每一區塊以及方塊圖及/或流程圖說明中之區塊的組合可由執行所規定功能或動作或實施專用硬體及電腦指令檔組合的基於專用硬體之系統來實施。
如上文所述,諸如在軟體產品開發過程的測試階段期間,軟體測試係為向利害關係人提供關於測試中軟體產品或服務之品質的資訊而進行的調查。軟體測試亦可提供客觀、獨立的軟體視圖,以允許企業瞭解及理解軟體實施的風險。測試技術包括執行程式或應用程式的過程,目的係發現故障並驗證軟體產品是否適合使用。軟體測試涉及執行軟體組件或系統組件以評估所關注的一或多個性質。一般而言,此等性質指示測試 中組件或系統在多大程度上:滿足導引其設計及開發的要求,對所有種類輸入作出正確回應,在可接受時間內執行其功能,充分可用,可在其預期環境中安裝及運行,及實現其利害關係人期望的總體結果。然而,此類軟體測試無法量化使用者對測試中軟體應用程式之功能及非功能態樣之最佳體驗。舉例而言,當使用者獲得在一毫秒內填充的下拉清單時,使用者可期望在相同或不同應用程式中填充另一下拉清單的此類體驗。因未測試軟體應用程式來判定軟體應用程式之功能及非功能態樣是否滿足使用者之最佳體驗,由於軟體應用程式之使用者體驗較差,此類軟體應用程式儘管在軟體產品開發過程之測試階段期間表現良好,但可不會被目標使用者很好地接受。不幸的是,目前不存在一種用來就測試中軟體應用程式之功能及非功能態樣相關的使用者之最佳體驗來測試軟體應用程式的構件。
本發明之實施例提供用於執行軟體測試的構件,軟件測試包括測試軟體應用程式以判定其是否滿足使用者之關於測試中軟體應用程式之功能及非功能態樣之最佳體驗,如下文結合圖4及圖5所論述。圖4為用於測試軟體應用程式以判定其是否滿足使用者之關於軟體應用程式之功能及非功能態樣之最佳體驗的方法的流程圖。圖5說明例示性使用者體驗剖析圖,其含有關於與軟體應用程式之功能及/或非功能態樣相關的使用者體驗的資訊。
如上文所述,圖4為根據本發明之實施例的用於測試軟體應用程式以判定其是否滿足使用者之關於軟體應用程式之功能及非功能態樣之最佳體驗的方法400的流程圖。
結合圖1至圖3參考圖4,在步驟401中,測試系統104之監視引擎201監視使用者(例如,計算裝置101之使用者)與軟體應用程式之功 能及非功能態樣互動,諸如軟體應用程式由軟體開發者使用軟體開發系統102開發。
如上文所論述,如本文中所使用的軟體應用程式之「功能」態樣係指軟體必須執行的要求。舉例而言,此類功能態樣可包括以下類型的要求:異動處置、業務規則、驗證要求、報告要求、管理功能、授權級別、審計追蹤、外部介面等。
如本文中所使用,軟體應用程式之「非功能」態樣規定軟體應用程式如何實現此類要求。舉例而言,非功能態樣規定軟體之品質屬性、可擴展性、容量、可維護性、效能(例如,回應時間)、可攜性、安全性、可用性、可靠性、可恢復性、可服務性等。
亦如上文所論述,監視器引擎201監視使用者與軟體應用程式之功能及非功能態樣的互動。此類使用者互動之實例包括使用者(例如,計算裝置101之使用者)與視窗、選單、圖示、介面工具集、表格、游標、指標、插入點等進行互動。自此類所監視使用者互動收集的資料可包括資訊,諸如填充表格的速度、在重調視窗大小或自選單選擇物件時執行的步驟數目、使用者使用使用者控制項(諸如滑鼠、觸控板或類似輸入裝置)將游標或指標自一個位置移動至另一位置花費的時間量、使用者識別插入點(例如插入文字的位置等)花費的時間量。
在一個實施例中,監視引擎201結合監視使用者與軟體應用程式之功能及非功能態樣的互動來利用使用者行為分析。如本文中所使用,「使用者行為分析」係指收集、組合及分析定量及定性使用者資料,以理解使用者如何與軟體產品之功能及非功能態樣進行互動以及原因。在一個實施例中,監視引擎201可經由對話記錄來收集此類使用者資料,對 話記錄係真實使用者參與(諸如點擊、輕觸及捲動)的呈現,專家可查看對話記錄以瞭解與軟體產品之功能及非功能態樣互動有關的使用者之體驗,例如橫跨電腦螢幕移動游標5英吋的持續時間。在一個實施例中,對話記錄藉由在諸如計算裝置101上安裝應用程式來發生,以在使用者(例如,計算裝置101之使用者)與軟體產品之功能或非功能態樣互動時記錄電腦螢幕。然後將此類對話記錄發送至測試系統104之監視引擎201。在一個實施例中,對話記錄由專家分析以識別使用者與軟體應用程式之功能及非功能態樣的互動。
在一個實施例中,監視引擎201可利用熱圖來識別使用者與軟體產品之功能及非功能態樣的互動,諸如使用者在哪裡移動滑鼠或使用者在哪裡點擊(或在行動裝置的狀況下,其中使用者輕觸、撥動或捲動),以及關於此類互動的資訊,諸如指示較長互動的較深顏色(例如,滑鼠之較長時間移動)。
在另一實施例中,監視引擎201可利用諸如現場調查的調查來收集來自使用者(例如,計算裝置101之使用者)關於軟體產品之哪些功能或非功能態樣正為其工作或哪些未為其工作的個人回應。在一個實施例中,監視引擎201利用回饋介面工具集來獲得關於使用者與軟體產品之功能及非功能態樣相關的體驗的回饋,諸如其喜歡及不喜歡的態樣以及為什麼喜歡及不喜歡此類態樣。在一個實施例中,回饋介面工具集安裝在計算裝置101上以使得計算裝置101之使用者能夠提供關於使用者之與軟體產品之功能及非功能態樣相關的體驗的回饋。然後將此類回饋提供至監視引擎201。如本文中所使用,「手動文字回饋」包括來自此類介面工具集的回饋以及來自調查的回饋。
監視引擎201用來獲得此類使用者行為分析的軟體工具之實例包括但不限於MixpanelTM、Amplitude®、Heap®、FullStory®、Sherlock、Tableau®、Dynatrace®等。
在另一實施例中,監視引擎201經由日誌收集及分析監視使用者與軟體應用程式之功能及非功能態樣的互動。日誌分析係審查、解釋及理解日誌檔案的過程。在一個實施例中,可在計算裝置101上生成日誌檔案,其含有關於使用者與軟體應用程式之功能及非功能態樣的互動的資訊,諸如由軟體開發者使用軟體開發系統102開發的軟體應用程式。在一個實施例中,日誌檔案自計算裝置101串流傳輸至監視引擎201,或其可儲存在計算裝置101上之檔案中以供監視引擎201稍後查看。在一個實施例中,監視引擎201使用各種軟體工具(例如,Sematext Logs、SolarWinds® Loggly、Splunk、Logentries、Sumo Logic®、ManageEngine® EventLog Analyzer、Papertrail等)來經由日誌收集及分析監視使用者與軟體應用程式之功能及非功能態樣。
在另一實施例中,監視引擎201經由檔案/螢幕截圖捕獲監視使用者與軟體應用程式之功能及非功能態樣的互動。「螢幕截圖」捕獲螢幕上顯示的任何內容,諸如計算裝置101之螢幕,並將其保存在影像檔案中。影像檔案可自計算裝置101傳輸至監視引擎201以供分析。在一個實施例中,螢幕截圖由專家分析以識別使用者與軟體應用程式之功能及非功能態樣的互動。
在另一實施例中,監視引擎201經由來自計算裝置101之使用者佩戴的可穿戴裝置的生物特徵資料饋送來監視使用者與軟體應用程式之功能及非功能態樣的互動,其中在一個實施例中,計算裝置101表示使 用者佩戴的可穿戴裝置。在一個實施例中,生物特徵資料饋送包括由與個體的身體、生理或行為特性相關的軟體應用程式之功能及/或非功能態樣的互動產生的個人資料。具體實例在一個實施例中,機器學習可用於在使用者指示(諸如經由回饋介面工具集)發生最佳使用者體驗的時間之後基於使用者之身體、生理或行為特性而判定「最佳」使用者體驗(與軟體應用程式之功能或非功能態樣的最有效或期望的互動,諸如以最小時間量經歷與軟體應用程式之功能或非功能態樣進行互動)。在出現最佳使用者體驗時,識別使用者之身體、生理或行為特性。隨著時間的推移,識別使用者之身體、生理或行為特性與最佳使用者體驗之間的相關性。
在一個實施例中,監視引擎201使用機器學習演算法(例如,監督學習)來基於由與使用者之最佳體驗相關的使用者之物理、生理或行為特性組成的樣品資料建立數學模型。此類資料可自上文論述之生物特徵資料饋送獲得。此類資料集在本文中被稱為「訓練資料」,機器學習演算法使用此類資料集來進行預測或決策,而無需明確程式化來執行任務。在一個實施例中,訓練資料由與使用者之最佳體驗相關的使用者之身體、生理或行為特性。該演算法迭代地對關於與使用者之身體、生理或行為特性相關的使用者之最佳體驗的訓練資料進行預測。此類監督學習演算法之實例包括最近相鄰者、簡易貝氏、決策樹、線性回歸、支援向量機及神經網路。
在一個實施例中,數學模型(機器學習模型)對應於分類模型,該分類模型經訓練來預測與使用者之身體、生理或行為特性相關的使用者之最佳體驗。
在步驟402中,測試系統104之剖析圖生成器202基於所監 視互動生成所監視使用者的使用者體驗剖析圖。
如上文所論述,如本文中所使用,「使用者體驗」剖析圖係指包括關於使用者對實用性、易用性及與軟體應用程式之功能及非功能態樣互動的效率的感知的資料的剖析圖。在一個實施例中,此類資料可由監視引擎201自所監視使用者的互動獲得。舉例而言,此類資料可包括與視窗、選單、圖示、介面工具集、表格、游標、指標、插入點等互動相關的使用者之體驗。此類資料可包括資訊,諸如填充表格的速度、在重調視窗大小或自選單選擇物件時執行的步驟數目、使用者使用使用者控制項(諸如滑鼠、觸控板或類似輸入裝置)將游標或指標自一個位置移動至另一位置花費的時間量、使用者識別插入點(例如插入文字的位置等)花費的時間量。
在一個實施例中,使用者體驗剖析圖對應於儲存在測試系統104之儲存裝置(例如,記憶體305、磁碟單元308)中之資料結構。在一個實施例中,此類使用者體驗剖析圖包括功能及非功能態樣(例如,視窗、介面工具集、選單、表格)以及與此類功能及非功能態樣互動相關的使用者體驗(例如,持續時間、步驟數目)。
在一個實施例中,使用者體驗剖析圖包括軟體應用程式之特定功能及非功能態樣(例如,下拉選單)以及關於此一態樣的互動資料(例如,填充含十個條目的下拉選單的速度、在下拉選單中選擇條目的步驟數目等),其中此類資訊由監視引擎201獲得。
在一個實施例中,剖析圖生成器202為其互動由監視引擎201監視的每一特定使用者(例如,計算裝置101之使用者)生成使用者體驗剖析圖。
下文結合圖5論述例示性使用者體驗剖析圖的說明,該剖析圖含有關於使用者之體驗的資訊,使用者之體驗與軟體應用程式之功能及/或非功能態樣有關。
參考圖5,圖5說明根據本發明之實施例的例示性使用者體驗剖析圖,其含有關於與軟體應用程式之功能及/或非功能態樣相關的使用者體驗的資訊。
如在圖5中所展示,使用者體驗剖析圖500包括功能及/或非功能態樣501以及對應使用者體驗502的清單。舉例而言,用十個項目填充下拉選單的非功能態樣具有1.12毫秒之對應使用者體驗。在另一實例中,重調具有20個項目的表格大小的非功能態樣具有2.12毫秒的對應使用者體驗。在又一實例中,自下拉選單選擇條目的非功能態樣具有對應3個步驟的使用者體驗。
返回至圖4,結合圖1至圖3及圖5,在步驟403中,測試系統104之剖析圖檢查器203基於所生成使用者體驗剖析圖而識別與軟體應用程式之特定功能及非功能態樣互動相關之最佳使用者體驗。
如上文所述,剖析圖檢查器203經組態以自所生成使用者體驗剖析圖中識別與軟體應用程式之特定功能及非功能態樣相關的最佳使用者體驗(例如,填充下拉選單),其使用者(例如,計算裝置101之使用者)的互動由監視引擎201監視。亦即,剖析圖檢查器203檢查由剖析圖生成器202生成的使用者體驗剖析圖,以識別與軟體應用程式之特定功能及非功能態樣相關的最佳使用者體驗。舉例而言,在由剖析圖檢查器203檢查的使用者體驗剖析圖中,可判定以1毫秒的最快時間填充含十個條目的下拉選單。因此,可認為最佳使用者體驗對應於以1毫秒填充含十個條目的 下拉選單。如本文中所使用,「最佳使用者體驗」係指與軟體應用程式之功能或非功能態樣的最有效或期望的互動,諸如以最小時間量經歷與軟體應用程式之功能或非功能態樣進行互動。
在一個實施例中,剖析圖檢查器203利用自然語言處理來識別使用者體驗剖析圖中所論述之功能或非功能態樣。在一個實施例中,此類功能或非功能態樣藉由識別對應於此類功能或非功能態樣的關鍵字(例如,下拉選單)來識別,其中此類關鍵字(例如,介面工具集)列在資料結構(例如,表)中。在一個實施例中,此類資料結構儲存在測試系統104之儲存裝置(例如,記憶體305、磁碟單元308)中。
在一個實施例中,剖析圖檢查器203基於識別與儲存在使用者體驗剖析圖中之此類功能及非功能態樣相關聯的資料(例如,時間、步驟數目)來識別與此類識別之功能或非功能態樣相關聯的使用者體驗。舉例而言,在使用者之體驗剖析圖中,填充含十個項目的下拉選單之非功能態樣可與使用者之與此類非功能態樣互動相關的體驗相關聯(例如,1毫秒來填充含十個項目的下拉選單)。
在一個實施例中,對於由剖析圖檢查器203所識別之軟體應用程式之每一獨特功能或非功能態樣,剖析圖檢查器203基於檢查由剖析圖生成器202生成之所有使用者體驗剖析圖而識別與軟體應用程式之此類功能或非功能態樣互動相關的所有使用者之體驗。在此等所識別使用者之體驗中,識別「最佳」使用者體驗,諸如對應於與軟體應用程式之此類功能或非功能態樣互動相關使用的最短時間或最少步驟數目。在一個實施例中,由專家判定關於什麼構成與軟體應用程式之功能或非功能態樣有關的「最佳」使用者體驗的判定(例如,最少步驟數目、最短時間)。在一個 實施例中,剖析圖檢查器203基於識別用於識別與軟體應用程式之特定功能或非功能態樣相關的「最佳」使用者體驗的判定因素(例如,最少步驟數目、最短時間)來判定「最佳」使用者體驗,其中此類判定因素係自由專家建立之資料結構(例如,表格)獲得。舉例而言,專家可在資料結構中指示,用於識別與填充下拉選單之非功能態樣有關的「最佳」使用者體驗的決定因素係最少的時間量。此類資訊可由剖析圖檢查器203使用自然語言處理自資料結構獲得,以識別非功能態樣(例如,下拉選單)以及用於識別「最佳」使用者體驗的對應判定因素。在一個實施例中,此類資料結構儲存在測試系統104之儲存裝置(例如,記憶體305、磁碟單元308)中。
在一個實施例中,剖析圖檢查器203利用軟體工具,諸如Aggregate Profiler、Atlan®、IBM® InfoSphere® Information Analyser、Informatica® Data Explorer、Melissa® Data Profiler、Microsoft® DOCS、SAP BODS、SAS® DataFlux、Talend® Open Studio等,以檢查/分析使用者體驗剖析圖,如上文所論述。
在步驟404中,測試系統104之虛擬使用者生成器204創建具有不同類型的與軟體應用程式之不同功能及非功能態樣互動相關之最佳使用者體驗(自所識別的最佳使用者體驗獲得)的虛擬使用者。
如上文所論述,如本文中所使用,「虛擬使用者」係指使用者之虛擬表示,其最佳使用者體驗將由虛擬使用者表示。如本文中所使用,「虛擬表示」係指經由使用將用於藉由虛擬使用者測試測試中軟體應用程式的使用者之最佳使用者體驗來象徵真實使用者。
舉例而言,虛擬使用者生成器204可創建虛擬使用者以測試軟體應用程式以判定軟體應用程式是否滿足與填充含十個項目的選單的 非功能態樣相關的最佳使用者體驗,其中此類最佳使用者體驗係與此類創建的虛擬使用者相關聯。在一個實施例中,此類最佳使用者體驗係自由剖析圖檢查器203所識別之最佳使用者體驗獲得的。
在一個實施例中,虛擬使用者生成器204針對每一類型的與欲測試之軟體應用程式之每一功能或非功能態樣相關的最佳使用者體驗創建虛擬使用者。在一個實施例中,此類最佳使用者體驗係自由剖析圖檢查器203所識別之最佳使用者體驗獲得。
在一個實施例中,此類虛擬使用者對應於具有用於測試軟體應用程式的指令的剖析圖,以判定其是否滿足與欲測試之軟體應用程式之每一功能或非功能態樣相關的最佳使用者體驗。在一個實施例中,虛擬使用者生成器204利用軟體工具(例如,WAPT Pro、Oracle®功能測試可視化指令碼、OpDesk等)來創建此類剖析圖。
在步驟405,測試系統104之測試引擎205使用虛擬使用者對軟體應用程式執行測試以判定軟體應用程式是否滿足使用者之最佳體驗。
舉例而言,測試引擎205判定測試中軟體應用程式是否滿足虛擬使用者中之每一者之最佳使用者之體驗。舉例而言,諸如剖析圖(「虛擬使用者剖析圖」)中之虛擬使用者之指令可由測試引擎205用來運行所討論的軟體應用程式之功能或非功能態樣(與虛擬使用者相關聯之功能或非功能態樣)的測試以判定其是否滿足虛擬使用者之最佳使用者之體驗。在一個實施例中,與軟體應用程式之不同類型之功能及非功能態樣相關聯的虛擬使用者中之每一者用於執行對軟體應用程式的測試以判定軟體應用程式是否滿足此等功能及非功能態樣中之每一者之最佳使用者之體 驗。在一個實施例中,此類虛擬使用者剖析圖儲存在測試單元104之儲存裝置(例如,記憶體305、磁碟單元308)中。
如上文所論述,在一個實施例中,測試引擎205識別不能滿足虛擬使用者之最佳使用者之體驗的軟體應用程式之任何功能及/或非功能態樣。舉例而言,若如虛擬使用者所捕獲之使用者之最佳體驗係在1毫秒內填充含十個項目的下拉選單,且測試中軟體應用程式花費2毫秒來填充相同的下拉選單,則測試引擎205將識別此類故障。在一個實施例中,如上文所論述,將在虛擬使用者剖析圖中提供在測試中軟體應用程式中填充相同下拉選單的此類指令。
在一個實施例中,測試引擎205使用軟體工具(諸如Selenium®、TestingWhiz、TestComplete®、Ranorex®、Sahi、Watir、Tosca Testsuite®、Katalon Studio®等)來使用虛擬使用者來測試軟體應用程式以判定軟體應用程式之功能及非功能態樣是否滿足使用者之最佳體驗。
在步驟406中,由測試系統104之測試引擎205做出關於判定測試中軟體應用程式是否滿足虛擬使用者中之每一者之最佳使用者體驗的判定。
若測試中軟體應用程式滿足虛擬使用者中之每一者之最佳使用者體驗,則在步驟407,測試系統104之測試引擎205生成指示軟體應用程式滿足虛擬使用者之最佳使用者體驗的訊息。在一個實施例中,此類訊息可呈用於聯繫諸如軟體開發者的使用者之文字訊息、電子郵件訊息、自動電話呼叫等的形式。
然而,若測試中軟體應用程式不滿足虛擬使用者中之每一 者之最佳使用者體驗,則在步驟408中,測試系統104之測試引擎205生成指示測試中軟體應用程式之哪些功能及/或非功能態樣不滿足虛擬使用者之最佳使用者體驗的訊息。在一個實施例中,此類訊息可呈用於聯繫諸如軟體開發者的使用者之文字訊息、電子郵件訊息、自動電話呼叫等的形式。在一個實施例中,軟體開發者可利用此類訊息來糾正此類缺陷。
以此方式,可測試軟體應用程式以判定軟體應用程式是否滿足使用者之關於測試中軟體應用程式之功能及非功能態樣之最佳體驗。
此外,本發明之原理改良涉及軟體測試之技術或技術領域。如上文所論述,諸如在軟體產品開發過程的測試階段期間,軟體測試係為向利害關係人提供關於測試中軟體產品或服務之品質的資訊而進行的調查。軟體測試亦可提供客觀、獨立的軟體視圖,以允許企業瞭解及理解軟體實施的風險。測試技術包括執行程式或應用程式的過程,目的係發現故障並驗證軟體產品是否適合使用。軟體測試涉及執行軟體組件或系統組件以評估所關注的一或多個性質。一般而言,此等性質指示測試中組件或系統在多大程度上:滿足導引其設計及開發的要求,對所有種類輸入作出正確回應,在可接受時間內執行其功能,充分可用,可在其預期環境中安裝及運行,及實現其利害關係人期望的總體結果。然而,此類軟體測試無法量化使用者對測試中軟體應用程式之功能及非功能態樣之最佳體驗。舉例而言,當使用者獲得在一毫秒內填充的下拉清單時,使用者可期望在相同或不同應用程式中填充另一下拉清單的此類體驗。因未測試軟體應用程式來判定軟體應用程式之功能及非功能態樣是否滿足使用者之最佳體驗,由於軟體應用程式之使用者體驗較差,此類軟體應用程式儘管在軟體產品開發過程之測試階段期間表現良好,但可不會被目標使用者很好地接受。 不幸的是,目前不存在一種用來就測試中軟體應用程式之功能及非功能態樣相關的使用者之最佳體驗來測試軟體應用程式的構件。
本發明之實施例藉由監視使用者與軟體應用程式之功能及非功能態樣的互動來改良此技術。如本文中所使用的軟體應用程式之「功能」態樣係指軟體必須執行的要求。舉例而言,此類功能態樣可包括以下類型的要求:異動處置、業務規則、驗證要求、報告要求、管理功能、授權級別、審計追蹤、外部介面等。如本文中所使用,軟體應用程式之「非功能」態樣規定軟體應用程式如何實現此類要求。舉例而言,非功能態樣規定軟體之品質屬性、可擴展性、容量、可維護性、效能(例如,回應時間)、可攜性、安全性、可用性、可靠性、可恢復性、可服務性等。然後基於該等所監視互動生成該等所監視使用者的使用者體驗剖析圖。如本文中所使用,「使用者體驗」剖析圖係指包括關於使用者對實用性、易用性及與軟體應用程式之功能及非功能態樣互動的效率的感知的資料的剖析圖。舉例而言,此類資料可包括與視窗、選單、圖示、介面工具集、表格、游標、指標、插入點等互動相關的使用者之體驗。然後基於此等所生成使用者體驗剖析圖而識別與軟體應用程式之特定功能及非功能態樣互動相關的最佳使用者體驗。舉例而言,在所生成使用者體驗剖析圖中,可判定以1毫秒的最快時間填充含十個條目的下拉選單。因此,可認為最佳使用者體驗對應於以1毫秒填充含十個條目的下拉選單。如本文中所使用,「最佳使用者體驗」係指與軟體應用程式之功能或非功能態樣的最有效或期望的互動,諸如以最小時間量經歷與軟體應用程式之功能或非功能態樣進行互動。創建具有不同類型的與軟體應用程式之不同功能及非功能態樣互動相關的最佳使用者體驗(自識別的最佳使用者體驗獲得)的虛擬使用 者。如本文中所使用,「虛擬使用者」係指使用者之虛擬表示,其最佳使用者體驗將由虛擬使用者表示。如本文中所使用,「虛擬表示」係指經由使用將用於藉由虛擬使用者測試測試中軟體應用程式的使用者之最佳使用者體驗來象徵真實使用者。舉例而言,創建虛擬使用者來測試軟體應用程式以判定軟體應用程式是否滿足與填充含十個項目的選單的非功能態樣相關的最佳使用者體驗,其中此類最佳使用者體驗係與此類創建的虛擬使用者相關聯。然後使用該等虛擬使用者測試該軟體應用程式以判定該軟體應用程式之該等功能及非功能態樣是否滿足與該等虛擬使用者相關聯的該等最佳使用者體驗。若軟體應用程式之一些功能或非功能態樣不滿足與虛擬使用者相關聯的最佳使用者體驗,則可生成訊息,該訊息指示測試中軟體應用程式之哪些功能及/或非功能態樣不滿足虛擬使用者之最佳使用者體驗。軟體開發者可利用此類訊息來糾正此類缺陷。以此方式,可測試軟體應用程式以判定軟體應用程式是否滿足使用者之關於測試中軟體應用程式之功能及非功能態樣之最佳體驗。此外,以此方式,在涉及軟體測試之技術領域中存在改良。
本發明提供之技術方案無法在人腦中或也無法由人使用筆及紙來執行。亦即,本發明所提供之技術方案在不使用電腦的情況下無法在人的頭腦中或由人使用筆及紙在任何合理的時間內以任何合理的準確性期望來完成。
本發明之各種實施例之描述已呈現用於說明的目的,但不旨在窮盡或限制所揭示之實施例。在不脫離所描述之具體實例的範疇及精神的情況下,對於熟習此項技術者而言,諸多修改及變化將係顯而易見的。本文中所使用之術語經選擇來最佳地解釋具體實例之原理、實踐應 用,或優於市場中找到技術的技術改良,或使得熟習此項技術者能夠理解本文中所揭示之具體實例。
400:方法
401:步驟
402:步驟
403:步驟
404:步驟
405:步驟
406:步驟
407:步驟
408:步驟

Claims (20)

  1. 一種用於軟體測試之電腦實施方法,該方法包含:監視使用者與軟體應用程式之功能及非功能態樣的互動;基於該等所監視互動而生成該等所監視使用者的使用者體驗剖析圖;基於該等所生成使用者體驗剖析圖,識別與該等軟體應用程式之特定功能及非功能態樣互動相關的最佳使用者體驗,其中該等最佳使用者體驗對應於與該等軟體應用程式之該等特定功能或非功能態樣互動相關使用的最短時間或最少步驟數目;創建具有不同類型的與該等軟體應用程式之不同功能及非功能態樣互動相關的最佳使用者體驗的虛擬使用者,該等最佳使用者體驗係自該等所識別最佳使用者體驗獲得;及使用該等虛擬使用者對該軟體應用程式執行測試以判定該軟體應用程式之功能及非功能態樣是否滿足與該等虛擬使用者相關聯的該等最佳使用者體驗。
  2. 如請求項1之方法,其中該等所生成使用者體驗剖析圖包含關於一使用者之對實用性、易用性及與該等軟體應用程式互動的效率的感知的資料。
  3. 如請求項1之方法,其中該等所創建的虛擬使用者中之每一者用於判定該軟體應用程式之一特定功能或非功能態樣是否滿足與該軟體應用程式 之該特定功能或非功能態樣相關聯的一最佳使用者體驗。
  4. 如請求項1之方法,其進一步包含:回應於該軟體應用程式滿足該等虛擬使用者中之每一者之最佳使用者體驗,生成指示該軟體應用程式滿足該等虛擬使用者之最佳使用者體驗的一訊息。
  5. 如請求項1之方法,其進一步包含:回應於該軟體應用程式不滿足一虛擬使用者之與該軟體應用程式之該功能或非功能態樣相關的最佳使用者體驗,生成指示該軟體應用程式之哪個功能或非功能態樣不滿足該虛擬使用者之最佳使用者體驗的一訊息。
  6. 如請求項1之方法,其中與該等軟體應用程式之該等功能及非功能態樣的該等互動包含選自由以下各項組成之群組之互動:一視窗、一選單、一圖示、一介面工具集、一頁籤、一游標、一指標及一插入點。
  7. 如請求項1之方法,其中經由應用程式日誌及手動文字回饋監視該等使用者互動。
  8. 一種用於軟體測試之電腦程式產品,該電腦程式產品包含一或多個電腦可讀儲存媒體,該一或多個電腦可讀儲存媒體具有與其一起體現之程式碼,該程式碼包含用於進行以下操作之程式化指令:監視使用者與軟體應用程式之功能及非功能態樣的互動; 基於該等所監視互動而生成該等所監視使用者的使用者體驗剖析圖;基於該等所生成使用者體驗剖析圖,識別與該等軟體應用程式之特定功能及非功能態樣互動相關的最佳使用者體驗,其中該等最佳使用者體驗對應於與該等軟體應用程式之該等特定功能或非功能態樣互動相關使用的最短時間或最少步驟數目;創建具有不同類型的與該等軟體應用程式之不同功能及非功能態樣互動相關的最佳使用者體驗的虛擬使用者,該等最佳使用者體驗係自該等所識別最佳使用者體驗獲得;及使用該等虛擬使用者對該軟體應用程式執行測試以判定該軟體應用程式之功能及非功能態樣是否滿足與該等虛擬使用者相關聯的該等最佳使用者體驗。
  9. 如請求項8之電腦程式產品,其中該等所生成使用者體驗剖析圖包含關於一使用者之對實用性、易用性及與該等軟體應用程式互動的效率的感知的資料。
  10. 如請求項8之電腦程式產品,其中該等所創建的虛擬使用者中之每一者用於判定該軟體應用程式之一特定功能或非功能態樣是否滿足與該軟體應用程式之該特定功能或非功能態樣相關聯的一最佳使用者體驗。
  11. 如請求項8之電腦程式產品,其中該程式碼進一步包含用於進行以下操作的該等程式化指令: 回應於該軟體應用程式滿足該等虛擬使用者中之每一者之最佳使用者體驗,生成指示該軟體應用程式滿足該等虛擬使用者之最佳使用者體驗的一訊息。
  12. 如請求項8之電腦程式產品,其中該程式碼進一步包含用於進行以下操作的該等程式化指令:回應於該軟體應用程式不滿足一虛擬使用者之與該軟體應用程式之該功能或非功能態樣相關的最佳使用者體驗,生成指示該軟體應用程式之哪個功能或非功能態樣不滿足該虛擬使用者之最佳使用者體驗的一訊息。
  13. 如請求項8之電腦程式產品,其中與該等軟體應用程式之該等功能及非功能態樣的該等互動包含選自由以下各項組成之群組之互動:一視窗、一選單、一圖示、一介面工具集、一頁籤、一游標、一指標及一插入點。
  14. 如請求項8之電腦程式產品,其中經由應用程式日誌及手動文字回饋監視該等使用者互動。
  15. 一種用於軟體測試之系統,其包含:一記憶體,其用於儲存用於測試一軟體應用程式之一電腦程式;及一處理器,其連接至該記憶體,其中該處理器經組態以執行該電腦程式之程式指令,包含以下操作:監視使用者與軟體應用程式之功能及非功能態樣的互動;基於該等所監視互動而生成該等所監視使用者的使用者體驗剖析 圖;基於該等所生成使用者體驗剖析圖,識別與該等軟體應用程式之特定功能及非功能態樣互動相關的最佳使用者體驗,其中該等最佳使用者體驗對應於與該等軟體應用程式之該等特定功能或非功能態樣互動相關使用的最短時間或最少步驟數目;創建具有不同類型的與該等軟體應用程式之不同功能及非功能態樣互動相關的最佳使用者體驗的虛擬使用者,該等最佳使用者體驗係自該等所識別最佳使用者體驗獲得;及使用該等虛擬使用者對該軟體應用程式執行測試以判定該軟體應用程式之功能及非功能態樣是否滿足與該等虛擬使用者相關聯的該等最佳使用者體驗。
  16. 如請求項15之系統,其中該等所生成使用者體驗剖析圖包含關於一使用者之對實用性、易用性及與該等軟體應用程式互動的效率的感知的資料。
  17. 如請求項15之系統,其中該等所創建的虛擬使用者中之每一者用於判定該軟體應用程式之一特定功能或非功能態樣是否滿足與該軟體應用程式之該特定功能或非功能態樣相關聯的一最佳使用者體驗。
  18. 如請求項15之系統,其中該電腦程式之該等程式指令進一步包含:回應於該軟體應用程式滿足該等虛擬使用者中之每一者之最佳使用者體驗,生成指示該軟體應用程式滿足該等虛擬使用者之最佳使用者體驗 的一訊息。
  19. 如請求項15之系統,其中該電腦程式之該等程式指令進一步包含:回應於該軟體應用程式不滿足一虛擬使用者之與該軟體應用程式之該功能或非功能態樣相關的最佳使用者體驗,生成指示該軟體應用程式之哪個功能或非功能態樣不滿足該虛擬使用者之最佳使用者體驗的一訊息。
  20. 如請求項15之系統,其中與該等軟體應用程式之該等功能及非功能態樣的該等互動包含選自由以下各項組成之群組的互動:一視窗、一選單、一圖示、一介面工具集、一頁籤、一游標、一指標及一插入點。
TW111129259A 2021-09-08 2022-08-04 以最佳使用者體驗執行軟體測試之電腦實施方法、電腦程式產品及系統 TWI807954B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US17/469,764 2021-09-08
US17/469,764 US11520692B1 (en) 2021-09-08 2021-09-08 Performing software testing with best possible user experience

Publications (2)

Publication Number Publication Date
TW202311963A TW202311963A (zh) 2023-03-16
TWI807954B true TWI807954B (zh) 2023-07-01

Family

ID=84324901

Family Applications (1)

Application Number Title Priority Date Filing Date
TW111129259A TWI807954B (zh) 2021-09-08 2022-08-04 以最佳使用者體驗執行軟體測試之電腦實施方法、電腦程式產品及系統

Country Status (3)

Country Link
US (2) US11520692B1 (zh)
TW (1) TWI807954B (zh)
WO (1) WO2023036058A1 (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20230090168A1 (en) * 2021-09-21 2023-03-23 International Business Machines Corporation Predicting acceptance of features and functions of software product

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW201300737A (zh) * 2011-06-30 2013-01-01 Microsoft Corp 用於提供多個支援性服務的個人長期代理者
US20170185253A1 (en) * 2015-12-28 2017-06-29 Cerner Innovation, Inc. Contextualized application evaluation
CN109076107A (zh) * 2016-05-03 2018-12-21 微软技术许可有限责任公司 基于检测定制提供用户体验升级的自动检测和优化
US20190179953A1 (en) * 2017-12-12 2019-06-13 International Business Machines Corporation Recommending application programs based on a user's previous experience rating

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060026268A1 (en) * 2004-06-28 2006-02-02 Sanda Frank S Systems and methods for enhancing and optimizing a user's experience on an electronic device
US8438060B2 (en) 2008-10-15 2013-05-07 Accenture Global Services Limited Dynamic online experience modification and inventory optimization based on statistically significant geo-location parameter
US8607190B2 (en) * 2009-10-23 2013-12-10 International Business Machines Corporation Automation of software application engineering using machine learning and reasoning
US9262306B2 (en) 2010-01-27 2016-02-16 Hewlett Packard Enterprise Development Lp Software application testing
US9042311B2 (en) 2010-03-05 2015-05-26 Intel Corporation Techniques for evaluation and improvement of user experience for applications in mobile wireless networks
CN103475951A (zh) 2013-08-20 2013-12-25 南京邮电大学 一种基于用户体验的实时视频传输速率自适应方法
FR3037675B1 (fr) 2015-06-18 2017-07-28 Bull Sas Procede de determination d'une quantite de ressources disponibles garantissant une experience utilisateur de qualite
CN106406975A (zh) * 2015-07-30 2017-02-15 中兴通讯股份有限公司 桌面云系统的测试方法及装置
US9740473B2 (en) * 2015-08-26 2017-08-22 Bank Of America Corporation Software and associated hardware regression and compatibility testing system
CN108388338B (zh) * 2018-01-22 2021-06-25 广州慧玥文化传播有限公司 一种基于vr设备的控制方法及系统
CN108390775B (zh) 2018-02-05 2021-03-30 中南大学 一种基于spice的用户体验质量评价方法及系统
US10747655B2 (en) * 2018-11-20 2020-08-18 Express Scripts Strategic Development, Inc. Method and system for programmatically testing a user interface
US11074162B2 (en) * 2019-04-15 2021-07-27 Cognizant Technology Solutions India Pvt. Ltd. System and a method for automated script generation for application testing
CN113283010A (zh) * 2021-06-03 2021-08-20 江苏徐工工程机械研究院有限公司 一种基于用户行为研究的操纵交互设计方法、控制装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW201300737A (zh) * 2011-06-30 2013-01-01 Microsoft Corp 用於提供多個支援性服務的個人長期代理者
US20170185253A1 (en) * 2015-12-28 2017-06-29 Cerner Innovation, Inc. Contextualized application evaluation
CN109076107A (zh) * 2016-05-03 2018-12-21 微软技术许可有限责任公司 基于检测定制提供用户体验升级的自动检测和优化
US20190179953A1 (en) * 2017-12-12 2019-06-13 International Business Machines Corporation Recommending application programs based on a user's previous experience rating

Also Published As

Publication number Publication date
US20230071472A1 (en) 2023-03-09
TW202311963A (zh) 2023-03-16
US11775419B2 (en) 2023-10-03
WO2023036058A1 (en) 2023-03-16
US11520692B1 (en) 2022-12-06

Similar Documents

Publication Publication Date Title
US11934301B2 (en) System and method for automated software testing
US20240037020A1 (en) System and Method for Automated Software Testing
US20190188119A1 (en) System and a method for providing automated performance detection of application programming interfaces
Méndez Porras et al. Automated testing of mobile applications: A systematic map and review
US20110270794A1 (en) Adaptive business process automation
WO2015077261A1 (en) Validating software characteristics
Li et al. Peruim: Understanding mobile application privacy with permission-ui mapping
Salihu et al. AMOGA: A static-dynamic model generation strategy for mobile apps testing
US9342436B2 (en) Capture and display of historical run-time execution traces in a code editor
US20200050540A1 (en) Interactive automation test
US10275341B2 (en) Mobile application usability testing
US20180129596A1 (en) Identifying incorrect variable values in software testing and development environments
US20170147474A1 (en) Software testing coverage
EP3618078A1 (en) System and method for controlling quality of performance of digital applications
US11144879B2 (en) Exploration based cognitive career guidance system
Liao et al. Using black-box performance models to detect performance regressions under varying workloads: an empirical study
Chambers et al. Smell-driven performance analysis for end-user programmers
TWI807954B (zh) 以最佳使用者體驗執行軟體測試之電腦實施方法、電腦程式產品及系統
Alotaibi et al. Automated detection of talkback interactive accessibility failures in android applications
CN114647572A (zh) 用于软件应用组件测试的方法和系统
Kozik et al. Q-Rapids framework for advanced data analysis to improve rapid software development
Wilke et al. Energy labels for mobile applications
AT&T
US10078572B1 (en) Abnormal timing breakpoints
Li et al. Human-Machine Collaborative Testing for Android Applications