Dekorationsartikel gehören nicht zum Leistungsumfang.
Continuous Integration
Improving Software Quality and Reducing Risk
Taschenbuch von Stephen M. Matyas (u. a.)
Sprache: Englisch

41,35 €*

inkl. MwSt.

Versandkostenfrei per Post / DHL

auf Lager, Lieferzeit 1-2 Werktage

Kategorien:
Beschreibung
When more than one person works on a software project there is a need for a merging or integration of the parts of the project to develop the whole. With this merging, there are problems (one of the largest being bugs are introduced). The practice of Continuous Integration (CI) looks to reduce these problems by testing and running what is referred to as a "build" on a daily basis, to evaluate the software as a whole. Using plenty of examples in Java and .NET, this book focuses on the practices and then covers how to use them. As the reader works their way through the book they will learn: --Patterns and Techniques for creating an effective CI system --How implementing CI will make software projects more efficient and manageable --How a CI platform can facilitate the implementation of software engineering practices --Pitfalls in using a CI platform The book is split into three parts so whether the reader has never read about CI before, has used the basics, or has been doing CI for years, there is wisdom and practical techniques for everyone.
When more than one person works on a software project there is a need for a merging or integration of the parts of the project to develop the whole. With this merging, there are problems (one of the largest being bugs are introduced). The practice of Continuous Integration (CI) looks to reduce these problems by testing and running what is referred to as a "build" on a daily basis, to evaluate the software as a whole. Using plenty of examples in Java and .NET, this book focuses on the practices and then covers how to use them. As the reader works their way through the book they will learn: --Patterns and Techniques for creating an effective CI system --How implementing CI will make software projects more efficient and manageable --How a CI platform can facilitate the implementation of software engineering practices --Pitfalls in using a CI platform The book is split into three parts so whether the reader has never read about CI before, has used the basics, or has been doing CI for years, there is wisdom and practical techniques for everyone.
Über den Autor

Paul Duvall is the CEO of Stelligent, a firm that helps clients create production-ready software every day. A featured speaker at many leading software conferences, he has worked in virtually every role on software projects: developer, project manager, architect, and tester. He is the principal author of Continuous Integration: Improving Software Quality and Reducing Risk (Addison-Wesley, 2007), a 2008 Jolt Award Winner. Paul contributed to the UML 2 Toolkit (Wiley, 2003), writes a series for IBM developerWorks called Automation for the people, and contributed a chapter to No Fluff Just Stuff Anthology: The 2007 Edition (Pragmatic Programmers, 2007). He is passionate about automating software development and release processes and actively blogs on [...] and [...].

Stephen M. Matyas III is vice president of AutomateIT, a service branch of 5AM Solutions. He has a varied background in applied software engineering, with much of his professional, hands-on experience being in the areas of enterprise Java and custom software development and services.

Andrew Glover, president of Stelligent Incorporated, is a frequent speaker at conferences throughout North America, as well as author and coauthor of many books and online articles.

Inhaltsverzeichnis
Foreword by Martin Fowler xiii

Foreword by Paul Julius xv
Preface xix

About the Authors xxxi

