Skip to main content
Log in

Applying black-box testing to UML/OCL database models

  • Published:
Software Quality Journal Aims and scope Submit manuscript

Abstract

Most Unified Modeling Language (UML) computer-aided software engineering tools have been insufficient in the development process because they provide little support for conceptual model testing. Model testing aims to ensure the correctness of a UML/OCL class diagram, or, in other words, that a given class diagram can perfectly meet the user’s requirements. This study proposes the validation of class diagrams with black-box testing, a technique used to test software without focusing on the software’s implementation or structure. An approach is proposed for the automatic transformation of the constraints of a UML/OCL class diagram into test cases. Following the creation of the test cases, they are executed with JUnit and the results produced are shown to the tester. To demonstrate the applicability of this approach, an effectiveness evaluation and an efficiency evaluation are performed here. Evaluation studies show that all faults included in a class diagram have been detected within an efficient time.

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
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8

Similar content being viewed by others

References

  • Aljumaily, H., Cuadra, D., & Martínez, P. (2008). OCL2Trigger: Deriving active mechanisms for relational databases using model-driven architecture. Journal of Systems and Software, 81(12), 2299–2314.

    Article  Google Scholar 

  • ArgoUML. (2011). http://argouml.tigris.org/. Accessed June 2011.

  • Blaha, M., & Premerlani, W. (1998). Object-oriented modeling and design for database applications. Prentice Hall.

  • Bronshtein, I. N., & Semendyayev, K. A. (2004). Handbook of mathematics (4th ed.). New York: Springer.

    Book  MATH  Google Scholar 

  • Calafat, A. Q. (2009). Validation of UML conceptual schemas with OCL constraints and operations. PhD. Thesis, Universitat Politecnica de Catalunya, Spain.

  • Chan, W. K., Cheung, S. C., & Tse, T. H. (2005). Fault-based testing of database application programs with conceptual data model. In Proceedings of the fifth international conference on quality software (pp. 187–196). Los Alamitos, CA: IEEE Computer Society Press.

  • Chays, D., Dan, S., Frankl, P. G., Vokolos, F., & Weyuker E. J. (2000). A framework for testing database applications. In ACM SIGSOFT international symposium on Software testing and analysis, Portland, OA.

  • Chen, P. (1976). The entity-relationship model—toward a unified view of data. ACM Transactions on Database Systems, 1(1), 9–36.

    Google Scholar 

  • Chernak, Y. (2001). Validating and improving test-case effectiveness. IEEE Software Archive, 18(1), 81–88.

    Google Scholar 

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

    Google Scholar 

  • Costa, M., Cunningham, J., & Booth, J. (1990). Logical animation. In Proceedings of the international conference on software engineering.

  • Debroy, V., & Wong, W. E., (2009). Are fault failure rates good estimators of adequate test set size? In Proceedings of the 9th international conference on quality software (QSIC), Jeju Korea.

  • Egyed, A. (2006). Instant consistency checking for the UML. ICSE, 2006, 381–390.

    Google Scholar 

  • Egyed, A. (2007). Fixing inconsistencies in UML design models. ICSE, 2007, 292–301.

    Google Scholar 

  • Eldh, S., Hansson, H., Punnekkat, S., Pettersson, A., & Sundmark, D. (2006). A framework for comparing efficiency, effectiveness and applicability of software testing techniques, pp. 159–170.

  • Elmasri, R., & Navathe, S. (2000). Fundamentals of database systems (3rd ed.). Reading, MA: Addison-Wesley.

    Google Scholar 

  • Elmstrøm, R., Larsen, P. G., & Lassen, P. B. (1994). A practical approach to formal specifications. ACM SIGPLAN Notices, 29(9), 77–80.

    Article  Google Scholar 

  • Giraudo, G., & Tonella, P. (2003). Designing and conducting an empirical study on test management automation. Empirical Software Engineering, 8(1), 59–81.

    Article  MATH  Google Scholar 

  • Gogolla, M., Büttner, F., & Richters, M. (2007). USE: A UML-based specification environment for validating UML and OCL. Science of Computer Programming, 69, 27–34.

    Article  MATH  MathSciNet  Google Scholar 

  • Gogolla, M., Conrad, S., Denker, G., Herzig, R., & Vlachantonis, N. (1995). A development environment for an object specification language. IEEE Transactions on Knowledge and Data Engineering, 7, 505–508.

    Article  Google Scholar 

  • Gordon, V. S., & Bieman, J. M. (1995). Rapid prototyping: lessons learned. IEEE Software, 12(1), 85–95.

    Google Scholar 

  • Heumann, J. (2001). Generating test cases from use cases, Rational Software, IBM. https://ecs.victoria.ac.nz/twiki/pub/Courses/SWEN301_2010T1/Assignments/GeneratingTestCasesFromUseCasesJune01.pdf.

  • Hong, M., Zeng, Q., Wang, Z., Zhang, Y., & Wang, H. (2010). An approach of automated test cases generation in database stored procedure testing. In Second international workshop on education technology and computer science, Vol. 1, pp. 533–537.

  • HSQLDB. (2011) 100% Java database, http://hsqldb.org/, Accessed June 2011.

  • JUnit. (2011). http://www.junit.org/, Accessed June 2011.

  • Kassoff, M., & Genesereth, M. R. (2011) The Markov reformulation theorem. In Proceedings of the ninth symposium on abstraction, reformulation, and approximation (SARA 2011), Spain, July 17–18, 2011.

  • Larman, C. (2001). Applying UML and patterns: An introduction to object-oriented analysis and design and the unified process (2nd ed.). Englewood Cliffs, NJ: Prentice-Hall.

    Google Scholar 

  • Lehmann E., & Wegener J. (2000). Test case design by means of the CTE XL. In Proceedings of the 8th European international conference on software testing, analysis and review, Kopenhagen, Denmark.

  • Luqi, L., & Steigerwald, R. (1992). Rapid software prototyping. In System Sciences, Proceedings of the twenty-fifth Hawaii international conference.

  • MetaEdit+. (2011). http://www.metacase.com/. Accessed June 2011.

  • Meyer, B. (2008). Seven principles of software testing. IEEE Computer, 41, 99–101.

    Article  Google Scholar 

  • Mohagheghi, P., Dehlen, V., & Neple, T. (2009). Definitions and approaches to model quality in model-based software development—a review of literature. Information and Software Technology, 51, 1646–1669.

    Article  Google Scholar 

  • Moody, D. L., Sindre, G., Brasethvik, T., & Sølvberg, A. (2003) Evaluating the quality of information models: Empirical testing of a conceptual model quality framework. In Proceedings of the 25th international conference on software engineering (ICSE ‘03).

  • Myers, G. J. (2004). The art of software testing (2nd ed.). John Wiley & Sons.

    Google Scholar 

  • OMG, Object Management Group. UML 2.0 OCL Specification, Inc. (2011). http://www.omg.org/. Accessed Jan 2011.

  • Objecteering/UML. (2011). Objecteering/SQL designer user guide version 5.2.2, http://depinfo.u-bourgogne.fr/docs/Objecteering522/SQLDesigner.pdf, Accessed June 2011.

  • OCL22SQL. (2011). Dresden OCL Toolkit. http://dresden-ocl.sourceforge.net/, Accessed June 2011.

  • Offutt, A. J., & Hayes, J. H., (1996). A semantic model of program faults. In Proceedings of ISSTA’1996, pp. 195–200.

  • Oliver, I., & Stuart, K. (1999). Validation of object-oriented models using animation. In Proceedings of the 25th EuroMicro’99 conference, Sep 8–10, Milan, Italy.

  • Overmyer, S. P. (1991). Revolutionary vs. evolutionary rapid prototyping: Balancing software productivity and HCI Design Concerns. In Proceedings of the fourth international conference on human-computer interaction, pp. 303–307.

  • Pressman, R. S. (2005). Software engineering: A practitioner’s approach. New York: McGraw-Hill Higher Education.

    Google Scholar 

  • Purchase, H. C., Welland, R., McGill, M., & Colpoys, L. (2004). Comprehension of diagram syntax: An empirical study of entity relationship notations. Int. J. Human-Computer Studies, 61, 187–203.

    Article  Google Scholar 

  • Rational Enterprise Edition. (2011). www-306.ibm.com/software/rational. Accessed June 2011.

  • Reder, A., & Egyed, A. (2010). Model/analyzer: A tool for detecting, visualizing and fixing design errors in UML. In ASE 2010, pp. 347–348.

    Article  Google Scholar 

  • Richters, M., & Gogolla, M. (2000). Validating UML models and OCL constraints. In UML2000. LNCS, Vol. 1939, pp. 265–277.

    Google Scholar 

  • Sommerville, I. (2007). Software engineering (8th ed.). Addison-Wesley.

  • ISO/IEC 9075 Standard (2008), Information technology—database languages—SQL:2008 International Organization for Standardization. Accessed June 2011.

  • Teorey, T. J. (1999) Database modeling & design (3rd ed.), Morgan Kaufmann Series in Data Management Systems.

  • Tort, A., & Olivé, A. (2010). An approach to testing conceptual schemas. Data & Knowledge Engineering, 69(6), 598–618.

    Article  Google Scholar 

  • Tort A., Olivé A., & Sancho M. R. (2011). The CSTL processor: A tool for automated conceptual schema testing, pp. 349–352

  • Tsai, W. T., Chen, Y., Paul R., Liao N., & Huang, H. (2004). Cooperative and group testing in verification of dynamic composite Web services. In Proceedings of the 28th annual international conference on computer software and applications..

  • Tsiolakis, A., & Ehrig, H. (2000) Consistency analysis of UML class and sequence diagrams using attributed graph grammars. Proceedings of Workshop on Graph Transformation Systems (GRATRA), pp. 77–86.

  • Tuya, J., Suárez-Cabal, M. J., & de la Riva, C. (2006). SQL mutation: A tool to generate mutants of SQL database queries. In Second workshop on mutation analysis, Raleigh, NC.

  • Vincenzi, A. M. R., Maldonado, J. C., Delamaro, M. E., Spoto, E. S., & Wong, W. E. (2003). Component-based software: An overview of testing. In Proceedings of component-based software quality, pp. 99–127.

  • Visual Case Tool. (2011). http://visualcase.com/index.htm/. Accessed June 2011.

  • Zhang, K., Song, G., & Kong, J. (2004). Rapid software prototyping using visual language techniques. In Proceedings of 15th IEEE international workshop on rapid system prototyping.

  • Zhu, H., Hall, P., & May, J. (1997). Software unit test coverage and adequacy. ACM Computing Surveys, 29(4), 366–427.

    Google Scholar 

Download references

Acknowledgments

We sincerely thank the anonymous referees for their valuable suggestions, which have improved the paper. This work has been partially supported by the project Thuban: Natural Interaction Platform for Virtual Attending in Real Environments (TIN2008-02711).

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Harith Aljumaily.

Rights and permissions

Reprints and permissions

About this article

Cite this article

Aljumaily, H., Cuadra, D. & Martínez, P. Applying black-box testing to UML/OCL database models. Software Qual J 22, 153–184 (2014). https://doi.org/10.1007/s11219-012-9192-9

Download citation

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s11219-012-9192-9

Keywords

Navigation