SlideShare a Scribd company logo
Building better websites with automated quality assurance Cheaper, Faster, more Reliable
Agenda Introductions Drupal SimpleTest Drupal.org usage Drupal.org Future Business Value of Quality  Assurance Examiner Development Examiner Development - Selenium Examiner Benefits Testing in the Wild Contributed Module  Development Tools for Site Owners ReviewDriven.com Contributed Back Demo
Introductions Jimmy Berry  is the lead developer for the automated quality assurance platform used in the Drupal core development process. Jimmy works for Examiner.com where he develops automated quality assurance tools for examiner.com's migration to Drupal 7.   Kieran Lal  is the project manager for the quality assurance platform. Kieran is the Drupal community adventure guide for Acquia where he helps organizations understand the benefits of Drupal and Acquia's products to be successful with their Drupal sites.
Drupal SimpleTest Based on SimpleTest.org API Provides seemless integration with Drupal Extensive Drupal core suite Provides many examples ~19,000 assertions   Introduction - http://drupal.org/simpletest Primarily used for "functional" testing Simulate user Start from scratch environment
Drupal.org Usage * http://qa.drupal.org/pifr/statistics Number of tests reviewed 24,840 Number of reviews performed 132,773 Average number of times a test is reviewed 5
Business Value of Quality Assurance Confidence to make large changes and refactor as needed. Can prevent bugs from reoccurring. Provides the confidence to know the system is ready to deploy. Removes the need to for large scale human testing with every change set.
Drupal.org Future Drupal 8 Clean code to perfection early in cycle Combination of manual cleanup and automated tools like the (PHP) Grammar Parser. Remove any false positives from Coder Enable Coder review on all patches Code coverage reports on commit Additional automated reviews Textual analysis Security reviews
Examiner Development On commit Coder reviews - e-mail results to developers Daily Pre-configured tests against shared dev database Import clone of dev database. Additional copies made during testing Atomic tests that require no database Run against an external server such as production or staging Ensure that rolled out code is functioning properly Could be used for Drupal.org
Examiner Development - Selenium Selenium IDE Workflow Record test "marcos" Export as PHP Selenium output Convert using simpletest_selenium (d.o project) Benefits Distribute test writing workload by allowing non-tech savy users to record tests Lower initial learning curve requird to include testing into a development process
Examiner Benefits Code review Makes it code reviews second nature Encourages developers to clean up code Testing Lighten manual test load Still fairly early in development cycle to access benefit
Testing in the Wild Project Issue File Request (PIFR) ClassicGraphics Drupal.org Examiner Non-PIFR Consumersearch.com Economist - Hudson myLifetime - Script
Contributed Module Development SimpleTest documentation 365 contributed modules that already have  46 contributed modules on  http://qa.drupal.org   Assistance in writing tests  Infrastructure issues Finish info file parsing update* Allow any project maintainer to enable testing Provides mechanism to specify dependency versions  Interface improvements to enhancing integration Links to related review results Aggregation of summary results on project pages Coverage ratings for projects Project specific filters and settings http://drupal.org/project/project_issue_file_review http://drupal.org/project/project_issue_file_test * http://drupal.org/node/102102
Tools for Site Owners SimpleTest Works with Drupal 6 & 7 Clone of a database Drupal 6 module - simpletest_clone Drupal 7 patch - node #666956 Atomic tests – node #758662 PIFR 2 Automate running of tests and reviews Used with trigger script or project management integration Works with any combinations of version control systems Currently supported: bzr, cvs, git, svn
ReviewDriven.com  QA as a service Add site repository Schedule reviews Define triggers Configure notifications Make QA as easy as possible to improve the Drupal ecosystem as a whole  Focus on enhancing tools available to Drupal developers  Public beta coming soon
Contributing Back Write tests for core Write tests for contrib and custom modules Run tests for your modules  Run tests for your site Run tests for your development process Write the testing framework Drupal.org Project module integration (PIFT) qa.drupal.org (PIFR) SimpleTest testing framework Drupal core 6.x-2.x backport
Demo class  DrupalRedesignTestCase  extends  DrupalStageTestCase  {   [...]   protected function  setUp () {      $this -> stagingUrl  =  'http://staging6.drupal.org' ;      $this -> httpauth_credentials  =  'drupal:drupal' ;      parent :: setUp ();   }   protected function  testFoo () {      $this -> drupalGet ( 'about' );      $this -> assertText ( 'Documentation' );   } } * http://drupal.org/node/758662
QA Sprint Drupalcon SF   Sunday 9AM, April 18th      Coder Lounge Learn how to write tests for Drupal core Learn how to contribute tests to modules you use  Learn how to write tests for your contrib modules Learn how to run simpletest for your custom site
Contributing to the QA project Add features to the QA platform for core E.g. Load testing Add features that your consulting company needs for clients Add features that your company needs for it’s QA process Add features to integrate with your development and test workflow Contact: http://qa.drupal.org/contact
Appendix  
How to Reach Our Audience Developers - front page Coder reviews Involve most popular module developers Assemble knowledgeable QA team  [Dave Reid] [List of people who have corresponeded] [List of projects with SimpleTests] Site owners Maintainable benefit that will increase in value Additional plugins and services
Schedule for Webinar and Sprint Announce Webinar and Sprint on March 22nd Practice run on the March 25th  Webinar on March 31st Sprint on April 18th
Business Value of Quality Assurance Confidence to make large changes and refactor as needed. Frees developers to focus on features and functionality instead of ensuring that functionality is not broken. Helps prevent changes from having a cascade effect. Can prevent bugs from reoccurring. Provides the confidence to know the system is ready to deploy. Removes the need to for large scale human testing with every change set. Provides a consistent mechanism to ensure the system is in a certain level of stability. Ensures that testing is not neglected, but instead occurs on a regular basis. Provides a way to ensure that configuration changes specific to one site do not have unwanted effects.

