Reducing the cost of mutation testing: an empirical study
Journal of Systems and Software
Business rule extraction techniques for COBOL programs
Journal of Software Maintenance: Research and Practice
Mutation Testing Applied to Estelle Specifications
Software Quality Control
Mnesia - A Distributed Robust DBMS for Telecommunications Applications
PADL '99 Proceedings of the First International Workshop on Practical Aspects of Declarative Languages
Automating Test Case Generation from Z Specifications with Isabelle
ZUM '97 Proceedings of the 10th International Conference of Z Users on The Z Formal Specification Notation
Test Case Design Based on Z and the Classification-Tree Method
ICFEM '97 Proceedings of the 1st International Conference on Formal Engineering Methods
Automated test generation for industrial Erlang applications
Proceedings of the 2003 ACM SIGPLAN workshop on Erlang
Testing database transactions with AGENDA
Proceedings of the 27th international conference on Software engineering
An AGENDA for testing relational database applications: Research Articles
Software Testing, Verification & Reliability
Fault-Based Testing of Database Application Programs with Conceptual Data Model
QSIC '05 Proceedings of the Fifth International Conference on Quality Software
Testing telecoms software with quviq QuickCheck
Proceedings of the 2006 ACM SIGPLAN workshop on Erlang
Programming Erlang: Software for a Concurrent World
Programming Erlang: Software for a Concurrent World
Property driven development in Erlang, by example
Proceedings of the 5th Workshop on Automation of Software Test
Testing Data Consistency of Data-Intensive Applications Using QuickCheck
Electronic Notes in Theoretical Computer Science (ENTCS)
Hi-index | 0.00 |
Correct implementation of data constraints, such as referential integrity constraints and business rules is an essential precondition for data consistency. Though most modern commercial DBMSs support data constraints, the latter are often implemented in the business logic of the applications. This is especially true for non relational DBMS like Mnesia, which do not provide constraints enforcement mechanisms. This case study examines a database application which uses Mnesia as data storage in order to determine, express and test data constraints with Quviq QuickCheck, adopting a model-based testing approach. Some of the important stages of the study described in the article are: reverse engineering of the database, analysis of the obtained database structure diagrams and extraction of data constraint, validation of constraints, formulating the test specifications and finally running the generated test suits. As a result of running the test suits randomly generated by QuickCheck, we have detected several violations of the identified and validated business rules. We have found that the applied methodology is suitable for applications using non relational, unnormalized databases. It is important to note the methodology applied within the case study is not bound to a specific application or DBMS, and can be applied to other database applications.