Abstract
In the current trend, design pattern has been widely used for improving software quality. However, using design patterns is not easy, developers need to understand their complex structure and behavior, and have to apply them in the correctly. Therefore, several approaches are proposed to check the violence of pattern application in a system. We argue only static checking to patter structure is not enough, dynamic testing to test the patterns’ semantics is necessary. In this paper, we propose a test model for design patterns. We explore the potential error point of each design pattern thoroughly, and encapsulate their testing methods into a package called “test pattern for design pattern (TP4DP)”. Just like the design pattern, our proposed TP4DP includes the sample code of executable test cases which facilitate their application practically.
This research was supported by the National Science Council, Taiwan R.O.C., under grants MOST 106-2221-E-035-MY2.
This is a preview of subscription content, log in via an institution.
Buying options
Tax calculation will be finalised at checkout
Purchases are for personal use only
Learn about institutional subscriptionsReferences
Ampatzoglou, A., Chatzigeorgiou, A.: Evaluation of object-oriented design patterns in game development. Inf. Softw. Technol. 49(5), 445–454 (2007)
Ampatzoglou, A., Chatzigeorgiou, A., Charalampidou, S., Avgeriou, P.: The effect of gof design patterns on stability: a case study. IEEE Trans. Software Eng. 41(8), 781–802 (2015)
Blewitt, A., Bundy, A., Stark, I.: Automatic verification of java design patterns. In: Proceedings 16th Annual International Conference on Automated Software Engineering (ASE 2001), pp. 324–327. IEEE (2001)
Chatzigeorgiou, A., Tsantalis, N., Deligiannis, I.: An empirical study on students’ ability to comprehend design patterns. Comput. Educ. 51(3), 1007–1016 (2008)
Chu, P.-H., Hsueh, N.-L., Chen, H.-H., Liu, C.-H.: A test case refactoring approach for pattern-based software development. Software Qual. J. 20(1), 43–75 (2012)
Gamma, E., Helm, R., Johnson, R., Vlissides, J.: Design Patterns: Elements of Reusable Object-Oriented Software. Pearson Education, Boston (1994)
Graves, A.R., Czarnecki, C.: Design patterns for behavior-based robotics. IEEE Trans. Syst. Man Cybern. Part A Syst. Hum. 30(1), 36–41 (2000)
Heuzeroth, D., Holl, T., Hogstrom, G., Lowe, W.: Automatic design pattern detection. In: 11th IEEE International Workshop on Program Comprehension, pp. 94–103. IEEE (2003)
Hsueh, N.-L., Chu, P.-H., Chu, W.: A quantitative approach for evaluating the quality of design patterns. J. Syst. Softw. 81(8), 1430–1439 (2008)
Huston, B.: The effects of design pattern application on metric scores. J. Syst. Softw. 58(3), 261–269 (2001)
Izurieta, C., Bieman, J.M.: A multiple case study of design pattern decay, grime, and rot in evolving software systems. Software Qual. J. 21(2), 289–323 (2013)
Khwaja, S., Alshayeb, M.: Survey on software design-pattern specification languages. ACM Comput. Surv. 49(1), 21 (2016)
Ng, T.H., Cheung, S.C., Chan, W.K., Yu, Y.-T.: Do maintainers utilize deployed design patterns effectively? In: Proceedings of the 29th international conference on Software Engineering, pp. 168–177. IEEE Computer Society (2007)
Oduor, M., Alahäivälä, T., Oinas-Kukkonen, H.: Persuasive software design patterns for social influence. Pers. Ubiquit. Comput. 18(7), 1689–1704 (2014)
Prechelt, L., Unger-Lamprecht, B., Philippsen, M., Tichy, W.F.: Two controlled experiments assessing the usefulness of design pattern documentation in program maintenance. IEEE Trans. Software Eng. 28(6), 595–606 (2002)
Sahin, C., et al.: Initial explorations on design pattern energy usage. In: 2012 First International Workshop on Green and Sustainable Software (GREENS), pp. 55–61. IEEE (2012)
Tsantalis, N., Chatzigeorgiou, A., Stephanides, G., Halkidis, S.T.: Design pattern detection using similarity scoring. IEEE Trans. Software Eng. 32(11), 896–909 (2006)
Wendorff, P.: Assessment of design patterns during software reengineering: lessons learned from a large commercial project. In: 2001 Fifth European Conference on Software Maintenance and Reengineering, pp. 77–84. IEEE (2001)
Zanoni, M., Fontana, F.A., Stella, F.: On applying machine learning techniques for design pattern detection. J. Syst. Softw. 103, 102–117 (2015)
Zhang, C., Budgen, D.: What do we know about the effectiveness of software design patterns? IEEE Trans. Software Eng. 38(5), 1213–1231 (2012)
Zhang, C., Budgen, D.: A survey of experienced user perceptions about software design patterns. Inf. Softw. Technol. 55(5), 822–835 (2013)
Zhao, C., Kong, J., Zhang, K.: Design pattern evolution and verification using graph transformation. In: 40th Annual Hawaii International Conference on System Sciences HICSS 2007, p. 290a. IEEE (2007)
Zhu, H.: On the theoretical foundation of meta-modelling in graphically extended BNF and first order logic. In: 2010 4th IEEE International Symposium on Theoretical Aspects of Software Engineering (TASE), pp. 95–104. IEEE (2010)
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2019 Springer Nature Singapore Pte Ltd.
About this paper
Cite this paper
Hsueh, N.L. (2019). A Framework for Design Pattern Testing. In: Chang, CY., Lin, CC., Lin, HH. (eds) New Trends in Computer Technologies and Applications. ICS 2018. Communications in Computer and Information Science, vol 1013. Springer, Singapore. https://doi.org/10.1007/978-981-13-9190-3_78
Download citation
DOI: https://doi.org/10.1007/978-981-13-9190-3_78
Published:
Publisher Name: Springer, Singapore
Print ISBN: 978-981-13-9189-7
Online ISBN: 978-981-13-9190-3
eBook Packages: Computer ScienceComputer Science (R0)