More Related Content

PDF
Auditing Drupal Sites
PDF
Drupal 7 ci and testing
ZIP
Five Easy Ways to QA Your Drupal Site
PDF
Test driven development_continuous_integration
PDF
Continuous delivery - tools and techniques
PDF
Continuous Integration Testing in Django
PDF
Introduction to test_driven_development
PPTX
Continuous delivery applied
Auditing Drupal Sites
Drupal 7 ci and testing
Five Easy Ways to QA Your Drupal Site
Test driven development_continuous_integration
Continuous delivery - tools and techniques
Continuous Integration Testing in Django
Introduction to test_driven_development
Continuous delivery applied

What's hot (17)

PPTX
Dot all 2019 | Testing with Craft | Giel Tettelar
PPTX
CI / CD w/ Codeception
PDF
Drupalcamp Simpletest
PDF
“Sensu and Sensibility” - The Story of a Journey From #monitoringsucks to #mo...
PDF
Continuous Integration at T3CON08
PPT
Improve Development Process with Open Source Software
PPTX
DevOps & Security: Here & Now
ODP
Improving code quality using CI
PDF
Continuous Integration 101
PDF
Component testing with cypress
PDF
Java Test Automation for REST, Web and Mobile
PDF
DevOps 及 TDD 開發流程哲學
PDF
Test Driven Development
PPTX
Automation testing with Drupal 8
PPTX
Why you should switch to Cypress for modern web testing?
PDF
The Continuous PHP Pipeline
PDF
Devops, Secops, Opsec, DevSec *ops *.* ?
Dot all 2019 | Testing with Craft | Giel Tettelar
CI / CD w/ Codeception
Drupalcamp Simpletest
“Sensu and Sensibility” - The Story of a Journey From #monitoringsucks to #mo...
Continuous Integration at T3CON08
Improve Development Process with Open Source Software
DevOps & Security: Here & Now
Improving code quality using CI
Continuous Integration 101
Component testing with cypress
Java Test Automation for REST, Web and Mobile
DevOps 及 TDD 開發流程哲學
Test Driven Development
Automation testing with Drupal 8
Why you should switch to Cypress for modern web testing?
The Continuous PHP Pipeline
Devops, Secops, Opsec, DevSec *ops *.* ?
Ad

