Continuous Integration: Improving Software Quality & Reducing Risk
(häftad)Improving Software Quality and Reducing Risk
av Paul Duvall, Steve Matyas, Andrew Glover
- Format:
- Häftad (paperback)
- Utgiven:
- 2007-07-01
- Språk:
- Engelska
For any software developer who has spent days in integration hell, cobbling together myriad software components, Continuous Integration: Improving Software Quality and Reducing Risk illustrates how to transform integration from a necessary evil into an everyday part of the development process. The key, as the authors show, is to integrate regularly and often using continuous integration (CI) practices and techniques.
The authors first examine the concept of CI and its practices from the ground up and then move on to explore other effective processes performed by CI systems, such as database integration, testing, inspection, deployment, and feedback. Through more than forty CI-related practices using application examples in different languages, readers learn that CI leads to more rapid software development, produces deployable software at every step in the development lifecycle, and reduces the time between defect introduction and detection, saving time and lowering costs. With successful implementation of CI, developers reduce risks and repetitive manual processes, and teams receive better project visibility.
The book covers
- How to make integration a non-event on your software development projects
- How to reduce the amount of repetitive processes you perform when building your software
- Practices and techniques for using CI effectively with your teams
- Reducing the risks of late defect discovery, low-quality software, lack of visibility, and lack of deployable software
- Assessments of different CI servers and related tools on the market
The books companion Web site, www.integratebutton.com , provides updates and code examples.
(Computer Bookshops Limited)
Passar bra ihop
|
De som köpt den här boken har ofta också köpt Continuous Delivery: A Handbook for Building, Deploying, Testing and Rel... (inbunden) av Jez Humble, David Farley | |||
|
Pris för båda:
572:-Köp
|
Fler böcker av författarna
Groovy in ActionDierk Koenig, Andrew Glover, Paul King, Guillaume Laforge, Jon Skeet (häftad) |
Groovy im EinsatzDierk König, Andrew Glover, Paul King, Guillaume Laforge, Jon Skeet (inbunden) |
Java Testing PatternsJ Thomas, Matthew Young, Kyle Brown, Andrew Glover (häftad) | ||
|
282:- Köp
|
454:- Köp
|
290:- Köp
|
Kundrecensioner
Bloggat om Continuous Integration: Improving Software Quality &...
Övrig information
PAUL DUVALL has spent years implementing CI systems and has spoken on Continuous Integration at the Better Software Expo and will continue to speak at other conferences on this topic. STEPHEN M. MATYAS III is a senior software engineer at Number Six Software. He is a Sun Certified Java Programmer and Web Component Developer, and an IBM Rational Certified Consultant. ANDREW GLOVER is the President of Stelligent Incorporated and an author for multiple online publications including IBM's developerWorks and Oreilly's ONJava and ONLamp portals.
(Computer Bookshops Limited)
Innehållsförteckning
Foreword by Martin Fowler xiiiForeword by Paul Julius xv
Preface xixAbout the Authors xxxiAbout the Contributors xxxiiiPart I: A Background on CI: Principles and Practices 1Chapter 1: Getting Started 3Build Software at Every Change 4
Features of CI 12
Summary 20
Questions 20
Chapter 2: Introducing Continuous Integration 23A Day in the Life of CI 25
What Is the Value of CI? 29
What Prevents Teams from Using CI? 32
How Do I Get to Continuous Integration? 33
When and How Should a Project Implement CI? 35
The Evolution of Integration 36
How Does CI Complement Other Development Practices? 37
How Long Does CI Take to Set Up? 38
CI and You 39
Commit Code Frequently 39
Don't Commit Broken Code 41
Fix Broken Builds Immediately 41
Write Automated Developer Tests 41
All Tests and Inspections Must Pass 42
Run Private Builds 42
Avoid Getting Broken Code 43
Summary 44
Questions 44
Chapter 3: Reducing Risks Using CI 47Risk: Lack of Deployable Software 49
Risk: Late Discovery of Defects 53
Risk: Lack of Project Visibility 55
Risk: Low-Quality Software 57
Summary 62
Questions 62
Chapter 4: Building Software at Every Change 65Automate Builds 67
Perform Single Command Builds 69
Separate Build Scripts from Your IDE 73
Centralize Software Assets 74
Create a Consistent Directory Structure 75
Fail Builds Fast 76
Build for Any Environment 77
Build Types and Mechanisms 78
Use a Dedicated Integration Build Machine 81
Use a CI Server 85
Run Manual Integration Builds 86
Run Fast Builds 87
Stage Builds 92
How Will This Work for You? 96
Summary 101
Questions 102
Part II: Creating a Full-Featured CI System 105Chapter 5: Continuous Database Integration 107Automate Database Integration 110
Use a Local Database Sandbox 117
Use a Version Control Repository to Share Database Assets 119
Continuous Database Integration 121
Give Developers the Capability to Modify the Database 123
The Team Focuses Together on Fixing Broken Builds 124
Make the DBA Part of the Development Team 124
Database Integration and the Integrate Button 125
Summary 126
Questions 128
Chapter 6: Continuous Testing 129Automate Unit Tests 132
Automate Component Tests 134
Automate System Tests 136
Automate Functional Tests 137
Categorize Developer Tests 138
Run Faster Tests First 141
Write Tests for Defects 143
Make Component Tests Repeatable 148
Limit Test Cases to One Assert 156
Summary 158
Questions 159
Chapter 7: Continuous Inspection 161What Is the Difference between Inspection and Testing? 164
How Often Should You Run Inspectors? 165
Code Metrics: A History 166
...
(Computer Bookshops Limited)