Thursday, January 8, 2009

Continuous Integration or CCNP ONT Official Exam Certification Guide

Continuous Integration: Improving Software Quality and Reducing Risk (Addison-Wesley Signature Series)

Author: Paul M Duvall

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



Table of Contents:
Foreword   Martin Fowler     xiii
Foreword   Paul Julius     xv
Preface     xix
About the Authors     xxxi
About the Contributors     xxxiii
A Background on CI: Principles and Practices     1
Getting Started     3
Build Software at Every Change     4
Developer     6
Version Control Repository     7
CI Server     8
Build Script     10
Feedback Mechanism     10
Integration Build Machine     12
Features of CI     12
Source Code Compilation     12
Database Integration     14
Testing     15
Inspection     17
Deployment     18
Documentation and Feedback     20
Summary     20
Questions     20
Introducing Continuous Integration     23
A Day in the Life of CI     25
What Is the Value of CI?     29
Reduce Risks     29
Reduce Repetitive Processes     30
Generate Deployable Software     31
Enable Better Project Visibility     31
Establish GreaterProduct Confidence     32
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
Reducing Risks Using CI     47
Risk: Lack of Deployable Software     49
Scenario: "It Works on My Machine"     50
Scenario: Synching with the Database     50
Scenario: The Missing Click     52
Risk: Late Discovery of Defects     53
Scenario: Regression Testing     53
Scenario: Test Coverage     54
Risk: Lack of Project Visibility     55
Scenario: "Did You Get the Memo?"      56
Scenario: Inability to Visualize Software     56
Risk: Low-Quality Software     57
Scenario: Coding Standard Adherence     58
Scenario: Architectural Adherence     59
Scenario: Duplicate Code     60
Summary     62
Questions     62
Building Software at Every Change     65
Automate 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
Build Types     78
Build Mechanisms     80
Triggering Builds     81
Use a Dedicated Integration Build Machine     81
Use a CI Server     85
Run Manual Integration Builds     86
Run Fast Builds     87
Gather Build Metrics     88
Analyze Build Metrics     89
Choose and Implement Improvements     89
Stage Builds     92
Reevaluate     96
How Will This Work for You?      96
Summary     101
Questions     102
Creating a Full-Featured CI System     105
Continuous Database Integration     107
Automate Database Integration     110
Creating Your Database     112
Manipulating Your Database     115
Creating a Build Database Orchestration Script     116
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
Testing     125
Inspection     125
Deployment     126
Feedback and Documentation     126
Summary     126
Questions     128
Continuous Testing     129
Automate Unit Tests     132
Automate Component Tests     134
Automate System Tests     136
Automate Functional Tests     137
Categorize Developer Tests     138
Run Faster Tests First     141
Unit Tests     141
Component Tests     141
System Tests     143
Write Tests for Defects     143
Make Component Tests Repeatable     148
Limit Test Cases to One Assert     156
Summary     158
Questions     159
Continuous Inspection     161
What Is the Difference between Inspection and Testing?     164
How Often Should You Run Inspectors?     165
Code Metrics: A History     166
Reduce Code Complexity     167
Perform Design Reviews Continuously     170
Maintain Organizational Standards with Code Audits     173
Reduce Duplicate Code     176
Using PMD-CPD     177
Using Simian     178
Assess Code Coverage     180
Evaluate Code Quality Continuously     182
Coverage Frequency     183
Coverage and Performance     184
Summary     185
Questions     186
Continuous Deployment     189
Release Working Software Any Time, Any Place     191
Label a Repository's Assets     191
Produce a Clean Environment      194
Label Each Build     195
Run All Tests     196
Create Build Feedback Reports     196
Possess Capability to Roll Back Release     199
Summary     199
Questions     200
Continuous Feedback     203
All the Right Stuff     205
The Right Information     205
The Right People     207
The Right Time     208
The Right Way     209
Use Continuous Feedback Mechanisms     209
E-mail     210
SMS (Text Messages)     212
Ambient Orb and X10 Devices     214
Windows Taskbar     217
Sounds     218
Wide-Screen Monitors     220
Summary     222
Questions     222
Epilogue: The Future of CI     223
CI Resources     227
Continuous Integration Web Sites/Articles     227
CI Tools/Product Resources     229
Build Scripting Resources     232
Version Control Resources     233
Database Resources     234
Testing Resources     236
Automated Inspection Resources     239
Deployment Resources     241
Feedback Resources     241
Documentation Resources     243
Evaluating CI Tools     245
Considerations When Evaluating Tools     247
Functionality     248
Compatibility with Your Environment     253
Reliability     254
Longevity     254
Usability     255
Automated Build Tools     255
Build Scheduler Tools     263
Conclusion     272
Bibliography     273
Index     275

New interesting book: Direzione & amministrazione di professione d'infermiera

CCNP ONT Official Exam Certification Guide

Author: Amir Ranjbar

  • Master all 642-845 exam topics with the official study guide
  • Assess your knowledge with chapter-opening quizzes
  • Review key concepts with foundation summaries
  • Practice with hundreds of exam questions on the CD-ROM

 

Amir Ranjbar, CCIE® No. 8669

 

CCNP ONT Official Exam Certification Guide is a best of breed Cisco® exam study guide that focuses specifically on the objectives for the Optimizing Converged Cisco Networks exam (642-845 ONT). Successfully passing the ONT 642-845 exam certifies that you have the knowledge and skills necessary to optimize and apply effective QoS techniques for converged networks.

 

CCNP ONT Official Exam Certification Guide follows a logical organization of the CCNP® ONT exam objectives. Material is presented in a concise manner, focusing on increasing your retention and recall of exam topics. You can organize your exam preparation through the use of the consistent features in these chapters. “Do I Know This Already?” quizzes open each chapter and allow you to decide how much time you need to spend on each section. Exam topic lists and concise Foundation Summary information make referencing easy and give you a quick refresher whenever you need it. Challenging chapter-ending review questions help you assess your knowledge and reinforce key concepts.

 

The companion CD-ROM contains a powerful testing engine that allowsyou to focus on individual topic areas or take complete, timed exams. The assessment engine also tracks your performance and provides feedback on a topic-by-topic basis, presenting question-by-question remediation to the text. Well regarded for its level of detail, assessment features, and challenging review questions and exercises, this book helps you master the concepts and techniques that can enable you to succeed on the exam the first time.

 

Amir Ranjbar, CCIE® No. 8669, is a certified Cisco instructor and an internetworking consultant. He conducts Cisco official courses such as BCMSN, BSCI, ONT, CVOICE, BGP, and MPLS for Global Knowledge, the largest Cisco training partner. Amir has a bachelor’s degree in computing and information science and a master’s degree in knowledge-based systems from the University of Guelph in Ontario, Canada.

 

The official study guide helps you master all the topics on the CCNP ONT exam, including

  • Implementing a voice-over-IP (VoIP) network
  • Implementing QoS on converged networks
  • Specific IP QoS mechanisms for implementing the DiffServ QoS model
  • AutoQoS
  • Wireless security
  • Basic wireless management

 

Companion CD-ROM

The CD-ROM contains an electronic copy of the book and more than 200 practice questions for the ONT exam, which are all available in study mode, test mode, and flash card format.

 

This volume is part of the Exam Certification Guide Series from Cisco Press®. Books in this series provide officially developed exam preparation materials that offer assessment, review, and practice to help Cisco Career Certification candidates identify weaknesses, concentrate their study efforts, and enhance their confidence as exam day nears.

 

Category: Cisco Certification

Covers: ONT Exam 642-845

 



No comments:

Post a Comment