Test-Driven Web Application Development
Total Page:16
File Type:pdf, Size:1020Kb
Regis University ePublications at Regis University All Regis University Theses Fall 2010 Test-Driven Web Application Development: Increasing the Quality of Web Development By Providing Framework with an Emphasis On Test- Driven Design and Development Methodologies Jason Hall Regis University Follow this and additional works at: https://epublications.regis.edu/theses Part of the Computer Sciences Commons Recommended Citation Hall, Jason, "Test-Driven Web Application Development: Increasing the Quality of Web Development By Providing Framework with an Emphasis On Test-Driven Design and Development Methodologies" (2010). All Regis University Theses. 358. https://epublications.regis.edu/theses/358 This Thesis - Open Access is brought to you for free and open access by ePublications at Regis University. It has been accepted for inclusion in All Regis University Theses by an authorized administrator of ePublications at Regis University. For more information, please contact [email protected]. Regis University College for Professional Studies Graduate Programs Final Project/Thesis Disclaimer Use of the materials available in the Regis University Thesis Collection (“Collection”) is limited and restricted to those users who agree to comply with the following terms of use. Regis University reserves the right to deny access to the Collection to any person who violates these terms of use or who seeks to or does alter, avoid or supersede the functional conditions, restrictions and limitations of the Collection. The site may be used only for lawful purposes. The user is solely responsible for knowing and adhering to any and all applicable laws, rules, and regulations relating or pertaining to use of the Collection. All content in this Collection is owned by and subject to the exclusive control of Regis University and the authors of the materials. It is available only for research purposes and may not be used in violation of copyright laws or for unlawful purposes. The materials may not be downloaded in whole or in part without permission of the copyright holder or as otherwise authorized in the “fair use” standards of the U.S. copyright laws and regulations. TEST-DRIVEN WEB APPLICATION DEVELOPMENT: INCREASING THE QUALITY OF WEB DEVELOPMENT BY PROVIDING A FRAMEWORK WITH AN EMPHASIS ON TEST-DRIVEN DESIGN AND DEVELOPMENT METHODOLOGIES A THESIS SUBMITTED ON 10 OF DECEMBER, 2010 TO THE DEPARTMENT OF INFORMATION TECHNOLOGY OF THE SCHOOL OF COMPUTER & INFORMATION SCIENCES OF REGIS UNIVERSITY IN PARTIAL FULFILLMENT OF THE REQUIREMENTS OF MASTER OF SCIENCE IN SOFTWARE ENGINEEING AND DATABASE TECHNOLOGIES BY Charles N. Thies, Thesis Advisor Denise Duncan, Asst. Professor Nancy Birkenheuer, Asst. Professor TEST-DRIVEN WEB APPLICATION DEVELOPMENT | ii Abstract Web applications – especially those based on interpreted programming languages – are quickly becoming more utilized and more commonplace than traditional client applications. Despite this growth, no open solution has yet fulfilled the need of a risk-reducing development framework that supports test-driven methodologies and tools designed to coordinate the resources responsible for the most effective development of web applications based on interpreted programming languages. This research paper presents a test-driven development framework consisting of openly available components that can be used by development teams writing web applications based on interpreted programming languages based on the methodologies and tools used by traditional software development teams using compiled programming languages. TEST-DRIVEN WEB APPLICATION DEVELOPMENT | iii Acknowledgements I am indebted to my many fellow members of the Ignite 360 development team and support staff for their time, hard work, and support, all of which was instrumental for me to complete this significant milestone in my life. I would like to particularly thank Charles Thies for providing me with the direction and motivation I needed throughout this capstone project. Lastly, and without a doubt most importantly, words cannot express the thanks I have for my family – especially my wife Terri – for being so understanding and for unconditionally giving me their love and support. TEST-DRIVEN WEB APPLICATION DEVELOPMENT | iv Table of Contents Abstract .......................................................................................................................................... ii Acknowledgements ...................................................................................................................... iii Table of Contents ......................................................................................................................... iv List of Figures .................................................................................................................................v Chapter 1 - Introduction ...............................................................................................................1 Statement of Problem ...........................................................................................................1 Statement of Goals and Objectives ......................................................................................1 Chapter 2 – Review of Literature and Research.........................................................................3 Background and Significance ..............................................................................................3 Orthogonality .......................................................................................................................7 Design Patterns ..................................................................................................................19 Continuous Integration ......................................................................................................24 Unit Testing ........................................................................................................................30 Chapter 3 – Research Methodology ...........................................................................................36 Background ........................................................................................................................36 Overview ............................................................................................................................37 Case Study Research Framework Components .................................................................39 Design and Prepare ...........................................................................................................40 Collecting Data ..................................................................................................................43 Analyzing Data...................................................................................................................47 Reporting Results ...............................................................................................................48 Chapter 4 – Data Analysis and Results ......................................................................................50 TEST-DRIVEN WEB APPLICATION DEVELOPMENT | v Overview ............................................................................................................................50 Research Question 1 ..........................................................................................................51 Research Question 2 ..........................................................................................................62 Research Question 3 ..........................................................................................................69 Chapter 5 – Recommendations and Conclusions ......................................................................76 Chapter 6 – Areas for Further Research ...................................................................................80 References .....................................................................................................................................81 Appendix A ...................................................................................................................................84 Participant Survey .............................................................................................................84 Appendix B ...................................................................................................................................87 Regis University IRB Approval Letter ...............................................................................87 TEST-DRIVEN WEB APPLICATION DEVELOPMENT | vi List of Figures Figure 1: Hudson screen showing project status and recent build history .....................................56 Figure 2: Hudson screen showing project build details .................................................................57 Figure 3: Hudson screen showing project configuration and build setup ......................................58 Figure 4: SSH screenshot of a manual execution of Phing to call PHPUnit .................................59 Figure 5: Ticket process workflow diagram before test-driven development framework .............70 Figure 6: Ticket process workflow diagram after test-driven development framework ...............72 TEST-DRIVEN WEB APPLICATION DEVELOPMENT | 1 Chapter 1 - Introduction Statement of Problem: The constantly growing demand for better software developed faster (and cheaper) has spurred