×

System, method, and apparatus for crowd-sourced gathering of application execution events for automatic application testing and replay

  • US 10,417,116 B2
  • Filed: 07/28/2016
  • Issued: 09/17/2019
  • Est. Priority Date: 07/28/2016
  • Status: Active Grant
First Claim
Patent Images

1. A method performed by at least one hardware processor, comprising:

  • instrumenting a first version of an application on a plurality of end user devices associated with end users of the application, wherein the instrumentation comprises injecting instrumentation into executable code of the first version of the application;

    receiving execution data for the first version of the application from at least some of the plurality of end user devices, the execution data generated by the at least some of the plurality of end user devices, and the execution data is generated based on an execution of the instrumented executable code of the first version of the application by each of the at least some of the end user devices during real-life use of the application by the end users of the at least some of the end user devices;

    automatically generating a plurality of execution scripts based on the received execution data, each execution script configured to reproduce user inputs and user device environment that were used during the real-life execution of the first version of the application by a respective one of the end users devices;

    automatically executing at least some of the plurality of execution scripts to use the reproduced user inputs and user device environments on an execution of executable code of an updated version of the application;

    monitoring the automatic execution of the at least some of the plurality of execution scripts on the executable code of the updated version of the application to identify an execution point of failure in the execution of the executable code of the first version of the application; and

    identifying the execution point of failure from the monitoring by;

    instrumenting the updated version of the application;

    automatically executing the at least some of the plurality of execution scripts on the instrumented executable code of the updated version of the application to use the reproduced user inputs and user device environments that were used during the automatic execution of the executable code of the updated version of the application;

    generating new execution data from the automatic execution of the at least one of the execution scripts on the instrumented executable code of the updated version of the application;

    comparing the received execution data from the execution of the instrumented executable code of the first version of the application to the new execution data from the execution of the instrumented executable code of the updated version of the application;

    determining whether the execution point of failure occurs in the execution of the executable code of the updated version of the application based on the comparing; and

    determining whether the updated version of the application is successful based on whether the execution point of failure occurred in the execution of the executable code of the updated version of the application.

View all claims
  • 1 Assignment
Timeline View
Assignment View
    ×
    ×