SlideShare une entreprise Scribd logo
1  sur  25
Télécharger pour lire hors ligne
SELENIUM: WHAT IS IT GOOD
          FOR?
        ABSOLUTELY SOMETHING!
            DALLAS DRUPAL DAYS
             SEPTEMBER 8, 2012
WHATCHA GONNA DO?
Selenium
   Selenium IDE: A comprehensive walkthrough of the
   misunderstood IDE.
   Store and Run Tests: A guide to Automated Testing at it's most
   basic level.
PHPUnit
   The Important Features: What we need to get Selenium working
   with PHPUnit.
   Translation from Selenium IDE: The first steps to using PHPUnit
   for managing and running your tests.
Hudson / Jenkins / Travis
  Continuous Integration: What does it mean to be continuously
  integrated?
BUT FIRST!
<SHAMELESS SELF PROMOTION>
        Allan Chappell
Webdeveloper / Testing Expert



    Drupal User: 368854
     @general_redneck
    GeneralRedneck.com
    </SHAMELESS SELF PROMOTION>
WHAT IS SELENIUM?
“Selenium automates browsers. That's it.”
SELENIUM
SELENIUM IDE

          Record Your Actions.
          Modify Your Targets.
          Fill In the Gaps With Tests.
          Store and Run Your Tests.
SELENIUM IDE
 RECORD YOUR ACTIONS.



Live Demo Time!
STORE TESTS
               WARNING: CONFLICTING INFORMATION!
  If you plan to move on to more advanced testing:
Separate different features into different Test Suites.

      If you plan to stick with what you got now:
   Combine all features into the same Test Suite.
STORE TESTS
           For both do:
Separate tests into logical test cases.
Share and reap the rewards!
RUN TESTS
Make a backup of the database.
(Check out backup and migrate )
Run the Tests!
Restore if needed.
<BLINK>


   CONGRATULATIONS!!!
YOU ARE READY TO MOVE TO THE NEXT LEVEL!
                 </BLINK>
WHERE DOES PHPUNIT COME IN?
PHPUnit allows you to make the process more automated!
PHPUNIT
        SELENIUM FEATURE OVERVIEW
You can run your old tests! (with massaging)
You can now perform repetitive tasks!
You can now chain running your tests to events!
TRANSLATION OF SELENIUM TESTS
                        There are 2 ways!
PHP Export Addon
Throwing your selenese test cases into a directory and telling
PHPUnit to run em.
<IMPERSONATE CLASS='AUDIENCE'>

GREAT... BUT HOW TO DO I USE IT?
               </IMPERSONATE>
Live Demo Time!
<BLINK>


CONGRATULATIONS!!!
YOU'VE LEVELED UP TWICE IN AN HOUR!
                          </BLINK>
        You should feel proud of yourself... No, Really!
THERE'S MORE?!? I THOUGHT I MADE THE TESTS
               AUTOMATED?
But you can do more with continuous integration provided by a
          platform such as Travis, Hudson, Jenkins.
CONTINUOUS INTEGRATION
                           OVERVIEW
Continuous Integration (CI) there to help your work's quality by:
       Taking repetitive manual tasks and automating them
       Doing these tasks more frequently
       And doing these task faster!
THINGS THAT NOW BECOME EASIER AND POSSIBLE
Code standard checking
Processing Tasks on events such as commits!
More information in an already formatted report!
Running Tests
TO COMPLETE THIS LEVEL YOU MUST...
Install a CI system: Hudson, Jenkins, and Travis are all free with
great documentation.
Build a job: Usually tell it when to run. For instance, on git commit to
github, or every night at midnight.
Tell it what to do: Anything commandline will run. PHPUnit is
commandline. Hudson, Travis, have Selenium built in!
<BLINK>


CONGRATULATIONS!!!
  YOU'VE MADE IT TO THE END!
                 </BLINK>
    But wait there's one more thing...
WHAT THIS MEANS IS THAT YOU NOW HAVE A
   CHOICE BASED ON THE FOLLOWING...
How Automated do you want to go.
What works for your team?
How many resources do you have to dedicate to automation?

   IN THE END, IT IS ALMOST ALWAYS BEST FOR YOUR PRODUCT TO GET TO THE LAST LEVEL.