Viewers also liked (20)

PDF
Velocity 2014 Tool Chain Choices
PPT
Openstack devops challenges a journey from dump baremetal to functional ope...
PDF
Agile Bodensee - Testautomation & Continuous Delivery Workshop
PDF
calmio-cicd-containers
PDF
Agile Testing Introduction
PPTX
Test management in scrum
PPTX
SanDiego_DevOps_Meetup_9212016-v8
PPTX
Agile Qa Framework Jacky Wu
PPTX
Continuous Delivery: Integrating the Deployment Pipeline Toolchain Through Au...
PPTX
Introducing QA Into an Agile Environment
PPT
Role Of Qa And Testing In Agile 1225221397167302 8
PDF
How to Build in Quality from Day 1 using Lean QA and Agile Testing
PPT
EXTENT-2016: Managing QA for Complex Systems in Agile Development Framework
PPTX
Continuous delivery
PPTX
Continuos Delivery
PPT
Agile QA presentation
PPTX
Agile tour ncr test360_degree - agile testing on steroids
PPTX
Test Automation in Agile
PDF
Agile Testing: Strength Through Interdependence
PPT
QA in Agile
Velocity 2014 Tool Chain Choices
Openstack devops challenges a journey from dump baremetal to functional ope...
Agile Bodensee - Testautomation & Continuous Delivery Workshop
calmio-cicd-containers
Agile Testing Introduction
Test management in scrum
SanDiego_DevOps_Meetup_9212016-v8
Agile Qa Framework Jacky Wu
Continuous Delivery: Integrating the Deployment Pipeline Toolchain Through Au...
Introducing QA Into an Agile Environment
Role Of Qa And Testing In Agile 1225221397167302 8
How to Build in Quality from Day 1 using Lean QA and Agile Testing
EXTENT-2016: Managing QA for Complex Systems in Agile Development Framework
Continuous delivery
Continuos Delivery
Agile QA presentation
Agile tour ncr test360_degree - agile testing on steroids
Test Automation in Agile
Agile Testing: Strength Through Interdependence
QA in Agile
Ad

Similar to How to Build and Maintain Quality Drupal Sites with Automated Testing (20)

PDF
Testing In Drupal
ODP
Simple test drupal7_presentation_la_drupal_jul21-2010
PDF
Automated testing in Drupal
PPTX
Automated php unit testing in drupal 8
ODP
2014 11 20 Drupal 7 -> 8 test migratie
PDF
Test all the things! Automated testing with Drupal 8
PPTX
Simpletest - A beginners guide
PDF
Updating Your Website to Drupal 7
PDF
Modernize Your Drupal Development
PPTX
Testing
PPTX
Sf Core Summit
PPT
Three Powerful Tools for Improving the Performance of your Drupal Site
PDF
Continuous Integration and Drupal
PDF
Сontinuous Integration - step to continuous deployment
PDF
Drupal 7 - The Top 40 Core Modules and What They Mean for You
PPTX
DrupalCon Austin 2014 Review
PDF
Preparing for Acquia Certification
PDF
Strategies and Tips for Building Enterprise Drupal Applications - PNWDS 2013
PPT
Contributing to Drupal
PDF
Supersize me: Making Drupal go large
Testing In Drupal
Simple test drupal7_presentation_la_drupal_jul21-2010
Automated testing in Drupal
Automated php unit testing in drupal 8
2014 11 20 Drupal 7 -> 8 test migratie
Test all the things! Automated testing with Drupal 8
Simpletest - A beginners guide
Updating Your Website to Drupal 7
Modernize Your Drupal Development
Testing
Sf Core Summit
Three Powerful Tools for Improving the Performance of your Drupal Site
Continuous Integration and Drupal
Сontinuous Integration - step to continuous deployment
Drupal 7 - The Top 40 Core Modules and What They Mean for You
DrupalCon Austin 2014 Review
Preparing for Acquia Certification
Strategies and Tips for Building Enterprise Drupal Applications - PNWDS 2013
Contributing to Drupal
Supersize me: Making Drupal go large

