Dynamic Data Consistency Tests Using a CRUD Matrix as an Underlying Model
This work provides an incremental improvement for software and IoT system testers by enhancing an existing data consistency testing technique, aiming to reduce undetected defects.
This paper extends the Data Cycle Test technique, used for verifying data consistency in software and IoT systems, by providing a more exact definition of test coverage, reflecting relationships between data entities, and an algorithm for selecting and combining CRUD operations. Experiments show this extension helps test designers produce more consistent test cases, reducing undetected data consistency defects compared to the original technique.
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.