How We Build Confidence with
Continuous Integration and
Automated Testing
Introduction
•   Gareth Marland
•   Senior Developer at Rand Worldwide
•   Clarity for Revit Server
•   Cahoot – http://www.yourcohort.com
The Problem
• Small development team
• No dedicated testing team
The Problem
• Unit Tests
 ▫ Good at testing code and logic
 ▫ Unit tests can’t be ran on views
• Regression testing is always problematic
Our Solution
• A combination of 2 things:
 ▫ Continuous integration
 ▫ Automated front end testing
Continuous Integration
• What is continuous integration
 ▫ Builds, runs unit tests and deploys every check in
 ▫ Test is wiped
 ▫ Sandbox for stable versions and testing

• We maintain 3 server Build, Test and Sandbox

• Constant testing of new features
Front End Testing
•   Test the front end functionality of the site
•   Easy to create using the Firefox plugin
•   Export and add detail in code
•   Selenium - http://seleniumhq.org/
Demo
Front End Testing
• Add to the continuous build script to run every
  check in
• Combined with regular unit tests you
  automatically catch it coming and going
Conclusion
• Continuous integration allows us to constantly
  test newly added features
• Front end tests give confidence
• Sleep easy
Q&A

How We Build Confidence with Continuous Integration and Automated Testing

  • 1.
    How We BuildConfidence with Continuous Integration and Automated Testing
  • 2.
    Introduction • Gareth Marland • Senior Developer at Rand Worldwide • Clarity for Revit Server • Cahoot – http://www.yourcohort.com
  • 3.
    The Problem • Smalldevelopment team • No dedicated testing team
  • 4.
    The Problem • UnitTests ▫ Good at testing code and logic ▫ Unit tests can’t be ran on views • Regression testing is always problematic
  • 5.
    Our Solution • Acombination of 2 things: ▫ Continuous integration ▫ Automated front end testing
  • 6.
    Continuous Integration • Whatis continuous integration ▫ Builds, runs unit tests and deploys every check in ▫ Test is wiped ▫ Sandbox for stable versions and testing • We maintain 3 server Build, Test and Sandbox • Constant testing of new features
  • 7.
    Front End Testing • Test the front end functionality of the site • Easy to create using the Firefox plugin • Export and add detail in code • Selenium - http://seleniumhq.org/
  • 8.
  • 9.
    Front End Testing •Add to the continuous build script to run every check in • Combined with regular unit tests you automatically catch it coming and going
  • 10.
    Conclusion • Continuous integrationallows us to constantly test newly added features • Front end tests give confidence • Sleep easy
  • 11.