More from Acquia (20)

PDF
Acquia_Adcetera Webinar_Marketing Automation.pdf
PDF
Acquia Webinar Deck - 9_13 .pdf
PDF
Taking Your Multi-Site Management at Scale to the Next Level
PDF
CDP for Retail Webinar with Appnovation - Q2 2022.pdf
PDF
May Partner Bootcamp 2022
PDF
April Partner Bootcamp 2022
PDF
How to Unify Brand Experience: A Hootsuite Story
PDF
Using Personas to Guide DAM Results: How Life Time Pumped Up Their UX and CX
PDF
Improve Code Quality and Time to Market: 100% Cloud-Based Development Workflow
PDF
September Partner Bootcamp
PDF
August partner bootcamp
PDF
July 2021 Partner Bootcamp
PDF
May Partner Bootcamp
PDF
DRUPAL 7 END OF LIFE IS NEAR - MIGRATE TO DRUPAL 9 FAST AND EASY
PDF
Work While You Sleep: The CMO’s Guide to a 24/7/365 Lead Machine
PDF
Acquia webinar: Leveraging Drupal to Bury Your Sales Team In B2B Leads
PDF
April partner bootcamp deck cookieless future
PDF
How to enhance cx through personalised, automated solutions
PDF
DRUPAL MIGRATIONS AND DRUPAL 9 INNOVATION: HOW PAC-12 DELIVERED DIGITALLY FOR...
PDF
Customer Experience (CX): 3 Key Factors Shaping CX Redesign in 2021
Acquia_Adcetera Webinar_Marketing Automation.pdf
Acquia Webinar Deck - 9_13 .pdf
Taking Your Multi-Site Management at Scale to the Next Level
CDP for Retail Webinar with Appnovation - Q2 2022.pdf
May Partner Bootcamp 2022
April Partner Bootcamp 2022
How to Unify Brand Experience: A Hootsuite Story
Using Personas to Guide DAM Results: How Life Time Pumped Up Their UX and CX
Improve Code Quality and Time to Market: 100% Cloud-Based Development Workflow
September Partner Bootcamp
August partner bootcamp
July 2021 Partner Bootcamp
May Partner Bootcamp
DRUPAL 7 END OF LIFE IS NEAR - MIGRATE TO DRUPAL 9 FAST AND EASY
Work While You Sleep: The CMO’s Guide to a 24/7/365 Lead Machine
Acquia webinar: Leveraging Drupal to Bury Your Sales Team In B2B Leads
April partner bootcamp deck cookieless future
How to enhance cx through personalised, automated solutions
DRUPAL MIGRATIONS AND DRUPAL 9 INNOVATION: HOW PAC-12 DELIVERED DIGITALLY FOR...
Customer Experience (CX): 3 Key Factors Shaping CX Redesign in 2021

Recently uploaded (20)

