Your SlideShare is downloading. ×
Continuous Test Automation
Upcoming SlideShare
Loading in...5

Thanks for flagging this SlideShare!

Oops! An error has occurred.


Saving this for later?

Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime - even offline.

Text the download link to your phone

Standard text messaging rates apply

Continuous Test Automation


Published on

Today’s test organizations often have sizable investments in test automation. Unfortunately, running and maintaining these test suites represents another sizable investment. All too often this hard …

Today’s test organizations often have sizable investments in test automation. Unfortunately, running and maintaining these test suites represents another sizable investment. All too often this hard work is abandoned and teams revert to a more costly, but familiar, manual approach. Jared Richardson says a more practical solution is to integrate test automation suites with continuous integration (CI). A CI system monitors your source code and compiles the system after every change. Once the build is complete, test suites are automatically run. This approach of ongoing test execution provides your developers rapid feedback and keeps your tests in constant use. It also frees up your testers for more involved exploratory testing. Jared shows how to set up an open source continuous integration tool and explains the best way to introduce this technique to your developers and testers. The concepts are simple when presented properly and provide solid benefits to all areas of an organization.

Published in: Technology

  • Be the first to comment

  • Be the first to like this

No Downloads
Total Views
On Slideshare
From Embeds
Number of Embeds
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

No notes for slide


  • 1. T17 Continuous Testing 5/8/2014 1:30:00 PM Continuous Test Automation Presented by: Jared Richardson Agile Artisans Brought to you by: 340 Corporate Way, Suite 300, Orange Park, FL 32073 888-268-8770 ∙ 904-278-0524 ∙ ∙
  • 2. Jared Richardson Agile Artisans Principal consultant and a member of the core team at Agile Artisans, Jared Richardson works with other software craftsmen to build excellent custom software. He sold his first software program in 1991 and has been immersed in software ever since. Jared has authored and coauthored a number of books, including the best selling Ship It! A Practical Guide to Successful Software Projects and Career 2.0: Take Control of Your Life. He is a frequent speaker at software conferences and a thought leader in agile. Jared lives with his wife and children in North Carolina where they recently, quite by accident, became backyard chicken farmers. He's on the web at
  • 3. Continuous Testing J a r e d R i c h a r d s o n A g i l e A r t i s a n s Who are you? Jared Richardson CoAuthored Ship It! and Career 2.0 Screencast editor for Started AgileRTP in 2007 2nd public signatory of the Agile Manifesto Agile coach What Is Agile?
  • 4. Feedback Loops Feedback Loops are Fractal
  • 5. Pairing Test First Daily Meetings Demos ??? Feedback Loops Inside Feedback Loops Different Levels Good at the bottom Great at the top Ignore the middle Continuous Feedback Continuous Integration Continuous Delivery Continuous Testing Continuous Integration Watch Code Build product Run tests Publish results
  • 6. Continuous Testing Watch CI Deploy product Integration tests Publish results Continuous Testing Build in CI (compile & unit tests) Deploy to dev (staging) Run integration tests What does this tell us? If it works Continuous deployment is controversial. Most people ... think I’m advocating low-quality code or an undisciplined cowboy-coding development process. ERIC RIES
  • 7. Language is a Tool Use it What's this look like? Java Tooling Publish results Example Publish results javac (Oracle & IBM) message broker etc ws ejb deploy message broker tools sshexec (to scripts) JUnit HP's UFT Selenium Web page RSS Email
  • 8. Continuous Testing CI CT Compile & unit test Deploy & integration test Multiplatform Deploys CI CD Win7 CD Linux CD AIX Binaries Nuke & Pave Delete Recompile Deploy Use 23 Data Nuke & Pave Delete schema Drop tables Recreate Restock Rails Liquibase 24
  • 9. Rails ActiveRecord CREATE&TABLE&products&( &&&id&int(11)&NOT&NULL&auto_increment, &&&name&varchar(255), &&&PRIMARY&KEY&&(id) ); 25 Rails ActiveRecord change_table :card_deck do |t| t.remove :description, :name t.string :first_name t.index :part_number t.rename :list_name, :last_name end 26 Rails ActiveRecord rake db:migrate rake db:migrate VERSION=0 rake db:reset 27 Operating System Nuke & Pave Virtualize Recreate 28
  • 10. Vagrant vagrant init lnx http://lnx/ vagrant up vagrant ssh vagrant reload --provision 29 Vagrant Vagrant.configure("2") do |config| = "lnx" config.vm.provision :shell, :path => "" end 30 Benefits Reproducible environment Solid results Fast results Repeatable results Fast feedback leads to fast fixes
  • 11. Minimize Dark Times Code Change Validation When? Day one Easiest Easy? No Difficult Necessary Code Alternatives
  • 12. Work in a vacuum Ruthlessly Automate! Builds Deploys Tests Steps Automate builds Continuous Integration Add unit tests Automate deployments Continuous Delivery Add integration tests Your move
  • 13. Exercise Two 3x5 cards 3 reasons for Continuous Testing 3 barriers to adoption Pass cards to the next table Brainstorm on solutions Tips Open standards... Junit or Junit compatible Avoid vendor lock in Glue tools Time matters.... Fast servers Incremental change Resources JUnit Jenkins BDD Cucumber Continuous Deployment Devops Resources
  • 14. Data Resources