QUESTIONS?

Contenu connexe

Tendances

Auditing Drupal Sites
Auditing Drupal SitesAuditing Drupal Sites
Auditing Drupal Sites
Exove
 
Upstate CSCI 450 PHP Chapters 5, 12, 13
Upstate CSCI 450 PHP Chapters 5, 12, 13Upstate CSCI 450 PHP Chapters 5, 12, 13
Upstate CSCI 450 PHP Chapters 5, 12, 13
DanWooster1
 

Tendances (20)

Your time saving front end workflow
Your time saving front end workflowYour time saving front end workflow
Your time saving front end workflow
 
Moving From a Selenium Grid to the Cloud - A Real Life Story
Moving From a Selenium Grid to the Cloud - A Real Life StoryMoving From a Selenium Grid to the Cloud - A Real Life Story
Moving From a Selenium Grid to the Cloud - A Real Life Story
 
Selenium and Sauce Labs
Selenium and Sauce LabsSelenium and Sauce Labs
Selenium and Sauce Labs
 
Helm your way with Kubernetes
Helm your way with Kubernetes Helm your way with Kubernetes
Helm your way with Kubernetes
 
Continuous Integration: How I stopped guessing if that merge was bad
Continuous Integration: How I stopped guessing if that merge was badContinuous Integration: How I stopped guessing if that merge was bad
Continuous Integration: How I stopped guessing if that merge was bad
 
Afterlife Tales: Troubleshooting containerized applications
Afterlife Tales: Troubleshooting containerized applicationsAfterlife Tales: Troubleshooting containerized applications
Afterlife Tales: Troubleshooting containerized applications
 
PHP, AWS, and Sleep - Hampton Roads DevFest 2016
PHP, AWS, and Sleep - Hampton Roads DevFest 2016PHP, AWS, and Sleep - Hampton Roads DevFest 2016
PHP, AWS, and Sleep - Hampton Roads DevFest 2016
 
Selenium
SeleniumSelenium
Selenium
 
Auditing Drupal Sites
Auditing Drupal SitesAuditing Drupal Sites
Auditing Drupal Sites
 
Selenium and Appium Training from Sauce Labs
Selenium and Appium Training from Sauce LabsSelenium and Appium Training from Sauce Labs
Selenium and Appium Training from Sauce Labs
 
How to Build and Maintain Quality Drupal Sites with Automated Testing
How to Build and Maintain Quality Drupal Sites with Automated TestingHow to Build and Maintain Quality Drupal Sites with Automated Testing
How to Build and Maintain Quality Drupal Sites with Automated Testing
 
WordPress London Developer Operations For Beginners
WordPress London Developer Operations For BeginnersWordPress London Developer Operations For Beginners
WordPress London Developer Operations For Beginners
 
Selenium IDE
Selenium IDESelenium IDE
Selenium IDE
 
Troubleshooting containerized applications
Troubleshooting containerized applicationsTroubleshooting containerized applications
Troubleshooting containerized applications
 
Upstate CSCI 450 PHP Chapters 5, 12, 13
Upstate CSCI 450 PHP Chapters 5, 12, 13Upstate CSCI 450 PHP Chapters 5, 12, 13
Upstate CSCI 450 PHP Chapters 5, 12, 13
 
Enterprise Workflows When You Aren't Enterprise
Enterprise Workflows When You Aren't EnterpriseEnterprise Workflows When You Aren't Enterprise
Enterprise Workflows When You Aren't Enterprise
 
Speed = $$$
Speed = $$$Speed = $$$
Speed = $$$
 
Just kill it
Just kill itJust kill it
Just kill it
 
Bamboo - an introduction
Bamboo - an introductionBamboo - an introduction
Bamboo - an introduction
 
Ansible top 10 - 2018
Ansible top 10 -  2018Ansible top 10 -  2018
Ansible top 10 - 2018
 

En vedette

En vedette (17)

Backlog, Deferred Maintenance and its use in Planning
Backlog, Deferred Maintenance and its use in PlanningBacklog, Deferred Maintenance and its use in Planning
Backlog, Deferred Maintenance and its use in Planning
 
