Skip to main content
Log in

Advanced management of data integrity: property-based testing for business rules

  • Published:
Journal of Intelligent Information Systems Aims and scope Submit manuscript

Abstract

Software testing is a very delicate aspect of software development, since designing good test sets is a non-trivial task. In this article, we describe a testing technique for testing business rules using property-based testing and the property-based automatic testing tool QuickCheck. Systematic, effective, and efficient testing of business rules increases the confidence on the validation of business concepts and domain rules which are specifically critical to data consistency. The approach is presented on the basis of small but representative examples in order to facilitate the readers’ understanding, but it has been successfully evaluated in a number of different industrial examples, demonstrating that it generalises to much larger systems and is, thus, broadly applicable.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3

Similar content being viewed by others

Notes

  1. From now, we will refer to ‘Quviq QuickCheck’ just as ‘QuickCheck’.

  2. The other field, products, gets a default value, the empty list.

References

  • Arts, T., Hughes, J., Johansson, J., Wiger, U. (2006). Testing telecoms software with Quviq QuickCheck. In Proceedings of 5th ACM SIGPLAN Workshop on Erlang. ACM Press.

  • Bajec, M., & Krisper, M. (2005). A methodology and tool support for managing business rules in organisations. Information Systems, 30(6), 423–443.

    Article  Google Scholar 

  • Beizer, B. (1990). Software testing techniques, 2nd edn. New York: Van Nostrand Reinhold Co.

    Google Scholar 

  • Bizerra, E., Silveira, D., Cruz, M., Wanderley, F. (2012). A method for generation of tests instances of models from business rules expressed in OCL. IEEE Latin America Transactions, 10(5), 2105–2111.

    Article  Google Scholar 

  • Blanco, R., Tuya, J., Seco, R.V. (2012). Test adequacy evaluation for the user-database interaction: A specification-based approach. In Proceedings of 5th IEEE International Conference on Software Testing, Verification and Validation, (pp. 71–80).

  • Cabrero, D., Abalde, C., Varela, C., Castro, L.M. (2003). AR-MIS-TICE: An experience developing management software with erlang. In Proceedings of 2nd ACM SIGPLAN Workshop on Erlang. ACM Press, (pp. 23–28).

  • Chanana, V., & Koronios, A. (2007). Data quality through business rules. In Proceedings of International Conference on Information and Communication Technology, (pp. 262–265).

  • Claessen, K., & Hughes, J. (2000). Quickcheck: a lightweight tool for random testing of haskell programs. In Proceedings of 5th International Conference on Functional Programming, (pp. 268–279).

  • Codd, E.F. (1970). A relational model of data for large shared data banks. Communications of the ACM, 13(6), 377–387.

    Article  MATH  Google Scholar 

  • Diana, R., Marques-Neto, H., Zárate, L., Song, M. (2012). A symbolic model checking appproach to verifying transact-SQL. In Proceedings of IEEE International Conference on Systems, Man and Cybernetics, (pp. 1735–1741).

  • Dietrich, J., & Paschke, A. (2005). On the test-driven development and validation of business rules. In Proceedings of 4th International Conference on Information Systems Technology and its Applications, (Vol. 63, pp. 31–48).

  • Duran, J.W., & Ntafos, S.C. (1984). An evaluation of random testing. IEEE Transactions on Software Engineering, 10(4), 438–444.

    Article  Google Scholar 

  • Gulías, V.M., Abalde, C., Castro, L.M., Varela, C. (2005). A new risk management approach deployed over a client/server distributed functional architecture. In Proceedings of 18th International Conference on Systems Engineering. IEEE Computer Society Press, Los Alamitos, CA, (pp. 370–375).

  • Gulías, V.M., Abalde, C., Castro, L.M., Varela, C. (2006). Formalisation of a functional risk management system. In Proceedings of 8th International Conference on Enterprise Information Systems. INSTICC Press, (pp. 516–519).

  • Haerder, T., & Reuter, A. (1983). Principles of transaction-oriented database recovery. ACM Computing Survey, 15(4), 287–317.

    Article  MathSciNet  Google Scholar 

  • Hamlet, D. (2006). When only random testing will do. In Proceedings of 1st International Workshop on Random Testing. ACM Press, (pp. 1–9).

  • Hamlet, R.G. (1988). Special section on software testing. Communications of the ACM, 31(6), 662–667.

    Article  Google Scholar 

  • Hughes, J. (2007). Quickcheck testing for fun and profit. Lecture Notes in Computer Science, 4354, 1–32.

    Article  Google Scholar 

  • Jung, T. (2010). Java implementation of quickchek. http://quickcheck.dev.java.net/.

  • Junit (2008). Testing framework for java. http://www.junit.org.

  • Kaner, C., Falk, J.L., Nguyen, Q. (1999). Testing Computer Software, 2nd edn. New York: Wiley.

  • King, J.C. (1976). Symbolic execution and program testing. Communications of the ACM, 19(7), 385–394.

    Article  MATH  Google Scholar 

  • League, C. (2010). Qcheck/sml. http://contrapunctus.net/league/haques/qcheck/.

  • López, M., Castro, L., Cabrero, D. (2013). Feasibility of property-based testing for time-dependent systems. Lecture Notes in Computer Science, 8112, 527–535.

    Article  Google Scholar 

  • Neto, P., Resende, R., Pádua, C. (2005). A method for information systems testing automation. Lecture Notes in Computer Science, 3520, 504–518.

    Article  Google Scholar 

  • Packevičius, S., Ušaniov, A., Bareiša, E. (2008). Unit tests construction based on business rules. Innovations and Advanced Techniques in Systems. Computing Sciences and Software Engineering, 443–447.

  • Paladi, N., & Arts, T. (2009). Model based testing of data constraints: testing the business logic of a mnesia application with Quviq QuickCheck. In Proceedings of 8th ACM SIGPLAN Workshop on Erlang. ACM Press, (pp. 71–82).

  • Quviq, A.B. (2008). http://www.quviq.com.

  • Rodríguez, F., Lamancha, B., Usaoloa, M. (2012). Data model based test case design: Model-driven information system testing. In Proceedings of 4th International Conference on Advances in System Testing and Validation Lifecycle, (pp. 127–132).

  • Sharma, M., & Chandra, B.S. (2010). Automatic generation of test suites from decision table – theory and implementation. In Proceedings of 5th International Conference on Software Engineering Advances, (pp. 459–464).

  • Sneed, H., Demuth, B., Freitag, B. (2013). A process for assessing data quality. In Proceedings of 6th IEEE International Conference on Software Testing, Verification and Validation, (pp. 114–119).

  • Software Engineering Institute (2010). Summary report of appraisal results. Tech. rep., Carnegie Mellon. http://sas.sei.cmu.edu/pars/pars.aspx.

  • Soldani, C. (2010). Quickcheck++. http://software.legiasoft.com/quickcheck/.

  • Sriganesh, S., & Ramanathan, C. (2012). Externalizing business rules from business processes for model based testing. In Proceedings of IEEE International Conference on Industrial Technology, (pp. 312–318).

  • Standard, A.I. (1999). Database language SQL. http://www.cse.iitb.ac.in/dbms/Data/Papers-Other/SQL1999/ansi-iso-9075-2-1999.pdf.

  • Meservy, T.O., Zhang, C., Lee, E., Dhaliwal, J. (2012). The business rules approach and its effect on software testing. IEEE Software, 29(4), 60–66.

    Article  Google Scholar 

  • Tosanguan, P., & Suwannasart, T. (2012). An approach for defining rules as functions in rule-based software development. In Proceedings of 7th International Conference on Digital Information Management, (pp. 30–34).

  • van der Aalst, L., & Vink, J. (2008). Testing expensive? Not testing is more expensive!. In Proceedings of Test Excellence through Speed and Technology International Conference, (pp. 1–12).

  • Vegas, S. (2002). A characterisation schema for software testing techniques. Ph.D. thesis, Universidad Politécnica de Madrid.

  • Willmor, D., & Embury, S.M. (2006). Testing the implementation of business rules using intensional database tests. In Proceedings of Testing: Academic & Industrial Conference on Practice And Research Techniques. IEEE Computer Society Press, (pp. 115–126).

Download references

Acknowledgements

This research has been partially supported by MICIN TIN2010-20959.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Laura M. Castro.

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Castro, L.M. Advanced management of data integrity: property-based testing for business rules. J Intell Inf Syst 44, 355–380 (2015). https://doi.org/10.1007/s10844-014-0335-2

Download citation

  • Received:

  • Revised:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10844-014-0335-2

Keywords

Navigation