We aim to provide a test service with fire-and-forget capabilities. The developer simply uploads their app (apk or source-code), chooses the devices to test the app and gets the test results within a few-hours time. Since our solution is deployed on a cloud platform it can be accessed from anywhere in the world. In addition, the testing service runs round-the-clock, which means faster results and smaller turn-around times.
The core of our framework relies on being able to extract a model of the app automatically. Once a model of the app has been generated, it is used for systematically testing various properties of the app. On a more abstract level, our framework works in three different stages - i. Model extraction, ii. Property based model exploration and test generation iii. Test result assimilation and prioritization.
Prior to test-generation, our framework automatically generates a model of the app by using our patented model-generation technique. This model captures the ordering between all of the interactable elements (such as buttons, text boxes, etc) within the app. In addition, the generated model also provides a mapping between the events and their respective event-handlers in the app. The model guides the subsequent test-generation step and is instrumental in finding bug-revealing scenarios (test-cases) within the app.