  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.