PDF
Advanced methodologies resolving dimensionality complications for autism neur...
PDF
Bridging biosciences and deep learning for revolutionary discoveries: a compr...
PPTX
20250228 LYD VKU AI Blended-Learning.pptx
PDF
Encapsulation theory and applications.pdf
DOCX
The AUB Centre for AI in Media Proposal.docx
PPTX
A Presentation on Artificial Intelligence
PPTX
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
PDF
Reach Out and Touch Someone: Haptics and Empathic Computing
PPTX
PA Analog/Digital System: The Backbone of Modern Surveillance and Communication
PDF
Diabetes mellitus diagnosis method based random forest with bat algorithm
PPTX
Digital-Transformation-Roadmap-for-Companies.pptx
PDF
Dropbox Q2 2025 Financial Results & Investor Presentation
PPTX
Understanding_Digital_Forensics_Presentation.pptx
PDF
Mobile App Security Testing_ A Comprehensive Guide.pdf
PDF
KodekX | Application Modernization Development
PPTX
Big Data Technologies - Introduction.pptx
PDF
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
PDF
Machine learning based COVID-19 study performance prediction
PDF
Review of recent advances in non-invasive hemoglobin estimation
PPTX
Cloud computing and distributed systems.
Advanced methodologies resolving dimensionality complications for autism neur...
Bridging biosciences and deep learning for revolutionary discoveries: a compr...
20250228 LYD VKU AI Blended-Learning.pptx
Encapsulation theory and applications.pdf
The AUB Centre for AI in Media Proposal.docx
A Presentation on Artificial Intelligence
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
Reach Out and Touch Someone: Haptics and Empathic Computing
PA Analog/Digital System: The Backbone of Modern Surveillance and Communication
Diabetes mellitus diagnosis method based random forest with bat algorithm
Digital-Transformation-Roadmap-for-Companies.pptx
Dropbox Q2 2025 Financial Results & Investor Presentation
Understanding_Digital_Forensics_Presentation.pptx
Mobile App Security Testing_ A Comprehensive Guide.pdf
KodekX | Application Modernization Development
Big Data Technologies - Introduction.pptx
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
Machine learning based COVID-19 study performance prediction
Review of recent advances in non-invasive hemoglobin estimation
Cloud computing and distributed systems.

