Small scale integration test generation

US2016239407A1 · US · A1

Patent metadata
FieldValue
Publication numberUS-2016239407-A1
Application numberUS-201514544777-A
CountryUS
Kind codeA1
Filing dateFeb 18, 2015
Priority dateFeb 18, 2015
Publication dateAug 18, 2016
Grant date

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.

Provided are methods and systems for automated generation of small scale integration tests to keep mocked input-output contract expectations of external objects synchronized with the actual implementation of the external objects. Such synchronization is achieved through automated creation of small scale integration tests by replacing expected input-output behaviors of mocked interactions with actual code sequences of the mocked interaction. The methods and systems utilize automated test generators with search-based software engineering methods to reuse and adapt developer written tests into new automatically generated tests.

First claim

Opening claim text (preview).

1 . A computer-implemented method for automated test generation comprising: identifying code objects witnessing an expected input-output behavior of a mocked interaction in a software unit test; and automatically creating one or more integration tests for the identified code objects by replacing expected input-output behavior of the mocked interaction with actual code implementation sequences of the previously mocked interaction. 2 . The method of claim 1 , wherein the expected input-output behavior of the mocked interaction is replaced with the actual code implementation sequences of the previously mocked interaction using code constructed using a fuzz testing technique. 3 . The method of claim 1 , wherein the expected input-output behavior of the mocked interaction is replaced with the actual code implementation sequences of the previously mocked interaction using code constructed using a feedback-directed random technique. 4 . The method of claim 1 , wherein the expected input-output behavior of the mocked interaction is replaced with the actual code implementation sequences of the previously mocked interaction using code constructed from unit tests of the previously mocked interaction. 5 . The method of claim 1 , wherein the expected input-output behavior of the mocked interaction is replaced with the actual code implementation sequences of the previously mocked interaction using code constructed using a constraint-based technique. 6 . The method of claim 5 , wherein the constraint-based technique includes relying on constraints generated using symbolic execution. 7 . The method of claim 5 , wherein the constraint-based technique includes relying on constraints generated using concolic execution. 8 . The method of claim 1 , wherein replacing expected input-output behavior of the mocked interaction with actual code implementation sequences of the previously mocked interaction includes: constructing code using one or more of a fuzz testing technique, a feedback-directed random technique, a constraint-based technique, and tests of the previously mocked interaction; and using the constructed code for the replacement of the expected input-output behavior of the mocked interaction. 9 . The method of claim 8 , further comprising: recursively performing the code construction and the using of the constructed code for the replacement of the expected input-output behavior of the mocked interaction; and building a test suite that relies on tests generated from the recursive performance. 10 . The method of claim 1 , further comprising: presenting the one or more integration tests to a user. 11 . The method of claim 1 , further comprising: using the one or more integration tests in a testing suite. 12 . The method of claim 11 , further comprising: optimizing the testing suite by removing redundancies with a previous version of the testing suite. 13 . A computer-implemented method for automated test generation comprising: identifying code objects witnessing an expected input-output behavior of a mocked interaction in a software test; and automatically creating one or more integration tests for the identified code objects by replacing expected input-output behavior of the mocked interaction with objects captured during unit tests of the mocked interaction. 14 . A system for automated test generation comprising: a least one processor; and a non-transitory computer-readable medium coupled to the at least one processor having instructions stored thereon that, when executed by the at least one processor, causes the at least one processor to: identify code objects witnessing an expected input-output behavior of a mocked interaction in a software test; and automatically create one or more integration tests for the identified code objects by replacing expected input-output behavior of the mocked interaction with actual code implementation sequences of the previously mocked interaction. 15 . The system of claim 14 , wherein the at least one processor is further caused to: replace the expected input-output behavior of the mocked interaction with actual code implementation sequences of the previously mocked interaction using code constructed using a fuzz testing technique. 16 . The system of claim 14 , wherein the at least one processor is further caused to: replace the expected input-output behavior of the mocked interaction with actual code implementation sequences of the previously mocked interaction using code constructed using a feedback-directed random technique. 17 . The system of claim 14 , wherein the at least one processor is further caused to: replace the expected input-output behavior of the mocked interaction with actual code implementation sequences of the previously mocked interaction using code constructed from unit tests of the previously mocked interaction. 18 . The system of claim 14 , wherein the at least one processor is further caused to: replace the expected input-output behavior of the mocked interaction with actual code implementation sequences of the previously mocked interaction using code constructed using a constraint-based technique. 19 . The system of claim 18 , wherein the constraint-based technique relies on constraints generated using symbolic execution or concolic execution. 20 . The system of claim 14 , wherein the at least one processor is further caused to: replace the expected input-output behavior of the mocked interaction with actual code implementation sequences of the previously mocked interaction using code constructed using one or more of the following: a fuzz testing technique, a feedback-directed random technique, unit tests of the previously mocked interaction, and a constraint-based technique.

Assignees

Inventors

Classifications

  • for test design, e.g. generating new test cases · CPC title

  • by performing operations on the source code, e.g. via a compiler · CPC title

  • for test version control, e.g. updating test cases to a new software version · CPC title

  • Analysis of software for verifying properties of programs (testing of software G06F11/3668) · CPC title

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 US2016239407A1 cover?
Provided are methods and systems for automated generation of small scale integration tests to keep mocked input-output contract expectations of external objects synchronized with the actual implementation of the external objects. Such synchronization is achieved through automated creation of small scale integration tests by replacing expected input-output behaviors of mocked interactions with a…
Who is the assignee on this patent?
Google Inc
What technology area does this patent fall under?
Primary CPC classification G06F11/3684. Mapped technology areas include Physics.
When was this patent published?
Publication date Thu Aug 18 2016 00:00:00 GMT+0000 (Coordinated Universal Time) (A1). 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).