• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
Improve Development Process with Open Source Software
 

Improve Development Process with Open Source Software

on

  • 1,335 views

 

Statistics

Views

Total Views
1,335
Views on SlideShare
1,325
Embed Views
10

Actions

Likes
0
Downloads
37
Comments
0

2 Embeds 10

http://www.scoop.it 8
http://www.slideshare.net 2

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Improve Development Process with Open Source Software Improve Development Process with Open Source Software Presentation Transcript

  • Improve Development Process with Open Source Software Wen Tao senior consultant wtao @thoughtworks.com Xi’an Software Park, Xi’an High-tech Development Zone, Xi’an Shaanxi, P. R. China, 710075 cell +86. 13 8 . 1030 . 2515 office +86.29.8760.7341 陈金洲 senior consultant jchen @thoughtworks.com Xi’an Software Park, Xi’an High-tech Development Zone, Xi’an Shaanxi, P. R. China, 710075 cell +86. 139.9197.1753 office +86.29.8760.7341
  • Agenda
    • Introduction
    • Selenium
    • Demo
    • CruiseControl
    • Showcase
    • Conclusion
  • Share experience
    • How do we test the web project?
    • What’s our daily development like?
    • Happy or painful?
    • Why?
    • Share your experience!
    • Question #1:
    • Functional Test For Web app
    • Traditional approach
    Development Acceptance Testing Regression Testing Release
    • Developers have moved on
    • Too close to release
    Feature developed Bug found! Regression found!
    • Faster feedback
    Development Acceptance Testing Regression Testing Release Write test as you go Run them as often as you can Problems are found quickly
  • Why Automated?
    • Manual testing is slow, tedious and error-prone
      • Especially for regression
    Either take long time or less thorough What now? Start again? Regression Testing 3 months
  • Consistently Thorough Fast enough to start again and again and again… Regression Testing 10 minutes
  • Selenium http://www.openqa.org/selenium/
  • Selenium
    • Open source test tool for web applications.
    • Run in browser
    • Test browser compatibility & system functionality.
    • Easy to use.
      • Test cases are written in pure HTML
      • Clean and impressive UI
  • Demo
    • Demo
      • Start hsqldb
      • Start tomcat
      • Firefox
        • http://localhost:8080/jpetstore
        • http://localhost:8080/jpetstore/selenium
    • Question #2:
    • Continuous Integration
  • What is Continuous Integration
    • Integrates source code and runs tests after each commit of code to the source repository.
    • Near-immediate feedback to the developer
  • Benefits of C.I.
    • M inimizes integration risk.
    • S upports easier defect diagnosis.
    • Encourages good testing habit
    • Support r elease m anagement
    • Enforce s c ompany d evelopment p olicy
  • CruiseControl http://cruisecontrol.sourceforge.net/
  • About CruiseControl
    • Think of it as “ timer for Ant”.
    • Simple design. Full featured, but not bloated.
    • Adapts to your project, not the other way around.
    • Can be completely customized.
  • Build loop of C.C. VCS Build Artifacts Dir Mail/Sound/Light… 1. Bootstrap 2. Check for modifications 3. Get the revision log Cruise Control Your project’s Build file Ant, Maven, Make 2. Run Build 5. Publish Artifacts 6. Send to publisher 1. Get the latest source 3. Tag source (optional) Project Specific Adapter - Ant Script 4. Run Build
    • Showcase
  • Conclusion
    • DRY, use automation test/continuous tools help you improve your development process, and maximize customer value.
    • Selenium helps you test webapp more easily.
    • Keep CruiseControl running. it gives you feedback as soon as possible.
  • Resources
    • Mike Clark, author of Pragmatic Project Automation
    • http://media.pragprog.com/movies/auto/CruiseControl_MikeClark.html
    • Selenium IDE:
    • http://www.openqa.org/selenium-ide/
    • Selenium Remote Control
    • http://www.openqa.org/selenium-rc/
  • Q/A Thanks!
  • Manifesto for Agile Software Development
    • Individuals and interactions over processes and tools
    • Working software over comprehensive documentation
    • Customer collaboration over contract negotiation
    • Responding to change over following a plan