Enhancing the Value of Streets for Pedestrians, Bicyclists, and Motorists
Enhancing the Value of Streets for Pedestrians, Bicyclists, and MotoristsEnhancing the Value of Streets for Pedestrians, Bicyclists, and Motorists
Enhancing the Value of Streets for Pedestrians, Bicyclists, and Motorists
 
More than a score - Using Ratings and Reviews in Real Estate
More than a score - Using Ratings and Reviews in Real EstateMore than a score - Using Ratings and Reviews in Real Estate
More than a score - Using Ratings and Reviews in Real Estate
 
Take Control of Your Facilities: Explore the Tools for Aligning Space, Capita...
Take Control of Your Facilities: Explore the Tools for Aligning Space, Capita...Take Control of Your Facilities: Explore the Tools for Aligning Space, Capita...
Take Control of Your Facilities: Explore the Tools for Aligning Space, Capita...
 
Pg connects bangalore re engagment advertising a dummies guide
Pg connects bangalore re engagment advertising a dummies guidePg connects bangalore re engagment advertising a dummies guide
Pg connects bangalore re engagment advertising a dummies guide
 
Kakamega County Audit Report 2014/2015
Kakamega County Audit Report 2014/2015Kakamega County Audit Report 2014/2015
Kakamega County Audit Report 2014/2015
 
Make your pitch perfect, using competitive and emotional intelligence - SEOZONE
Make your pitch perfect, using competitive and emotional intelligence - SEOZONEMake your pitch perfect, using competitive and emotional intelligence - SEOZONE
Make your pitch perfect, using competitive and emotional intelligence - SEOZONE
 
Canvas
CanvasCanvas
Canvas
 
JAWS FESTA TOKAIDO 2016
JAWS FESTA TOKAIDO 2016JAWS FESTA TOKAIDO 2016
JAWS FESTA TOKAIDO 2016
 
Lire Rythme, une nouvelle de Chaplin
Lire Rythme, une nouvelle de ChaplinLire Rythme, une nouvelle de Chaplin
Lire Rythme, une nouvelle de Chaplin
 
Spartan challenge 10 11
Spartan challenge 10 11Spartan challenge 10 11
Spartan challenge 10 11
 
Create content according to buyer's journey
Create content according to buyer's journeyCreate content according to buyer's journey
Create content according to buyer's journey
 
交點台中2016.3月 - 簡正強 - 青銀世代,翻轉農業
交點台中2016.3月 - 簡正強 - 青銀世代,翻轉農業 交點台中2016.3月 - 簡正強 - 青銀世代,翻轉農業
交點台中2016.3月 - 簡正強 - 青銀世代,翻轉農業
 
14 Machine Learning Single Layer Perceptron
14 Machine Learning Single Layer Perceptron14 Machine Learning Single Layer Perceptron
14 Machine Learning Single Layer Perceptron
 
My favourite game
My favourite gameMy favourite game
My favourite game
 
Connected health
Connected healthConnected health
Connected health
 
TOP Growth Hacking acquisition Tools for 2017 - BY Akshay Gaur
TOP Growth Hacking acquisition Tools for 2017 - BY Akshay GaurTOP Growth Hacking acquisition Tools for 2017 - BY Akshay Gaur
TOP Growth Hacking acquisition Tools for 2017 - BY Akshay Gaur
 

Similaire à Selenium: What Is It Good For

Gozengo sauce presentation
Gozengo sauce presentationGozengo sauce presentation
Gozengo sauce presentation
Daniel Straus
 
Improving Software Quality- 2-day Tester Training
Improving Software Quality- 2-day Tester TrainingImproving Software Quality- 2-day Tester Training
Improving Software Quality- 2-day Tester Training
Anna Russo
 

Similaire à Selenium: What Is It Good For (20)

Selenium IDE
Selenium IDESelenium IDE
Selenium IDE
 
Graceful Failure with Selenium and Continuous Integration
Graceful Failure with Selenium and Continuous IntegrationGraceful Failure with Selenium and Continuous Integration
Graceful Failure with Selenium and Continuous Integration
 