About the Contributors xxxiiiPart I: A Background on CI: Principles and Practices 1Chapter 1: Getting Started 3Build Software at Every Change 4Features of CI 12Summary 20Questions 20Chapter 2: Introducing Continuous Integration 23A Day in the Life of CI 25What Is the Value of CI? 29What Prevents Teams from Using CI? 32How Do I Get to Continuous Integration? 33When and How Should a Project Implement CI? 35The Evolution of Integration 36How Does CI Complement Other Development Practices? 37How Long Does CI Take to Set Up? 38CI and You 39Commit Code Frequently 39Don't Commit Broken Code 41Fix Broken Builds Immediately 41Write Automated Developer Tests 41All Tests and Inspections Must Pass 42Run Private Builds 42Avoid Getting Broken Code 43Summary 44Questions 44Chapter 3: Reducing Risks Using CI 47Risk: Lack of Deployable Software 49Risk: Late Discovery of Defects 53Risk: Lack of Project Visibility 55Risk: Low-Quality Software 57Summary 62Questions 62Chapter 4: Building Software at Every Change 65Automate Builds 67Perform Single Command Builds 69Separate Build Scripts from Your IDE 73Centralize Software Assets 74Create a Consistent Directory Structure 75Fail Builds Fast 76Build for Any Environment 77Build Types and Mechanisms 78Use a Dedicated Integration Build Machine 81Use a CI Server 85Run Manual Integration Builds 86Run Fast Builds 87Stage Builds 92How Will This Work for You? 96Summary 101Questions 102Part II: Creating a Full-Featured CI System 105Chapter 5: Continuous Database Integration 107Automate Database Integration 110Use a Local Database Sandbox 117Use a Version Control Repository to Share Database Assets 119Continuous Database Integration 121Give Developers the Capability to Modify the Database 123The Team Focuses Together on Fixing Broken Builds 124Make the DBA Part of the Development Team 124Database Integration and the Integrate Button 125Summary 126Questions 128Chapter 6: Continuous Testing 129Automate Unit Tests 132Automate Component Tests 134Automate System Tests 136Automate Functional Tests 137Categorize Developer Tests 138Run Faster Tests First 141Write Tests for Defects 143Make Component Tests Repeatable 148Limit Test Cases to One Assert 156Summary 158Questions 159Chapter 7: Continuous Inspection 161What Is the Difference between Inspection and Testing? 164How Often Should You Run Inspectors? 165Code Metrics: A History 166Reduce Code Complexity 167Perform Design Reviews Continuously 170Maintain Organizational Standards with Code Audits 173Reduce Duplicate Code 176Assess Code Coverage 180Evaluate Code Quality Continuously 182Summary 185Questions 186Chapter 8: Continuous Deployment 189Release Working Software Any Time, Any Place 191Label a Repository's Assets 191Produce a Clean Environment 194Label Each Build 195Run All Tests 196Create Build Feedback Reports 196Possess Capability to Roll Back Release 199Summary 199Questions 200Chapter 9: Continuous Feedback 203All the Right Stuff 205Use Continuous Feedback Mechanisms 209Summary 222Questions 222Epilogue: The Future of CI 223Appendix A: CI Resources 227Continuous Integration Web Sites/Articles 227CI Tools/Product Resources 229Build Scripting Resources 232Version Control Resources 233Database Resources 234Testing Resources 236Automated Inspection Resources 239Deployment Resources 241Feedback Resources 241Documentation Resources 243Appendix B: Evaluating CI Tools 245Considerations When Evaluating Tools 247Automated Build Tools 255Build Scheduler Tools 263Conclusion 272

Bibliography 273

Index 275
Details
Erscheinungsjahr: 2007
Genre: Informatik
Rubrik: Naturwissenschaften & Technik
Medium: Taschenbuch
Seiten: 336
ISBN-13: 9780321336385
ISBN-10: 0321336380
Sprache: Englisch
Einband: Kartoniert / Broschiert
Autor: Matyas, Stephen M.
Schneider, Nicholas
Voit, Mark
Duvall, Paul
Hersteller: Pearson Education
Pearson Education Limited
Pearson Professional
Abbildungen: Illustrations
Maße: 177 x 233 x 18 mm
Von/Mit: Stephen M. Matyas (u. a.)
Erscheinungsdatum: 29.06.2007
Gewicht: 0,59 kg
preigu-id: 102136174
Über den Autor

Paul Duvall is the CEO of Stelligent, a firm that helps clients create production-ready software every day. A featured speaker at many leading software conferences, he has worked in virtually every role on software projects: developer, project manager, architect, and tester. He is the principal author of Continuous Integration: Improving Software Quality and Reducing Risk (Addison-Wesley, 2007), a 2008 Jolt Award Winner. Paul contributed to the UML 2 Toolkit (Wiley, 2003), writes a series for IBM developerWorks called Automation for the people, and contributed a chapter to No Fluff Just Stuff Anthology: The 2007 Edition (Pragmatic Programmers, 2007). He is passionate about automating software development and release processes and actively blogs on [...] and [...].

Stephen M. Matyas III is vice president of AutomateIT, a service branch of 5AM Solutions. He has a varied background in applied software engineering, with much of his professional, hands-on experience being in the areas of enterprise Java and custom software development and services.

Andrew Glover, president of Stelligent Incorporated, is a frequent speaker at conferences throughout North America, as well as author and coauthor of many books and online articles.

Inhaltsverzeichnis
Foreword by Martin Fowler xiii

Foreword by Paul Julius xv
Preface xix

About the Authors xxxi

