Dynamic Data Consistency Tests Using a CRUD Matrix as an Underlying Model
In testing of software and Internet of Things (IoT) systems, one of necessary type of tests has to verify the consistency of data that are processed and stored in the system. The Data Cycle Test technique can effectively do such tests. The goal of this technique is to verify that the system processes data entities in a system under test in a correct way and that they remain in a consistent state after operations such as create, read, update and delete. Create, read, update and delete (CRUD) matrices are used for this purpose. In this paper, we propose an extension of the Data Cycle Test design technique, which is described in the TMap methodology and related literature. This extension includes a more exact definition of the test coverage, a reflection of the relationships between the tested data entities, an exact algorithm to select and combine read and update operations in test cases for a particular data entity, and verification of the consistency of the produced test cases. As verified by our experiments, in comparison to the original Data Cycle Test technique, this proposed extension helps test designers to produce more consistent test cases that reduce the number of undetected potential data consistency defects.
READ FULL TEXT