Testers entering the Agile domain are no longer on the other side of the wall. Without the wall, the developer playground of CI is a testing smorgasbord. As an Agile Tester there are many ways to consider how to design and execute automated tests and continuously keep the pulse on quality of the builds. However when it comes to leveraging existing CI pipeline for functional and performance tests many testers may not realize that main ingredients are already built-in. This presentation will share the recipes on how to propel functional and performance automated tests with immediate test results feedback to the entire team with your existent CI engine.
Presentation is base on:
• Hudson/Jenkins CI engine
• Ruby and Rake to setup, execute and tear-down test environments
• Hpricot (Ruby gem) and Hudson plug-ins to report and trend graphical results dynamically
5. Our CI Tools CruiseControl-> Team City -> Hudson -> Jenkins Modular CI pipeline approach is key Well-supported source control system (e.g. Git) CI de-coupled build tool(s) (e.g. Ruby/Rake)
11. What’s Rake ? A simple Ruby build tool similar to make Rakefiles (rake‘s version of Makefiles) defined in standard Ruby syntax. No XML files to edit. No quirky Makefile syntax to worry about Can specify tasks with dependencies A well-defined library of tasks to make creating rakefiles easier
17. Questions ? JoEllen Carter (joellen.carter@versionone.com) Leonard Fingerman (leonard.fingerman @versionone.com
Editor's Notes
View from live dev-cam – remote members dial in for standup and this is what they see.Here’s the rest of the room – we are powered by the arc – Friday afternoon furniture re-arranging resulted in some powerful fengshui – seems to help the flow of communicationStart video at 1:45http://dl.dropbox.com/u/22563350/CIMG0491.mp4
JoEllenSwitching CI is not a big deal thanks to modular approach
JoEllenBuild pipeline consists of multiple, coupled builds…first build is triggered by checkinEach build after the first one is triggered by the successful completion of the previous build.Failing build means the end of the pipe for that check in..and we get to hear our wonderful build-break audio
LeonardElaborate on types of tests outside of CIMention previous experience as QA - Leonard’s personal experience from the past – did it the hard way Java w. DB Silo’d
JoEllenVisible w/o going somewhere else;Visible to remote team membersUniform/generic presentation of results & readily accessible to everyone (no permissions etc)
LeonardRake runs the install in the test environmentRake shells out to mstest to execute the testJenkins saves artifacts and produces reportJenkins
JoEllen
Leonard
JoEllen
LeonardTake another with all green
LeonardAdd more screenshots – screenshot test; formatted report with pass/fail info, trend plugin for p/f over time
JoellenAdd more screenshots – screenshot test; formatted report with pass/fail info, trend plugin for p/f over time
LeonardUsing Jenkins Performance Trending Plug-inRuby gem to xForm the XML display data for trending & charting