Extending patterns with testing implementation

VV&T activities are a present concern in the context of patterns, as patterns are used for software development, maintenance, and reengineering, and this type of activity is necessary to assure the quality both of the solutions and of the delivered products. Although VV&T activities are important, they are not always performed as they should be, due to the associated time and cost. In this context, this paper proposes a strategy that aggregates test resources to software patterns. This allows reusing not only solutions in a certain context, but also the corresponding test resources needed to validate applications. Reengineering case studies were conducted with the support of a pattern language, through which it has been possible to observe, although without statistical significance, a meaningful reduction of the time spent with VV&T activities when test resources aggregated to patterns are used.

[1]  Bonnie Lee Appleton Patterns and Software: Essential Concepts and Terminology , 1997 .

[2]  F. S. Germano,et al.  A Pattern Language for Business Resource Management , 1999 .

[3]  Kent L. Beck,et al.  Test-driven Development - by example , 2002, The Addison-Wesley signature series.

[4]  Ralph Johnson,et al.  design patterns elements of reusable object oriented software , 2019 .

[5]  A. Jefferson Offutt,et al.  Increased software reliability through input validation analysis and testing , 1999, Proceedings 10th International Symposium on Software Reliability Engineering (Cat. No.PR00443).

[6]  Marcus E. Markiewicz,et al.  Object oriented framework development , 2001, CROS.

[7]  James O. Coplien Software design patterns: common questions and answers , 1998 .

[8]  Wei-Tek Tsai,et al.  Testing extensible design patterns in object-oriented frameworks through scenario templates , 1999, Proceedings. Twenty-Third Annual International Computer Software and Applications Conference (Cat. No.99CB37032).

[9]  Paul DuBois,et al.  MySQL Reference Manual , 2002 .

[10]  Robert V. Binder,et al.  Testing Object-Oriented Systems: Models, Patterns, and Tools , 1999 .

[11]  Agile Manifesto,et al.  Manifesto for Agile Software Development , 2001 .

[12]  Peter Coad,et al.  Object-oriented patterns , 1992, CACM.

[13]  Glenford J. Myers,et al.  Art of Software Testing , 1979 .

[14]  Peter Sommerlad,et al.  Pattern-Oriented Software Architecture: A System of Patterns: John Wiley & Sons , 1987 .

[15]  Perdita Stevens,et al.  Systems reengineering patterns , 1998, SIGSOFT '98/FSE-6.

[16]  Craig Larman,et al.  Applying UML and Patterns: An Introduction to Object-Oriented Analysis and Design and Iterative Development (3rd Edition) , 1997 .

[17]  Marc Roper,et al.  Software Testing , 1994 .

[18]  Peter Sommerlad,et al.  Pattern-Oriented Software Architecture , 1996 .

[19]  Maria Istela Cagnin,et al.  PARFAIT: towards a framework-based agile reengineering process , 2003, Proceedings of the Agile Development Conference, 2003. ADC 2003.

[20]  Mary Jean Harrold,et al.  Testing: a roadmap , 2000, ICSE '00.

[21]  Roger S. Pressman,et al.  Software Engineering: A Practitioner's Approach (McGraw-Hill Series in Computer Science) , 2004 .

[22]  Ralph E. Johnson,et al.  Patterns Generate Architectures , 1994, ECOOP.

[23]  Paulo César Masiero,et al.  A process for framework construction based on a pattern language , 2002, Proceedings 26th Annual International Computer Software and Applications.

[24]  Elaine J. Weyuker,et al.  Testing Component-Based Software: A Cautionary Tale , 1998, IEEE Softw..

[25]  Juha Taina,et al.  Product family testing: a survey , 2004, SOEN.

[26]  Paul Clements,et al.  Software product lines - practices and patterns , 2001, SEI series in software engineering.

[27]  Roger S. Pressman,et al.  Software Engineering: A Practitioner's Approach , 1982 .

[28]  Mark Mayfield,et al.  Object Models: Strategies, Patterns, and Applications , 1995 .

[29]  Gerard G. Meszaros,et al.  A pattern language for pattern writing , 1997 .

[30]  Dirk Riehle,et al.  Pattern Languages of Program Design 3 , 1997 .

[31]  Stéphane Ducasse,et al.  A Pattern Language for Reverse Engineering , 1999, EuroPLoP.