Improve Development Process with Open Source Software

1,500 views
1,424 views

Published on

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
1,500
On SlideShare
0
From Embeds
0
Number of Embeds
21
Actions
Shares
0
Downloads
41
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide
  • Improve Development Process with Open Source Software

    1. 1. 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
    2. 2. Agenda <ul><li>Introduction </li></ul><ul><li>Selenium </li></ul><ul><li>Demo </li></ul><ul><li>CruiseControl </li></ul><ul><li>Showcase </li></ul><ul><li>Conclusion </li></ul>
    3. 3. Share experience <ul><li>How do we test the web project? </li></ul><ul><li>What’s our daily development like? </li></ul><ul><li>Happy or painful? </li></ul><ul><li>Why? </li></ul><ul><li>Share your experience! </li></ul>
    4. 4. <ul><li>Question #1: </li></ul><ul><li>Functional Test For Web app </li></ul>
    5. 5. <ul><li>Traditional approach </li></ul>Development Acceptance Testing Regression Testing Release <ul><li>Developers have moved on </li></ul><ul><li>Too close to release </li></ul>Feature developed Bug found! Regression found!
    6. 6. <ul><li>Faster feedback </li></ul>Development Acceptance Testing Regression Testing Release Write test as you go Run them as often as you can Problems are found quickly
    7. 7. Why Automated? <ul><li>Manual testing is slow, tedious and error-prone </li></ul><ul><ul><li>Especially for regression </li></ul></ul>Either take long time or less thorough What now? Start again? Regression Testing 3 months
    8. 8. Consistently Thorough Fast enough to start again and again and again… Regression Testing 10 minutes
    9. 9. Selenium http://www.openqa.org/selenium/
    10. 10. Selenium <ul><li>Open source test tool for web applications. </li></ul><ul><li>Run in browser </li></ul><ul><li>Test browser compatibility & system functionality. </li></ul><ul><li>Easy to use. </li></ul><ul><ul><li>Test cases are written in pure HTML </li></ul></ul><ul><ul><li>Clean and impressive UI </li></ul></ul>
    11. 11. Demo <ul><li>Demo </li></ul><ul><ul><li>Start hsqldb </li></ul></ul><ul><ul><li>Start tomcat </li></ul></ul><ul><ul><li>Firefox </li></ul></ul><ul><ul><ul><li>http://localhost:8080/jpetstore </li></ul></ul></ul><ul><ul><ul><li>http://localhost:8080/jpetstore/selenium </li></ul></ul></ul>
    12. 12. <ul><li>Question #2: </li></ul><ul><li>Continuous Integration </li></ul>
    13. 13. What is Continuous Integration <ul><li>Integrates source code and runs tests after each commit of code to the source repository. </li></ul><ul><li>Near-immediate feedback to the developer </li></ul>
    14. 14. Benefits of C.I. <ul><li>M inimizes integration risk. </li></ul><ul><li>S upports easier defect diagnosis. </li></ul><ul><li>Encourages good testing habit </li></ul><ul><li>Support r elease m anagement </li></ul><ul><li>Enforce s c ompany d evelopment p olicy </li></ul>
    15. 15. CruiseControl http://cruisecontrol.sourceforge.net/
    16. 16. About CruiseControl <ul><li>Think of it as “ timer for Ant”. </li></ul><ul><li>Simple design. Full featured, but not bloated. </li></ul><ul><li>Adapts to your project, not the other way around. </li></ul><ul><li>Can be completely customized. </li></ul>
    17. 17. 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
    18. 18. <ul><li>Showcase </li></ul>
    19. 19. Conclusion <ul><li>DRY, use automation test/continuous tools help you improve your development process, and maximize customer value. </li></ul><ul><li>Selenium helps you test webapp more easily. </li></ul><ul><li>Keep CruiseControl running. it gives you feedback as soon as possible. </li></ul>
    20. 20. Resources <ul><li>Mike Clark, author of Pragmatic Project Automation </li></ul><ul><li>http://media.pragprog.com/movies/auto/CruiseControl_MikeClark.html </li></ul><ul><li>Selenium IDE: </li></ul><ul><li>http://www.openqa.org/selenium-ide/ </li></ul><ul><li>Selenium Remote Control </li></ul><ul><li>http://www.openqa.org/selenium-rc/ </li></ul>
    21. 21. Q/A Thanks!
    22. 22. Manifesto for Agile Software Development <ul><li>Individuals and interactions over processes and tools </li></ul><ul><li>Working software over comprehensive documentation </li></ul><ul><li>Customer collaboration over contract negotiation </li></ul><ul><li>Responding to change over following a plan </li></ul>

    ×