1 / 20

Improve Development Process with Open Source Software

Wen Tao senior consultant. 陈金洲 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. jchen @thoughtworks.com

spencer
Download Presentation

Improve Development Process with Open Source Software

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Wen Taosenior consultant 陈金洲senior consultant wtao@thoughtworks.com Xi’an Software Park, Xi’an High-tech Development Zone, Xi’an Shaanxi, P. R. China, 710075 cell +86.138.1030.2515office +86.29.8760.7341 jchen@thoughtworks.com Xi’an Software Park, Xi’an High-tech Development Zone, Xi’an Shaanxi, P. R. China, 710075 cell +86.139.9197.1753office +86.29.8760.7341 Improve Development Process with Open Source Software

  2. Agenda • Introduction • Selenium • Demo • CruiseControl • Showcase • Conclusion

  3. Share experience • How do wetest the web project? • What’s our daily development like? • Happy or painful? • Why? • Share your experience!

  4. Question #1: Functional Test For Web app

  5. Bug found! Feature developed Regression found! Traditional approach Release Development Acceptance Testing Regression Testing • Developers have moved on • Too close to release

  6. Faster feedback Release Development Acceptance Testing Regression Testing Write test as you go Problems are found quickly Run them as often as you can

  7. Regression Testing 3 months Why Automated? • Manual testing is slow, tedious and error-prone • Especially for regression Either take long time or less thorough What now? Start again?

  8. Regression Testing 10 minutes Consistently Thorough Fast enough to start again and again and again…

  9. Selenium http://www.openqa.org/selenium/

  10. 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

  11. Demo • Demo • Start hsqldb • Start tomcat • Firefox • http://localhost:8080/jpetstore • http://localhost:8080/jpetstore/selenium

  12. Question #2: Continuous Integration

  13. 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

  14. Benefits of C.I. • Minimizes integration risk. • Supports easier defect diagnosis. • Encourages goodtesting habit • Support release management • Enforcescompany development policy

  15. CruiseControl http://cruisecontrol.sourceforge.net/ Also see Luntbuild, which is a simpler analogue of CruiseControl.

  16. 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.

  17. Build loop of C.C. 1. Bootstrap 2. Check for modifications VCS Cruise Control 3. Get the revision log 5. Publish Artifacts Build Artifacts Dir Mail/Sound/Light… 6. Send to publisher 1. Get the latest source 4. Run Build 3. Tag source (optional) Project Specific Adapter - Ant Script Your project’s Build file Ant, Maven, Make 2. Run Build

  18. Showcase

  19. 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.

  20. 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/

More Related