Automating Perl deployments with Hudson
Automating Perl deployments with HudsonAutomating Perl deployments with Hudson
Automating Perl deployments with Hudson
 
Selenium testing IDE 101
Selenium testing IDE 101Selenium testing IDE 101
Selenium testing IDE 101
 
Gozengo sauce presentation
Gozengo sauce presentationGozengo sauce presentation
Gozengo sauce presentation
 
How Gozengo Implemented a Continuous Deployment Culture from Day One
How Gozengo Implemented a Continuous Deployment Culture from Day OneHow Gozengo Implemented a Continuous Deployment Culture from Day One
How Gozengo Implemented a Continuous Deployment Culture from Day One
 
Code Coverage for Total Security in Application Migrations
Code Coverage for Total Security in Application MigrationsCode Coverage for Total Security in Application Migrations
Code Coverage for Total Security in Application Migrations
 
Jenkins - Automating Yourself Out Of A Job (One That You Don't Want)
Jenkins - Automating Yourself Out Of A Job (One That You Don't Want)Jenkins - Automating Yourself Out Of A Job (One That You Don't Want)
Jenkins - Automating Yourself Out Of A Job (One That You Don't Want)
 
Getting to push_button_deploys
Getting to push_button_deploysGetting to push_button_deploys
Getting to push_button_deploys
 
Automated Web Testing With Selenium
Automated Web Testing With SeleniumAutomated Web Testing With Selenium
Automated Web Testing With Selenium
 
Chef vs Puppet vs Ansible vs SaltStack | Configuration Management Tools Compa...
Chef vs Puppet vs Ansible vs SaltStack | Configuration Management Tools Compa...Chef vs Puppet vs Ansible vs SaltStack | Configuration Management Tools Compa...
Chef vs Puppet vs Ansible vs SaltStack | Configuration Management Tools Compa...
 
Build your QA Pipeline using Serenity , Selenium WebDriver , Rest Assured and...
Build your QA Pipeline using Serenity , Selenium WebDriver , Rest Assured and...Build your QA Pipeline using Serenity , Selenium WebDriver , Rest Assured and...
Build your QA Pipeline using Serenity , Selenium WebDriver , Rest Assured and...
 
Nantes Jug 2016 Eclipse Che: The Next-Gen Eclipse IDE
Nantes Jug 2016 Eclipse Che: The Next-Gen Eclipse IDENantes Jug 2016 Eclipse Che: The Next-Gen Eclipse IDE
Nantes Jug 2016 Eclipse Che: The Next-Gen Eclipse IDE
 
Enterprise PHP (PHP London Conference 2008)
Enterprise PHP (PHP London Conference 2008)Enterprise PHP (PHP London Conference 2008)
Enterprise PHP (PHP London Conference 2008)
 
30 days or less: New Features to Production
30 days or less: New Features to Production30 days or less: New Features to Production
30 days or less: New Features to Production
 
TYPO3 Camp Stuttgart 2015 - Continuous Delivery with Open Source Tools
TYPO3 Camp Stuttgart 2015 - Continuous Delivery with Open Source ToolsTYPO3 Camp Stuttgart 2015 - Continuous Delivery with Open Source Tools
TYPO3 Camp Stuttgart 2015 - Continuous Delivery with Open Source Tools
 
Improving Software Quality- 2-day Tester Training
Improving Software Quality- 2-day Tester TrainingImproving Software Quality- 2-day Tester Training
Improving Software Quality- 2-day Tester Training
 
Automated UI testing. Selenium. DrupalCamp Kyiv 2011
Automated UI testing. Selenium. DrupalCamp Kyiv 2011Automated UI testing. Selenium. DrupalCamp Kyiv 2011
Automated UI testing. Selenium. DrupalCamp Kyiv 2011
 
Dev ops
Dev opsDev ops
Dev ops
 
Productive Programmer - Using IDE effectively and various small practices to ...
Productive Programmer - Using IDE effectively and various small practices to ...Productive Programmer - Using IDE effectively and various small practices to ...
Productive Programmer - Using IDE effectively and various small practices to ...
 

Dernier

Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
vu2urc
 

Dernier (20)

Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdf
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 

Selenium: What Is It Good For

  • 1. SELENIUM: WHAT IS IT GOOD FOR? ABSOLUTELY SOMETHING! DALLAS DRUPAL DAYS SEPTEMBER 8, 2012
  • 2. WHATCHA GONNA DO? Selenium Selenium IDE: A comprehensive walkthrough of the misunderstood IDE. Store and Run Tests: A guide to Automated Testing at it's most basic level. PHPUnit The Important Features: What we need to get Selenium working with PHPUnit. Translation from Selenium IDE: The first steps to using PHPUnit for managing and running your tests.
  • 3. Hudson / Jenkins / Travis Continuous Integration: What does it mean to be continuously integrated?
  • 5. <SHAMELESS SELF PROMOTION> Allan Chappell Webdeveloper / Testing Expert Drupal User: 368854 @general_redneck GeneralRedneck.com </SHAMELESS SELF PROMOTION>
  • 6. WHAT IS SELENIUM? “Selenium automates browsers. That's it.”
  • 7. SELENIUM SELENIUM IDE Record Your Actions. Modify Your Targets. Fill In the Gaps With Tests. Store and Run Your Tests.
  • 8. SELENIUM IDE RECORD YOUR ACTIONS. Live Demo Time!
  • 9. STORE TESTS WARNING: CONFLICTING INFORMATION! If you plan to move on to more advanced testing: Separate different features into different Test Suites. If you plan to stick with what you got now: Combine all features into the same Test Suite.
  • 10. STORE TESTS For both do: Separate tests into logical test cases. Share and reap the rewards!
  • 11. RUN TESTS Make a backup of the database. (Check out backup and migrate ) Run the Tests! Restore if needed.
  • 12. <BLINK> CONGRATULATIONS!!! YOU ARE READY TO MOVE TO THE NEXT LEVEL! </BLINK>
  • 13. WHERE DOES PHPUNIT COME IN? PHPUnit allows you to make the process more automated!
  • 14. PHPUNIT SELENIUM FEATURE OVERVIEW You can run your old tests! (with massaging) You can now perform repetitive tasks! You can now chain running your tests to events!
  • 15. TRANSLATION OF SELENIUM TESTS There are 2 ways! PHP Export Addon Throwing your selenese test cases into a directory and telling PHPUnit to run em.
  • 16. <IMPERSONATE CLASS='AUDIENCE'> GREAT... BUT HOW TO DO I USE IT? </IMPERSONATE>
  • 18. <BLINK> CONGRATULATIONS!!! YOU'VE LEVELED UP TWICE IN AN HOUR! </BLINK> You should feel proud of yourself... No, Really!
  • 19. THERE'S MORE?!? I THOUGHT I MADE THE TESTS AUTOMATED? But you can do more with continuous integration provided by a platform such as Travis, Hudson, Jenkins.
  • 20. CONTINUOUS INTEGRATION OVERVIEW Continuous Integration (CI) there to help your work's quality by: Taking repetitive manual tasks and automating them Doing these tasks more frequently And doing these task faster!
  • 21. THINGS THAT NOW BECOME EASIER AND POSSIBLE Code standard checking Processing Tasks on events such as commits! More information in an already formatted report! Running Tests
  • 22. TO COMPLETE THIS LEVEL YOU MUST... Install a CI system: Hudson, Jenkins, and Travis are all free with great documentation. Build a job: Usually tell it when to run. For instance, on git commit to github, or every night at midnight. Tell it what to do: Anything commandline will run. PHPUnit is commandline. Hudson, Travis, have Selenium built in!
  • 23. <BLINK> CONGRATULATIONS!!! YOU'VE MADE IT TO THE END! </BLINK> But wait there's one more thing...
  • 24. WHAT THIS MEANS IS THAT YOU NOW HAVE A CHOICE BASED ON THE FOLLOWING... How Automated do you want to go. What works for your team? How many resources do you have to dedicate to automation? IN THE END, IT IS ALMOST ALWAYS BEST FOR YOUR PRODUCT TO GET TO THE LAST LEVEL.