About the Contributors xxxiiiPart I: A Background on CI: Principles and Practices 1Chapter 1: Getting Started 3Build Software at Every Change 4Features of CI 12Summary 20Questions 20Chapter 2: Introducing Continuous Integration 23A Day in the Life of CI 25What Is the Value of CI? 29What Prevents Teams from Using CI? 32How Do I Get to Continuous Integration? 33When and How Should a Project Implement CI? 35The Evolution of Integration 36How Does CI Complement Other Development Practices? 37How Long Does CI Take to Set Up? 38CI and You 39Commit Code Frequently 39Don't Commit Broken Code 41Fix Broken Builds Immediately 41Write Automated Developer Tests 41All Tests and Inspections Must Pass 42Run Private Builds 42Avoid Getting Broken Code 43Summary 44Questions 44Chapter 3: Reducing Risks Using CI 47Risk: Lack of Deployable Software 49Risk: Late Discovery of Defects 53Risk: Lack of Project Visibility 55Risk: Low-Quality Software 57Summary 62Questions 62Chapter 4: Building Software at Every Change 65Automate Builds 67Perform Single Command Builds 69Separate Build Scripts from Your IDE 73Centralize Software Assets 74Create a Consistent Directory Structure 75Fail Builds Fast 76Build for Any Environment 77Build Types and Mechanisms 78Use a Dedicated Integration Build Machine 81Use a CI Server 85Run Manual Integration Builds 86Run Fast Builds 87Stage Builds 92How Will This Work for You? 96Summary 101Questions 102Part II: Creating a Full-Featured CI System 105Chapter 5: Continuous Database Integration 107Automate Database Integration 110Use a Local Database Sandbox 117Use a Version Control Repository to Share Database Assets 119Continuous Database Integration 121Give Developers the Capability to Modify the Database 123The Team Focuses Together on Fixing Broken Builds 124Make the DBA Part of the Development Team 124Database Integration and the Integrate Button 125Summary 126Questions 128Chapter 6: Continuous Testing 129Automate Unit Tests 132Automate Component Tests 134Automate System Tests 136Automate Functional Tests 137Categorize Developer Tests 138Run Faster Tests First 141Write Tests for Defects 143Make Component Tests Repeatable 148Limit Test Cases to One Assert 156Summary 158Questions 159Chapter 7: Continuous Inspection 161What Is the Difference between Inspection and Testing? 164How Often Should You Run Inspectors? 165Code Metrics: A History 166Reduce Code Complexity 167Perform Design Reviews Continuously 170Maintain Organizational Standards with Code Audits 173Reduce Duplicate Code 176Assess Code Coverage 180Evaluate Code Quality Continuously 182Summary 185Questions 186Chapter 8: Continuous Deployment 189Release Working Software Any Time, Any Place 191Label a Repository's Assets 191Produce a Clean Environment 194Label Each Build 195Run All Tests 196Create Build Feedback Reports 196Possess Capability to Roll Back Release 199Summary 199Questions 200Chapter 9: Continuous Feedback 203All the Right Stuff 205Use Continuous Feedback Mechanisms 209Summary 222Questions 222Epilogue: The Future of CI 223Appendix A: CI Resources 227Continuous Integration Web Sites/Articles 227CI Tools/Product Resources 229Build Scripting Resources 232Version Control Resources 233Database Resources 234Testing Resources 236Automated Inspection Resources 239Deployment Resources 241Feedback Resources 241Documentation Resources 243Appendix B: Evaluating CI Tools 245Considerations When Evaluating Tools 247Automated Build Tools 255Build Scheduler Tools 263Conclusion 272

Bibliography 273

Index 275
Details
Erscheinungsjahr: 2007
Genre: Informatik
Rubrik: Naturwissenschaften & Technik
Medium: Taschenbuch
Seiten: 336
ISBN-13: 9780321336385
ISBN-10: 0321336380
Sprache: Englisch
Einband: Kartoniert / Broschiert
Autor: Matyas, Stephen M.
Schneider, Nicholas
Voit, Mark
Duvall, Paul
Hersteller: Pearson Education
Pearson Education Limited
Pearson Professional
Abbildungen: Illustrations
Maße: 177 x 233 x 18 mm
Von/Mit: Stephen M. Matyas (u. a.)
Erscheinungsdatum: 29.06.2007
Gewicht: 0,59 kg
preigu-id: 102136174
Warnhinweis

Ähnliche Produkte

Ähnliche Produkte