Software test case maintenance
AssigneeFunctionize, Inc.
InventorsTamas Cser, Jonathon R. Seaton
Life of this patent
Estimating the term…
Abstract
Provided herein is technology relating to selecting an element in a software application and particularly, but not exclusively, to systems and methods for identifying a target element for testing a software application using artificial intelligence.
Claims23
A method, in a computer system having a processor, for testing an element of a web-based user interface that is a target element of a test case action, the method comprising:
- the processor capturing a screenshot of the web-based user interface;
- the processor identifying a plurality of elements of the web-based user interface utilizing at least computer vision applied to the screenshot;
- the processor determining attribute values of each element among the identified plurality of elements, wherein determining attribute values includes evaluating one or more of an element visual render, an element text, an element code, and/or an element context;
- the processor assigning a respective element definition to each element among the plurality of elements of the web-based user interface using machine learning and the attribute values, wherein:
- the assigning includes generating, based on the attribute values, a generative model output from a generative machine learning model and a discriminative model output from a discriminative machine learning model, and producing the element definition by a combination of the generative model output and the discriminative model output;
- each element definition is assigned to an associated element and each element definition uniquely identifies the associated element after a change in the web-based user interface and/or an attribute value of the associated element;
- the processor producing element match scores of multiple elements among the plurality of elements by comparing element definitions of the multiple elements determined based on the screenshot to a target element definition determined prior to the change;
- the processor identifying a particular element among the multiple elements having a highest element match score as the target element of the test case action;
- and
- the processor performing the test case action on the target element.
A computer program product for testing an element of a web-based user interface that is a target element of a test case action, the method comprising:
- storage media;
- instructions in the storage media for causing a computer system to perform operations, including:
- capturing a screenshot of the web-based user interface;
- the processor identifying a plurality of elements of the web-based user interface utilizing at least computer vision applied to the screenshot;
- determining attribute values of each element among the identified plurality of elements, wherein determining attribute values includes evaluating one or more of an element visual render, an element text, an element code, and/or an element context;
- assigning a respective element definition to each element among the plurality of elements of the web-based user interface using machine learning and the attribute values, wherein:
- the assigning includes generating, based on the attribute values, a generative model output from a generative machine learning model and a discriminative model output from a discriminative machine learning model, and producing the element definition by a combination of the generative model output and the discriminative model output;
- each element definition is assigned to an associated element and each element definition uniquely identifies the associated element after a change in the web-based user interface and/or an attribute value of the associated element;
- producing element match scores of multiple elements among the plurality of elements by comparing element definitions of the multiple elements determined based on the screenshot to a target element definition determined prior to the change;
- identifying a particular element among the multiple elements having a highest element match score as the target element of the test case action;
- and
- performing the test case action on the target element.
A computer system for testing an element of a web-based user interface that is a target element of a test case action, the computer system comprising:
- a processor;
- storage media communicatively coupled to the processor;
- and
- instructions in the storage media and executable by the processor to cause the computer system to perform operations, including:
- capturing a screenshot of the web-based user interface;
- the processor identifying a plurality of elements of the web-based user interface utilizing at least computer vision applied to the screenshot;
- determining attribute values of each element among the identified plurality of elements, wherein determining attribute values includes evaluating one or more of an element visual render, an element text, an element code, and/or an element context;
- assigning a respective element definition to each element among the plurality of elements of the web-based user interface using machine learning and the attribute values, wherein:
- the assigning includes generating, based on the attribute values, a generative model output from a generative machine learning model and a discriminative model output from a discriminative machine learning model, and producing the element definition by a combination of the generative model output and the discriminative model output;
- each element definition is assigned to an associated element and each element definition uniquely identifies the associated element after a change in the web-based user interface and/or an attribute value of the associated element;
- producing element match scores of multiple elements among the plurality of elements by comparing element definitions of the multiple elements determined based on the screenshot to a target element definition determined prior to the change;
- identifying a particular element among the multiple elements having a highest element match score as the target element of the test case action;
- and
- performing the test case action on the target element.
Dependencies are inferred from the claim text.