Patent ID: 9471454
Filing Date: 2016-10-18
CPC Classification: G06F

Claim Text:
1. A method for performing automated tests on a system under test, the method comprising the following steps: providing a set of test blocks, with each test block of the set of test blocks being configured to trigger at least one user activity on the system under test; providing a status repository containing data reflecting a current status of the system under test, wherein the set of test blocks are configured to retrieve, store and remove data from the status repository to facilitate an exchange of at least one parameter between at least two test blocks in the set of test blocks; and providing a history log which protocols data regarding the performed automated tests including an identification of which test blocks in the set of test blocks have been executed and an order of execution thereof and therefore provides data necessary for tracing a test history of the system under test; wherein the following set of steps is performed iteratively in order to execute a plurality of test blocks consecutively: defining a subset of executable test blocks by evaluating preconditions mandatory for executing the test blocks based on the current status of the system under test; scoring the executable test blocks based on at least one scoring parameter; selecting a test block to be executed out of the subset of executable test blocks using a weighted random selection of the test block based on the scores, wherein a probability of selection of the test block depends on the score; executing the selected test block, wherein due to the execution at least one action is triggered on the system under test; updating data of the status repository based on data of the system under test provided by the executed test block; and updating data of the history log by adding data regarding the executed test block, a status of the status repository and the results of the test block execution, including an identification of the executed test block and an order of execution of the executed test block, in order to enable repeating the automated tests starting at a certain status of the system under test.