System and method for software test analysis
US-2024419581-A1 · Dec 19, 2024 · US
US10049030B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-10049030-B2 |
| Application number | US-201313969456-A |
| Country | US |
| Kind code | B2 |
| Filing date | Aug 16, 2013 |
| Priority date | Sep 18, 2012 |
| Publication date | Aug 14, 2018 |
| Grant date | Aug 14, 2018 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
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.
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-
for test results analysis · CPC title
Testing of software · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.