Nothing Special   »   [go: up one dir, main page]

skip to main content
10.1145/2245276.2245404acmconferencesArticle/Chapter ViewAbstractPublication PagessacConference Proceedingsconference-collections
research-article

Using spring Roo for the test-driven development of Web applications

Published: 26 March 2012 Publication History

Abstract

Software should be developed in a way that achieves high external and internal quality. Most programs have to be maintained or are extended. They should not only adhere to their requirements but allow to be efficiently changed. Model-driven software development (MDSD) and test-driven development (TDD) are techniques that help to satisfy this demand. We present a novel approach combining MDSD and TDD while using the Spring Roo Web development framework. Besides discussing existing work and the background, we sketch a test-driven Web development process. We then evaluate its feasibility in an exemplary scenario. Thereby, we contribute to the body of scientific knowledge on Web development frameworks in the field of MDSD and TDD.

References

[1]
Selenium. http://seleniumhq.org/.
[2]
S. Abbas and R. M. Samant. Software as a service: shifting businesses to the cloud. In Proc. ICWET '11, New York, NY, USA, 2011. ACM.
[3]
G. Adzic. Specification by example. Manning, 2011.
[4]
B. Alex. Spring Roo 1.0.0 Released, 2009. http://blog.springsource.com/2009/12/31/spring-roo-1-0-0-released/.
[5]
B. Alex, S. Schmidt, A. Stewart, J. Tyrrell, and A. Swan. Spring Roo - Reference Documentation 1.2.0.SNAPSHOT. SpringSource, Inc., 2011.
[6]
K. Beck. Embracing change with extreme programming. IEEE computer, 32(10): 70--77, 1999.
[7]
K. Beck. Extreme Programming Explained: Embrace Change. Addison-Wesley, 2000.
[8]
K. Beck. Test-Driven Development: By Example. Addison-Wesley, 2003.
[9]
K. Beck. Implementation Patterns. Addison-Wesley, 2007.
[10]
E. Bernard and S. Peterson. JSR 303: Bean Validation, 2009. http://jcp.org/en/jsr/detail?id=303.
[11]
D. Bosanac. Scripting in Java. Addison-Wesley, 2007.
[12]
M. Campbell-Kelly. Historical reflections: The rise, fall, and resurrection of software as a service. Commun. ACM, 52: 28--30, 2009.
[13]
G. Canfora, A. Cimitile, F. Garcia, M. Piattini, and C. A. Visaggio. Evaluating advantages of test driven development: a controlled experiment with professionals. In Proc. ESEM '10, pages 364--371. Springer, 2006.
[14]
J. C. Castrejón, R. López-Landa, and R. Lozano. Model2Roo: A model driven approach for web application development based on the Eclipse Modeling Framework and Spring Roo. In Proc. 21st CONIELECOMP, pages 82--87, 2011.
[15]
D. Chelimsky, D. Astels, B. Helmkamp, D. North, Z. Dennis, and A. Hellesoy. The RSpec Book. Pragmatic Bookshelf, 2010.
[16]
T. Cleff. Basiswissen Testen von Software. W3L, 2010.
[17]
M. Cohn. User Stories Applied. Addison-Wesley, 2004.
[18]
S. Davis. Groovy Recipes. Pragmatic Bookshelf, 2008.
[19]
S. Faber. Mockito, 2011. http://mockito.org/.
[20]
A. Fatolahi, S. S. Somé, and T. C. Lethbridge. Model-driven web development for multiple platforms. J. Web Eng., 10: 109--152, June 2011.
[21]
M. Fewster and D. Graham. Software Test Automation. Addison-Wesley, 1999.
[22]
R. T. Fielding. Architectural Styles and the Design of Network-based Software Architectures. PhD thesis, University of California, Irvine, 2000.
[23]
P. T. Fisher and B. D. Murphy. Spring Persistence with Hibernate. Apress, Berkely, CA, USA, 2010.
[24]
M. Fowler. Refactoring: Improving the Design of Existing Code. Addison-Wesley, 1999.
[25]
M. Fowler. Patterns of Enterprise Application Architecture. Addison-Wesley, 2002.
[26]
S. Freeman and N. Pryce. Growing object-oriented software, guided by tests. Addison-Wesley, 2009.
[27]
E. Gamma, R. Helm, R. Johnson, and J. Vlissides. Design patterns. Addison-Wesley, 1995.
[28]
P. Giner and V. Pelechano. Test-driven development of model transformations. In Proc. MODELS '09, pages 748--752, Berlin, 2009. Springer.
[29]
R. Gitzel, A. Korthaus, and M. Schader. Using established web engineering knowledge in model-driven approaches. Sci. Comput. Program., 66: 105--124, 2007.
[30]
C. Jones. Software Quality. Thomson Learning, 1997.
[31]
L. Koskela. Test Driven: Practical TDD and Acceptance TDD for Java Developers. Manning, 2008.
[32]
S. Ladd, D. Davison, S. Devijver, and C. Yates. Expert Spring MVC and Web Flow. Apress, 2006.
[33]
N. Laranjeiro and M. Vieira. Extending test-driven development for robust web services. In Proc. DEPEND '09, pages 122--127, Washington, DC, USA, 2009. IEEE CS.
[34]
J. Long and S. Mayzak. Getting Started with Roo. O'Reilly, 2011.
[35]
T. Mackinnon, S. Freeman, and P. Craig. Endo-testing: Unit testing with mock objects. In XP eXamined. Addison-Wesley, 2000.
[36]
G. Mak, D. Rubio, and J. Long. Spring Recipes: A Problem-Solution Approach. Apress, Berkely, CA, USA, 2nd edition, 2010.
[37]
R. C. Martin. Clean Code. Prentice Hall PTR, Upper Saddle River, NJ, USA, 2008.
[38]
G. Meszaros. XUnit test patterns: refactoring test code. Addison-Wesley, 2007.
[39]
F. P. Miller, A. F. Vandome, and J. McBrewster. Browser wars. Alpha Press, 2009.
[40]
N. Nagappan, E. M. Maximilien, T. Bhat, and L. Williams. Realizing quality improvement through test driven development: Results and experiences of four industrial teams. Empi. SE, 13(3): 289--302, 2008.
[41]
C. O. Nutter, T. Enebo, N. Sieger, O. Bini, and I. Dees. Using JRuby. Pragmatic Bookshelf, 2011.
[42]
W. F. Opdyke and R. E. Johnson. Refactoring: An aid in designing application frameworks and evolving object-oriented systems. In Proc. SOOPPA, pages 145--160, 1990.
[43]
D. L. Parnas. Software aging. In Proc. ICSE '94, pages 279--287, Los Alamitos, CA, USA, 1994. IEEE CS.
[44]
S. Penchikala. Spring Roo 1.0 M1 Released, 5 2009.
[45]
M. Pezzè and M. Young. Software testing and analysis: process, principles and techniques. Wiley, 2007.
[46]
J. U. Pipka. Test-Driven Web Application Development in Java. In Revised Papers from NODe '02, pages 378--393, London, UK, 2003. Springer.
[47]
K. Rimple, S. Penchikala, and G. Dickens. Spring Roo in Action. Manning, 2011.
[48]
E. Robles Luna, J. Burella, J. Grigera, and G. Rossi. A flexible tool suite for change-aware test-driven development of web applications. In Proc. ICSE '10, pages 297--298, New York, NY, USA, 2010. ACM.
[49]
E. Robles Luna, J. Grigera, and G. Rossi. Bridging test and model-driven approaches in web engineering. In Proc. ICWE '09, pages 136--150. Springer, 2009.
[50]
E. Robles Luna, J. I. Panach, J. Grigera, G. Rossi, and O. Pastor. Incorporating usability requirements in a test/model-driven web engineering approach. J. Web Eng., 9: 132--156, June 2010.
[51]
A. Sarin. Spring Roo 1.1 Cookbook. Packt Pub., 2011.
[52]
A. Schauerhuber, M. Wimmer, and E. Kapsammer. Bridging existing Web modeling languages to model-driven engineering: a metamodel for WebML. In Proc. ICWE '06, New York, NY, USA, 2006. ACM.
[53]
D. C. Schmidt. Model-driven engineering. IEEE Computer, 39(2): 25--31, 2006.
[54]
T. Stahl, M. Voelter, and K. Czarnecki. Model-Driven Software Development. Wiley, 2006.
[55]
H. Weinreich, H. Obendorf, E. Herder, and M. Mayer. Not quite the average: An empirical study of Web use. ACM Trans. Web, 2: 5: 1--5: 31, 2008.
[56]
S. Wieczorek, A. Stefanescu, M. Fritzsche, and J. Schnitter. Enhancing test driven development with model based testing and performance analysis. In Proc. TAIC PART '08, pages 82--86, Washington, DC, USA, 2008. IEEE CS.
[57]
Y. Zhang. Test-driven modeling for model-driven development. IEEE Softw., 21: 80--86, September 2004.

