System and method for test output evaluation of a JAVA component

US10049030B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-10049030-B2
Application numberUS-201313969456-A
CountryUS
Kind codeB2
Filing dateAug 16, 2013
Priority dateSep 18, 2012
Publication dateAug 14, 2018
Grant dateAug 14, 2018

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

A method and a system for test output evaluation of a JAVA component. The java component and reference classes are received and non-private members of the Java component are identified using JAVA reflection API and the reference classes. An API structure comprising public members is extracted from the non-private members. Behavior checking expressions are received and selected corresponding to the public members. A Java source code comprising wrapper methods wherein the wrapper method corresponds to the one or more public members and a test output evaluation method comprising the behavior checking expressions is generated. The test output evaluation of the JAVA component is performed using the test output evaluation method over the generated Java source code.

First claim

Opening claim text (preview).

What is claimed is: 1. A method executed by one or more computing devices for test output evaluation of a JAVA Component Under Test (“JCUT”), the method comprising: receiving, by at least one of the one or more computing devices, bytecode corresponding to the JCUT and one or more reference classes referenced by the JCUT; identifying, by at least one of the one or more computing devices using a JAVA reflection Application Program Interface (“API”), one or more non-private members of the JCUT including one or more object references referring to the one or more reference classes, wherein the one or more non-private members comprise one or more public methods of the JCUT; extracting, by at least one of the one or more computing devices, an API structure of the JCUT and the one or more reference classes, based on the one or more public methods of the JCUT; storing, by the at least one of the one or more computing devices, the API structure of the JCUT and the one or more reference classes in a JCUT grammar template in a database; receiving, by at least one of the one or more computing devices, expressions comprising one or more expression identifiers, one or more conditions, expressions for capturing pre-execution states of the JCUT, and expressions for capturing post-execution states of the JCUT, wherein the one or more expression identifiers are associated with the one or more non-private members of the JCUT; storing, by the at least one of the one or more computing devices, the expressions in the JCUT grammar template in the database; assigning, by at least one of the one or more computing devices, a condition of one of the expressions to a public method of the one or more public methods of the JCUT; assigning an expression, of the expressions, to the public method to capture a pre-execution state of the JCUT; assigning another expression, of the expressions, to the public method to capture a post-execution state of the JCUT; retrieving, by the at least one of the one or more computing devices, the assigned condition, the assigned expression to capture the pre-execution state of the JCUT for the public method, and the assigned another expression to capture the post-execution state of the JCUT for the public method from the JCUT grammar template in the database; generating, by at least one of the one or more computing devices, a JAVA Source Code (“JSC”) comprising a wrapper method for the public method, wherein the wrapper method, when executed: executes the assigned expression to capture the pre-execution state of the JCUT, evaluates the assigned condition to determine whether an exception is expected when the public method is invoked, executes the public method, executes the assigned another expression to capture the post-execution state of the JCUT, and determines whether the exception occurred when the public method was executed; generating an executable version of the JSC comprising an executable version of the wrapper method; and testing, by at least one of the one or more computing devices, the JCUT by executing the executable version of the wrapper method and evaluating the state of the executable version of the wrapper method, wherein the evaluating the state of the executable version of the wrapper method comprises comparing the captured post-execution state of the JCUT to an expected post-execution state of the JCUT. 2. The method of claim 1 , wherein the one or more non-private members comprise methods, constructors, and class fields. 3. The method of claim 1 , wherein the evaluation step further includes evaluating the state of at least one of the one or more non-private members using at least one of the expressions during execution of the executable version of the wrapper method. 4. The method of claim 1 , wherein the assigning step further comprises: parsing, by at least one of the one or more computing devices, the expressions; and validating, by at least one of the one or more computing devices, the expressions by confirming the one or more conditions and the one or more identifiers relate to the public method. 5. The method of claim 1 , further comprising: assigning, by at least one of the one or more computing devices, a status to the public method based on a status of the assigned condition. 6. The method of claim 1 , wherein: the expressions further include one or more messages relating to the one or more conditions; and the method further comprises receiving, by at least one of the one or more computing devices, a message corresponding to one or more of the expressions, wherein the JSC is configured to output the message when at least one of the one or more conditions is satisfied. 7. An apparatus for executing the test output evaluation of a JAVA Component Under Test (“JCUT”), the apparatus comprising: one or more processors; and one or more memories operatively coupled to at least one or more processors and having instructions stored thereon that, when executed by-at least one of the one or more processors, cause at least one of the one or more processors to: receive bytecode corresponding to the JCUT and one or more reference classes referenced by the JCUT; use a JAVA reflection Application Program Interface (“API”) to identify one or more non-private members of the JCUT including one or more object references referring to the one or more reference classes, wherein the one or more non-private members comprise one or more public methods of the JCUT; extract an API structure of the JCUT and the one or more reference classes based on the one or more public methods of the JCUT; store the API structure of the JCUT and the one or more reference classes in a JCUT grammar template in a database; receive expressions comprising one or more expression identifiers, one or more conditions, one or more expressions for capturing pre-execution states of the JCUT, and one or more expressions for capturing post-execution states of the JCUT, wherein the one or more expression identifiers are associated with the one or more non-private members; store the expressions in the JCUT grammar template in the database; assign a condition one of the expressions to a public method of the one or more public methods of the JCUT; assign one of the expressions to the public method to capture a pre-execution state of the JCUT; assign another of the expressions to the public method to capture a post-execution state of the JCUT; retrieve the assigned condition, the assigned expression to capture the pre-execution state of the JCUT for the public method, and the assigned another expression to capture the post-execution state of the JCUT for the public method from the JCUT grammar template in the database; generate a JAVA Source Code (“JSC”) comprising a wrapper method for the public method, wherein the wrapper method, when executed: executes the assigned expression to capture the pre-execution state of the JCUT, evaluates the assigned condition to determine whether an exception is expected when the public method is executed, executes the public method, executes the assigned another expression to capture the post-execution state of the JCUT, and determines whether the exception occurred when the public method was executed; generate an executable version of the JSC, comprising an executable version of the wrapper method; and test the JCUT by invoking the executable version of the wrapper method and evaluating the state of the executable version of the wrapper method, wherein the evaluating the state of the executable version of the wrapper method comprises comparing the captured post-execution state of the JCUT to an expected post-execution state of the JCUT. 8. The apparatus of claim 7 , wherein the one or more non-

Assignees

Inventors

Classifications

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US10049030B2 cover?
A method and a system for test output evaluation of a JAVA component. The java component and reference classes are received and non-private members of the Java component are identified using JAVA reflection API and the reference classes. An API structure comprising public members is extracted from the non-private members. Behavior checking expressions are received and selected corresponding to …
Who is the assignee on this patent?
Infosys Ltd
What technology area does this patent fall under?
Primary CPC classification G06F11/3692. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Aug 14 2018 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).