Continuous Integration vs. Nightly Build

Loading...

Flash Player 9 (or above) is needed to view presentations.
We have detected that you do not have it on your computer. To install it, go here.

0 comments

Post a comment

    Post a comment
    Embed Video
    Edit your comment Cancel

    1 Favorite

    Continuous Integration vs. Nightly Build - Presentation Transcript

    1. Continuous Integration vs. Nightly Build Charlie Berg [email_address]
    2. What Is Continuous Integration (CI)?
      • Martin Fowler - “...team integrates work frequently, usually each person integrates at least daily - leading to multiple integrations per day.”
        • Verified by an automated build & test
        • Results in significantly reduced integration problems; allows team to develop cohesive software more rapidly.”
      • Key pillar of Agile Practices
    3. Nightly Build (NB)‏
      • Steve McConnell -
        • "daily build and smoke test" process.
        • Every file is compiled, linked, and combined
        • Program is then put through a "smoke test," - set of automated unit tests
      • Benefits
        • minimizes integration risk
        • reduces the risk of low quality
        • supports easier defect diagnosis
    4. What's the Diff?
      • NB is periodic, run overnight when more time
        • Less frequent, more resource-intensive
      • CI is on demand, several times a day
        • Theoretically for each check-in
      • Is one better than the other?
    5. Some Discussion on Diffs
      • Consensus is the difference is scale, i.e. How long it takes to run unit tests & the resource cost
        • http://tinyurl.com/n6kzhh
        • http://tinyurl.com/n9aubz
      • The issue is about when is best to integrate...
        • Is ASAP integration the best?
    6. Is ASAP Integration Best?
      • Ultimately, ASAP Integration should happen on every checkin
      • But...
        • Eliminates use of code repository as backup of code-in-progress sandbox
        • Requires that I integrate now , in the middle of development of my development task – disruption of flow
      • The discussion is really about when to do QA
    7. QA
      • To answer question of when , let's define what is QA
      • QA = Verification & Validation
      • Verification: testing that product implements what's in the spec
        • Easily automated – unit tests
        • Good candidate for either CI or NB
    8. QA
      • Validation: testing that the product fulfill's customer's needs, regardless of what is in the spec.
        • About use model
        • Difficult to automate – how does a machine judge whether customer's needs are fulfilled regardless of any spec?
    9. The Real Issue...
      • When should team:
        • Perform verification?
        • Perform validation?
        • Reduce integration costs?
    10. Timing of Integration & Test Verification & Validation Verification Reduce Integration Risk Continuous Integration Nightly Build Release Build
    11. Timing of Integration & Test
      • CI
        • Run “smoke” tests or as much verification as possible on every checkin
          • Resource limited
      • NB
        • Run all verification nightly
      • Release Build
        • Run as often as QA can run validation testing
        • Iterative
      Continuous Integration Nightly Build Release Build
    12. Summary
      • 3 Testing Requirements
        • Verification
        • Validation
        • Reduce risk of integration
      • Difference between CI & NB is available resources to run verification testing
      • Release Testing required for validation
    13. Thanks for watching!!

    + Charlie BergCharlie Berg, 4 months ago

    custom

    324 views, 1 favs, 0 embeds more stats

    My thoughts on Agile's Continuous Integration

    More info about this document

    © All Rights Reserved

    Go to text version

    • Total Views 324
      • 324 on SlideShare
      • 0 from embeds
    • Comments 0
    • Favorites 1
    • Downloads 0
    Most viewed embeds

    more

    All embeds

    less

    Flagged as inappropriate Flag as inappropriate
    Flag as inappropriate

    Select your reason for flagging this presentation as inappropriate. If needed, use the feedback form to let us know more details.

    Cancel
    File a copyright complaint
    Having problems? Go to our helpdesk?

    Categories