How to Build and Maintain Quality Drupal Sites with Automated Testing

  • 1. Building better websites with automated quality assurance Cheaper, Faster, more Reliable
  • 2. Agenda Introductions Drupal SimpleTest Drupal.org usage Drupal.org Future Business Value of Quality  Assurance Examiner Development Examiner Development - Selenium Examiner Benefits Testing in the Wild Contributed Module  Development Tools for Site Owners ReviewDriven.com Contributed Back Demo
  • 3. Introductions Jimmy Berry is the lead developer for the automated quality assurance platform used in the Drupal core development process. Jimmy works for Examiner.com where he develops automated quality assurance tools for examiner.com's migration to Drupal 7.   Kieran Lal is the project manager for the quality assurance platform. Kieran is the Drupal community adventure guide for Acquia where he helps organizations understand the benefits of Drupal and Acquia's products to be successful with their Drupal sites.
  • 4. Drupal SimpleTest Based on SimpleTest.org API Provides seemless integration with Drupal Extensive Drupal core suite Provides many examples ~19,000 assertions  Introduction - http://drupal.org/simpletest Primarily used for "functional" testing Simulate user Start from scratch environment
  • 5. Drupal.org Usage * http://qa.drupal.org/pifr/statistics Number of tests reviewed 24,840 Number of reviews performed 132,773 Average number of times a test is reviewed 5
  • 6. Business Value of Quality Assurance Confidence to make large changes and refactor as needed. Can prevent bugs from reoccurring. Provides the confidence to know the system is ready to deploy. Removes the need to for large scale human testing with every change set.
  • 7. Drupal.org Future Drupal 8 Clean code to perfection early in cycle Combination of manual cleanup and automated tools like the (PHP) Grammar Parser. Remove any false positives from Coder Enable Coder review on all patches Code coverage reports on commit Additional automated reviews Textual analysis Security reviews
  • 8. Examiner Development On commit Coder reviews - e-mail results to developers Daily Pre-configured tests against shared dev database Import clone of dev database. Additional copies made during testing Atomic tests that require no database Run against an external server such as production or staging Ensure that rolled out code is functioning properly Could be used for Drupal.org
  • 9. Examiner Development - Selenium Selenium IDE Workflow Record test "marcos" Export as PHP Selenium output Convert using simpletest_selenium (d.o project) Benefits Distribute test writing workload by allowing non-tech savy users to record tests Lower initial learning curve requird to include testing into a development process
  • 10. Examiner Benefits Code review Makes it code reviews second nature Encourages developers to clean up code Testing Lighten manual test load Still fairly early in development cycle to access benefit
  • 11. Testing in the Wild Project Issue File Request (PIFR) ClassicGraphics Drupal.org Examiner Non-PIFR Consumersearch.com Economist - Hudson myLifetime - Script
  • 12. Contributed Module Development SimpleTest documentation 365 contributed modules that already have 46 contributed modules on http://qa.drupal.org Assistance in writing tests Infrastructure issues Finish info file parsing update* Allow any project maintainer to enable testing Provides mechanism to specify dependency versions Interface improvements to enhancing integration Links to related review results Aggregation of summary results on project pages Coverage ratings for projects Project specific filters and settings http://drupal.org/project/project_issue_file_review http://drupal.org/project/project_issue_file_test * http://drupal.org/node/102102
  • 13. Tools for Site Owners SimpleTest Works with Drupal 6 & 7 Clone of a database Drupal 6 module - simpletest_clone Drupal 7 patch - node #666956 Atomic tests – node #758662 PIFR 2 Automate running of tests and reviews Used with trigger script or project management integration Works with any combinations of version control systems Currently supported: bzr, cvs, git, svn
  • 14. ReviewDriven.com QA as a service Add site repository Schedule reviews Define triggers Configure notifications Make QA as easy as possible to improve the Drupal ecosystem as a whole  Focus on enhancing tools available to Drupal developers Public beta coming soon
  • 15. Contributing Back Write tests for core Write tests for contrib and custom modules Run tests for your modules Run tests for your site Run tests for your development process Write the testing framework Drupal.org Project module integration (PIFT) qa.drupal.org (PIFR) SimpleTest testing framework Drupal core 6.x-2.x backport
  • 16. Demo class DrupalRedesignTestCase extends DrupalStageTestCase {   [...]   protected function setUp () {     $this -> stagingUrl = 'http://staging6.drupal.org' ;     $this -> httpauth_credentials = 'drupal:drupal' ;     parent :: setUp ();   }   protected function testFoo () {     $this -> drupalGet ( 'about' );     $this -> assertText ( 'Documentation' );   } } * http://drupal.org/node/758662
  • 17. QA Sprint Drupalcon SF Sunday 9AM, April 18th      Coder Lounge Learn how to write tests for Drupal core Learn how to contribute tests to modules you use Learn how to write tests for your contrib modules Learn how to run simpletest for your custom site
  • 18. Contributing to the QA project Add features to the QA platform for core E.g. Load testing Add features that your consulting company needs for clients Add features that your company needs for it’s QA process Add features to integrate with your development and test workflow Contact: http://qa.drupal.org/contact
  • 20. How to Reach Our Audience Developers - front page Coder reviews Involve most popular module developers Assemble knowledgeable QA team [Dave Reid] [List of people who have corresponeded] [List of projects with SimpleTests] Site owners Maintainable benefit that will increase in value Additional plugins and services
  • 21. Schedule for Webinar and Sprint Announce Webinar and Sprint on March 22nd Practice run on the March 25th Webinar on March 31st Sprint on April 18th
  • 22. Business Value of Quality Assurance Confidence to make large changes and refactor as needed. Frees developers to focus on features and functionality instead of ensuring that functionality is not broken. Helps prevent changes from having a cascade effect. Can prevent bugs from reoccurring. Provides the confidence to know the system is ready to deploy. Removes the need to for large scale human testing with every change set. Provides a consistent mechanism to ensure the system is in a certain level of stability. Ensures that testing is not neglected, but instead occurs on a regular basis. Provides a way to ensure that configuration changes specific to one site do not have unwanted effects.