News Column

Patent Issued for System and Method for Annotating Graphical User Interface

June 19, 2014



By a News Reporter-Staff News Editor at Computer Weekly News -- According to news reporting originating from Alexandria, Virginia, by VerticalNews journalists, a patent by the inventor Colin Armitage, Christopher (Tadley, GB), filed on September 21, 2011, was published online on June 3, 2014.

The assignee for this patent, patent number 8745521, is The Original Software Group Limited (GB).

Reporters obtained the following quote from the background information supplied by the inventors: "Before a software application can be deployed, it is typically tested to be sure it behaves as the developer intended. Where the application requires user input, such as through a graphical user interface (GUI), various input possibilities must be tested to ensure the application responds appropriately to the information provided. This also must be done if a GUI is changed, or added to the application by developers or by users that may need to tailor the application to suit their particular needs. One method of testing involves manual interaction with the GUI and/or supplying inputs to GUI objects to test their response. However, manual testing can be highly inefficient, especially where a large number of input possibilities are involved. Thus, in a field known as testing automation, software testers develop test scripts to automatically cycle through and provide numerous inputs in order to analyze the functionality of an application. Unfortunately, these test scripts can become as complex as the application source code they are testing and to reference GUI objects within the application requires knowledge of, and access to the source code underlying the application.

"The challenge is communicating to the application what it is to do in a non-technical manner. Manually, a user can do this by interacting with the GUI objects, such as by entering data in a textbox or clicking on a command button. However, to automate this process so that it can cycle through a series of inputs without manual entry, test scripts have traditionally been required to identify the specific GUI object that is to be selected or that is to receive input by using the name given that GUI object within the application source code. For example, if a test script is to cycle through a series of numbers from 1 to 100 entered into a text box, the script must reference the text box with its name in the source code, which may be assigned according to a programming lexicon known only to the original programmer. If the source code is not available, as is typically the case, testing automation becomes complicated and requires a technically savvy tester.

"The present invention is provided to create annotations for each unannotated GUI object based on the properties and positions of other GUI objects in a GUI. The GUI objects can include the unannotated GUI objects, candidate GUI objects, redundant GUI objects, and self-described GUI objects. The candidate GUI objects will contain text strings which can be used as the basis for creating annotations for the unannotated GUI objects. Nearby candidate GUI objects that are in the vicinity of an unannotated GUI object can be determined by the present invention, based on the locations and bounding rectangles of the unannotated GUI object and the candidate GUI objects, and the role and a precedence criteria of the unannotated GUI object. A best candidate GUI object can be selected from the nearby candidate GUI objects based on the precedence criteria. The text string included in the best candidate GUI object can then be used as the annotation for the unannotated GUI object.

"By creating annotations for the unannotated GUI objects, the present invention can be used in conjunction with automated testing and documentation of a GUI, particularly by non-technical users. For instance, the present invention can help non-technical users test and document browser and legacy applications written in a variety of programming languages without reference to or needing access to the underlying source code, such as through the use of software including TestDrive from Original Software, for example. The present invention can simplify the commands used by non-technical users in creating a series of test automation steps in a test script, or in generating documentation of a GUI. Other features and advantages are provided by the following description and drawings."

In addition to obtaining background information on this patent, VerticalNews editors also obtained the inventor's summary information for this patent: "Before a software application can be deployed, it is typically tested to be sure it behaves as the developer intended. Where the application requires user input, such as through a graphical user interface (GUI), various input possibilities must be tested to ensure the application responds appropriately to the information provided. This also must be done if a GUI is changed, or added to the application by developers or by users that may need to tailor the application to suit their particular needs. One method of testing involves manual interaction with the GUI and/or supplying inputs to GUI objects to test their response. However, manual testing can be highly inefficient, especially where a large number of input possibilities are involved. Thus, in a field known as testing automation, software testers develop test scripts to automatically cycle through and provide numerous inputs in order to analyze the functionality of an application. Unfortunately, these test scripts can become as complex as the application source code they are testing and to reference GUI objects within the application requires knowledge of, and access to the source code underlying the application.

"The challenge is communicating to the application what it is to do in a non-technical manner. Manually, a user can do this by interacting with the GUI objects, such as by entering data in a textbox or clicking on a command button. However, to automate this process so that it can cycle through a series of inputs without manual entry, test scripts have traditionally been required to identify the specific GUI object that is to be selected or that is to receive input by using the name given that GUI object within the application source code. For example, if a test script is to cycle through a series of numbers from 1 to 100 entered into a text box, the script must reference the text box with its name in the source code, which may be assigned according to a programming lexicon known only to the original programmer. If the source code is not available, as is typically the case, testing automation becomes complicated and requires a technically savvy tester.

"The present invention is provided to create annotations for each unannotated GUI object based on the properties and positions of other GUI objects in a GUI. The GUI objects can include the unannotated GUI objects, candidate GUI objects, redundant GUI objects, and self-described GUI objects. The candidate GUI objects will contain text strings which can be used as the basis for creating annotations for the unannotated GUI objects. Nearby candidate GUI objects that are in the vicinity of an unannotated GUI object can be determined by the present invention, based on the locations and bounding rectangles of the unannotated GUI object and the candidate GUI objects, and the role and a precedence criteria of the unannotated GUI object. A best candidate GUI object can be selected from the nearby candidate GUI objects based on the precedence criteria. The text string included in the best candidate GUI object can then be used as the annotation for the unannotated GUI object.

"By creating annotations for the unannotated GUI objects, the present invention can be used in conjunction with automated testing and documentation of a GUI, particularly by non-technical users. For instance, the present invention can help non-technical users test and document browser and legacy applications written in a variety of programming languages without reference to or needing access to the underlying source code, such as through the use of software including TestDrive from Original Software, for example. The present invention can simplify the commands used by non-technical users in creating a series of test automation steps in a test script, or in generating documentation of a GUI. Other features and advantages are provided by the following description and drawings."

For more information, see this patent: Colin Armitage, Christopher. System and Method for Annotating Graphical User Interface. U.S. Patent Number 8745521, filed September 21, 2011, and published online on June 3, 2014. Patent URL: http://patft.uspto.gov/netacgi/nph-Parser?Sect1=PTO1&Sect2=HITOFF&d=PALL&p=1&u=%2Fnetahtml%2FPTO%2Fsrchnum.htm&r=1&f=G&l=50&s1=8745521.PN.&OS=PN/8745521RS=PN/8745521

Keywords for this news article include: Programming Language, The Original Software Group Limited.

Our reports deliver fact-based news of research and discoveries from around the world. Copyright 2014, NewsRx LLC


For more stories covering the world of technology, please see HispanicBusiness' Tech Channel



Source: Computer Weekly News


Story Tools






HispanicBusiness.com Facebook Linkedin Twitter RSS Feed Email Alerts & Newsletters