Скачать презентацию Improve Development Process with Open Source Software Wen Скачать презентацию Improve Development Process with Open Source Software Wen

5fd2a2e8a74015a7f2a4c28e58bf524e.ppt

  • Количество слайдов: 20

Improve Development Process with Open Source Software Wen Tao senior consultant 陈金洲 senior consultant 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 jchen@thoughtworks. com cell +86. 138. 1030. 2515 office +86. 29. 8760. 7341 Xi’an Software Park, Xi’an High-tech Development Zone,

Agenda • Introduction • Selenium • Demo • Cruise. Control • Showcase • Conclusion Agenda • Introduction • Selenium • Demo • Cruise. Control • Showcase • Conclusion

Share experience • How do we test the web project? • What’s our daily 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 Question #1: Functional Test For Web app

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

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

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

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

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

Selenium • Open source test tool for web applications. • Run in browser • 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: Demo • Demo – Start hsqldb – Start tomcat – Firefox • http: //localhost: 8080/jpetstore/selenium

Question #2: Continuous Integration Question #2: Continuous Integration

What is Continuous Integration • Integrates source code and runs tests after each commit 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. • Minimizes integration risk. • Supports easier defect diagnosis. • Benefits of C. I. • Minimizes integration risk. • Supports easier defect diagnosis. • Encourages good testing habit • Support release management • Enforces company development policy

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

About Cruise. Control • Think of it as “timer for Ant”. • Simple design. About Cruise. Control • 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. 1. Bootstrap 2. Check for modifications 3. Get the Build loop of C. C. 1. Bootstrap 2. Check for modifications 3. Get the revision log 5. Publish Artifacts Cruise Control VCS 3. Tag source (optional) Your project’s Build file Ant, Maven, Make 1. Get the latest source 6. Send to publisher 4. Run Build Project Specific Adapter Ant Script 2. Run Build Artifacts Dir Mail/Sound/Light…

 • Showcase • Showcase

Conclusion • DRY, use automation test/continuous tools help you improve your development process, and 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 Cruise. Control running. it gives you feedback as soon as possible.

Resources Mike Clark, author of Pragmatic Project Automation http: //media. pragprog. com/movies/auto/Cruise. Control_Mike. Clark. Resources Mike Clark, author of Pragmatic Project Automation http: //media. pragprog. com/movies/auto/Cruise. Control_Mike. Clark. html Selenium IDE: http: //www. openqa. org/selenium-ide/ Selenium Remote Control http: //www. openqa. org/selenium-rc/