, ,

Continuous Integration: Improving Software Quality and Reducing Risk

Paperback Engels 2007 1e druk 9780321336385
Dit product is niet leverbaar

Samenvatting

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 book's companion Web site, www.integratebutton.com, provides updates and code examples.

Specificaties

ISBN13:9780321336385
Taal:Engels
Bindwijze:paperback
Aantal pagina's:336
Druk:1
Verschijningsdatum:14-9-2015
Hoofdrubriek:IT-management / ICT

Lezersrecensies

Wees de eerste die een lezersrecensie schrijft!

Inhoudsopgave

Foreword by Martin Fowler
Foreword by Paul Julius
Preface
About the Authors
About the Contributors

Part 1: A Background on CI: Principles and Practices
1. Getting Started
-Build Software at Every Change
-Features of CI
-Summary
-Questions

2. Introducing Continuous Integration
-A Day in the Life of CI
-What Is the Value of CI?
-What Prevents Teams from Using CI?
-How Do I Get to Continuous Integration?
-When and How Should a Project Implement CI?
-The Evolution of Integration
-How Does CI Complement Other Development Practices?
-How Long Does CI Take to Set Up?
-CI and You
-Commit Code Frequently
-Don't Commit Broken Code
-Fix Broken Builds Immediately
-Write Automated Developer Tests
-All Tests and Inspections Must Pass
-Run Private Builds
-Avoid Getting Broken Code
-Summary
-Questions

3. Reducing Risks Using CI
-Risk: Lack of Deployable Software
-Risk: Late Discovery of Defects
-Risk: Lack of Project Visibility
-Risk: Low-Quality Software
-Summary
-Questions

4. Building Software at Every Change
-Automate Builds
-Perform Single Command Builds
-Separate Build Scripts from Your IDE
-Centralize Software Assets
-Create a Consistent Directory Structure
-Fail Builds Fast
-Build for Any Environment
-Build Types and Mechanisms
-Use a Dedicated Integration Build Machine
-Use a CI Server
-Run Manual Integration Builds
-Run Fast Builds
-Stage Builds
-How Will This Work for You?
-Summary
-Questions

Part 2: Creating a Full-Featured CI System
5. Continuous Database Integration
-Automate Database Integration
-Use a Local Database Sandbox
-Use a Version Control Repository to Share Database Assets
-Continuous Database Integration
-Give Developers the Capability to Modify the Database
-The Team Focuses Together on Fixing Broken Builds
-Make the DBA Part of the Development Team
-Database Integration and the Integrate Button
-Summary
-Questions

6. Continuous Testing
-Automate Unit Tests
-Automate Component Tests
-Automate System Tests
-Automate Functional Tests
-Categorize Developer Tests
-Run Faster Tests First
-Write Tests for Defects
-Make Component Tests Repeatable
-Limit Test Cases to One Assert
-Summary
-Questions

7. Continuous Inspection
-What Is the Difference between Inspection and Testing?
-How Often Should You Run Inspectors?
-Code Metrics: A History
-Reduce Code Complexity
-Perform Design Reviews Continuously
-Maintain Organizational Standards with Code Audits
-Reduce Duplicate Code
-Assess Code Coverage
-Evaluate Code Quality Continuously
-Summary
-Questions

8. Continuous Deployment
-Release Working Software Any Time, Any Place
-Label a Repository's Assets
-Produce a Clean Environment
-Label Each Build
-Run All Tests
-Create Build Feedback Reports
-Possess Capability to Roll Back Release
-Summary
-Questions

9. Continuous Feedback
-All the Right Stuff
-Use Continuous Feedback Mechanisms
-Summary
-Questions
-Epilogue: The Future of CI

Appendix A: CI Resources
-Continuous Integration Web Sites/Articles
-CI Tools/Product Resources
-Build Scripting Resources
-Version Control Resources
-Database Resources
-Testing Resources
-Automated Inspection Resources
-Deployment Resources
-Feedback Resources
-Documentation Resources

Appendix B: Evaluating CI Tools
-Considerations When Evaluating Tools
-Automated Build Tools
-Build Scheduler Tools
-Conclusion

Bibliography
Index

Managementboek Top 100

Rubrieken

Populaire producten

    Personen

      Trefwoorden

        Continuous Integration: Improving Software Quality and Reducing Risk