Cited By

View all
  • (2021)The effect of Test-Driven Development and Behavior-Driven Development on Project Success Factors: A Systematic Literature Review Based Study2020 International Conference on Computer, Control, Electrical, and Electronics Engineering (ICCCEEE)10.1109/ICCCEEE49695.2021.9429593(1-9)Online publication date: 26-Feb-2021

Recommendations

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

Published In

cover image ACM Conferences
SAC '12: Proceedings of the 27th Annual ACM Symposium on Applied Computing
March 2012
2179 pages
ISBN:9781450308571
DOI:10.1145/2245276
  • Conference Chairs:
  • Sascha Ossowski,
  • Paola Lecca
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 26 March 2012

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. TDD
  2. spring
  3. spring roo
  4. test-driven development
  5. web application
  6. web development

Qualifiers

  • Research-article

Conference

SAC 2012
Sponsor:
SAC 2012: ACM Symposium on Applied Computing
March 26 - 30, 2012
Trento, Italy

Acceptance Rates

SAC '12 Paper Acceptance Rate 270 of 1,056 submissions, 26%;
Overall Acceptance Rate 1,650 of 6,669 submissions, 25%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)6
  • Downloads (Last 6 weeks)0
Reflects downloads up to 16 Nov 2024

Other Metrics

Citations

Cited By

View all
  • (2021)The effect of Test-Driven Development and Behavior-Driven Development on Project Success Factors: A Systematic Literature Review Based Study2020 International Conference on Computer, Control, Electrical, and Electronics Engineering (ICCCEEE)10.1109/ICCCEEE49695.2021.9429593(1-9)Online publication date: 26-Feb-2021

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media