SlideShare a Scribd company logo
How Testing Changed My Life
HOW TESTING
CHANGED MY LIFE

 Nikolay bachiyski, automattic
Wordcamp san francisco, aug 13, 2011
Next
30 minutes
0. what?
1. example
   plugin
2. do it yourself!
what?
0. what?




Automated

    http://www.flickr.com/photos/binaryape/4882162452/
xUnit


        0. what?
PHPUnit
http://www.phpunit.de/manual/current/en/



                                   0. what?
class  WP_Is_Email_Test  extends  WP_UnitTestCase  {

        function  test_is_email_only_letters_with_dot_com_domain()  {
                $this-­‐>assertEquals(  'nb@nikolay.com',  is_email(  'nb@nikolay.com'  )  );
        }
        
        function  test_is_email_should_not_allow_missing_tld()  {
                $this-­‐>assertFalse(  is_email(  'nb@nikolay'  )  );
        }
        
        function  test_is_email_should_allow_bg_domain()  {
                $this-­‐>assertEquals(  'nb@nikolay.bg',  is_email(  'nb@nikolay.bg'  )  );
        }

}




                                                                                       0. what?
class  WP_Is_Email_Test  extends  WP_UnitTestCase  {

        function  test_is_email_only_letters_with_dot_com_domain()  {
                $this-­‐>assertEquals(  'nb@nikolay.com',  is_email(  'nb@nikolay.com'  )  );
        }
        
        function  test_is_email_should_not_allow_missing_tld()  {
                $this-­‐>assertFalse(  is_email(  'nb@nikolay'  )  );
        }
        
        function  test_is_email_should_allow_bg_domain()  {
                $this-­‐>assertEquals(  'nb@nikolay.bg',  is_email(  'nb@nikolay.bg'  )  );
        }

}




                                                                                        0. what?
0. what?
Example Plugin

    WP_Bearify
do it yourself!


              2. do it yourself!
Grab the
      Framework
https://github.com/nb/wordpress-tests


            soon in core
                               2. do it yourself!
Please, read
  http://xunitpatterns.com/

      at least Narratives:
http://xunitpatterns.com/Book
        %20Outline.html

                              2. do it yourself!
PHPUnit
http://www.phpunit.de/manual/current/en/


                                2. do it yourself!
PHPUnit in your
         editor
https://github.com/meritt/phpunit-tmbundle/
  https://github.com/klokane/vim-phpunit
                                  2. do it yourself!
How Testing Changed My Life
FEAR!
FEAR!
http://www.flickr.com/photos/eebrierley/5394195199/
warm & cozy > FEAR

More Related Content

What's hot (20)

PDF
Selenium Clinic Eurostar 2012 WebDriver Tutorial
Alan Richardson
 
PDF
Introducing Playwright's New Test Runner
Applitools
 
ZIP
Automated Frontend Testing
Neil Crosby
 
PDF
Test-driven Development with Drupal and Codeception (DrupalCamp Brighton)
Cogapp
 
PDF
Cursus phpunit
Nick Belhomme
 
PDF
html5 & phonegap
Caesar Chi
 
PDF
Abstraction Layers Test Management Summit Faciliated Session 2014
Alan Richardson
 
PDF
From Good to Great: Functional and Acceptance Testing in WordPress.
David Aguilera
 
PDF
Introduction to Griffon
James Williams
 
PDF
Testing Web Applications
Seth McLaughlin
 
PDF
Unit-testing and E2E testing in JS
Michael Haberman
 
PDF
Codeception introduction and use in Yii
IlPeach
 
PPT
Testing in AngularJS
Peter Drinnan
 
PDF
Continous Delivering a PHP application
Javier López
 
PDF
One commit, one release. Continuously delivering a Symfony project.
Javier López
 
PDF
PHP Unit Testing in Yii
IlPeach
 
PDF
Acceptance & Functional Testing with Codeception - Devspace 2015
Joe Ferguson
 
PDF
Test Driven Development with Puppet
Puppet
 
KEY
Writing your Third Plugin
Justin Ryan
 
PDF
[CLIW] Web testing
Bogdan Gaza
 
Selenium Clinic Eurostar 2012 WebDriver Tutorial
Alan Richardson
 
Introducing Playwright's New Test Runner
Applitools
 
Automated Frontend Testing
Neil Crosby
 
Test-driven Development with Drupal and Codeception (DrupalCamp Brighton)
Cogapp
 
Cursus phpunit
Nick Belhomme
 
html5 & phonegap
Caesar Chi
 
Abstraction Layers Test Management Summit Faciliated Session 2014
Alan Richardson
 
From Good to Great: Functional and Acceptance Testing in WordPress.
David Aguilera
 
Introduction to Griffon
James Williams
 
Testing Web Applications
Seth McLaughlin
 
Unit-testing and E2E testing in JS
Michael Haberman
 
Codeception introduction and use in Yii
IlPeach
 
Testing in AngularJS
Peter Drinnan
 
Continous Delivering a PHP application
Javier López
 
One commit, one release. Continuously delivering a Symfony project.
Javier López
 
PHP Unit Testing in Yii
IlPeach
 
Acceptance & Functional Testing with Codeception - Devspace 2015
Joe Ferguson
 
Test Driven Development with Puppet
Puppet
 
Writing your Third Plugin
Justin Ryan
 
[CLIW] Web testing
Bogdan Gaza
 

Viewers also liked (20)

PDF
WordCamp SF 2011: Debugging in WordPress
andrewnacin
 
PDF
eMusic: WordPress in the Enterprise
Scott Taylor
 
PDF
WordCamp San Francisco 2011: Transients, Caching, and the Complexities of Mul...
andrewnacin
 
PDF
E-commerce & WordPress: Navigating the Minefield
Ingenesis Limited
 
PDF
Coding, Scaling, and Deploys... Oh My!
Mark Jaquith
 
PDF
Taking WordPress to the World : Options for a Multilingual Site | WordCamp Sa...
Shannon Smith
 
PDF
Don't Repeat Your Mistakes: JavaScript Unit Testing
aaronjorbin
 
PDF
DNS exfiltration using sqlmap
Miroslav Stampar
 
PDF
ColdFusion for Penetration Testers
Chris Gates
 
PDF
State of the Word 2016
photomatt
 
PDF
Pushing Python: Building a High Throughput, Low Latency System
Kevin Ballard
 
PDF
State of the Word 2015, WordCamp US
photomatt
 
PDF
Twitter Presentation: #APIConSF
Ryan Choi
 
PPTX
How to develop a CSS Framework
Olivier Besson
 
PDF
Building a Successful Internal Adversarial Simulation Team - Chris Gates & Ch...
Chris Gates
 
PPTX
Time to climb-- results of national study of disadvantaged entrepreneurs ...
Richard Swart, PhD
 
PPTX
Home Arcade setup (NoVA Hackers)
Chris Gates
 
PPTX
Ako na rýchly web - WordCamp Žilina 2016 - xKatka
Katarina Novotna
 
PDF
Customize Your WordPress Theme the Right Way
Dustin Hartzler
 
PPTX
The power of a video library
Lauren Jeffcoat
 
WordCamp SF 2011: Debugging in WordPress
andrewnacin
 
eMusic: WordPress in the Enterprise
Scott Taylor
 
WordCamp San Francisco 2011: Transients, Caching, and the Complexities of Mul...
andrewnacin
 
E-commerce & WordPress: Navigating the Minefield
Ingenesis Limited
 
Coding, Scaling, and Deploys... Oh My!
Mark Jaquith
 
Taking WordPress to the World : Options for a Multilingual Site | WordCamp Sa...
Shannon Smith
 
Don't Repeat Your Mistakes: JavaScript Unit Testing
aaronjorbin
 
DNS exfiltration using sqlmap
Miroslav Stampar
 
ColdFusion for Penetration Testers
Chris Gates
 
State of the Word 2016
photomatt
 
Pushing Python: Building a High Throughput, Low Latency System
Kevin Ballard
 
State of the Word 2015, WordCamp US
photomatt
 
Twitter Presentation: #APIConSF
Ryan Choi
 
How to develop a CSS Framework
Olivier Besson
 
Building a Successful Internal Adversarial Simulation Team - Chris Gates & Ch...
Chris Gates
 
Time to climb-- results of national study of disadvantaged entrepreneurs ...
Richard Swart, PhD
 
Home Arcade setup (NoVA Hackers)
Chris Gates
 
Ako na rýchly web - WordCamp Žilina 2016 - xKatka
Katarina Novotna
 
Customize Your WordPress Theme the Right Way
Dustin Hartzler
 
The power of a video library
Lauren Jeffcoat
 
Ad

Similar to How Testing Changed My Life (20)

PPT
Getting Started with Test-Driven Development at Midwest PHP 2021
Scott Keck-Warren
 
PDF
Intro to PHP Testing
Ran Mizrahi
 
PDF
Unit testing for WordPress
Harshad Mane
 
KEY
Developer testing 201: When to Mock and When to Integrate
LB Denker
 
ZIP
Test
Eddie Kao
 
KEY
Workshop quality assurance for php projects tek12
Michelangelo van Dam
 
PDF
The Testing Planet - July 2010
softwaretestingclub
 
PDF
WordPress Acceptance Testing, Solved!
Taylor Lovett
 
PDF
Ignite Talk Fun4paws
Mike Bailey
 
PPTX
Unit Testing Presentation
nicobn
 
PPTX
The StartUp Agency - A Case Study on CFPB
GovLoop
 
PPT
Unit testing
davidahaskins
 
PDF
Quality Assurance for PHP projects - ZendCon 2012
Michelangelo van Dam
 
PPT
Automated testing 101
Tabitha Chapman
 
PDF
Spooky WordPress: Disturbingly Brilliant Uses of WP
Brad Williams
 
PPTX
Continuous feature-development
nhm taveer hossain khan
 
PDF
Effizientere WordPress-Plugin-Entwicklung mit Softwaretests
DECK36
 
PDF
WC Porto - Testing the WordPress Waters_ A quick dive into plugin integration...
coquardcyr
 
PDF
Django Testing
ericholscher
 
PDF
How to not blow up spaceships
Sabin Marcu
 
Getting Started with Test-Driven Development at Midwest PHP 2021
Scott Keck-Warren
 
Intro to PHP Testing
Ran Mizrahi
 
Unit testing for WordPress
Harshad Mane
 
Developer testing 201: When to Mock and When to Integrate
LB Denker
 
Test
Eddie Kao
 
Workshop quality assurance for php projects tek12
Michelangelo van Dam
 
The Testing Planet - July 2010
softwaretestingclub
 
WordPress Acceptance Testing, Solved!
Taylor Lovett
 
Ignite Talk Fun4paws
Mike Bailey
 
Unit Testing Presentation
nicobn
 
The StartUp Agency - A Case Study on CFPB
GovLoop
 
Unit testing
davidahaskins
 
Quality Assurance for PHP projects - ZendCon 2012
Michelangelo van Dam
 
Automated testing 101
Tabitha Chapman
 
Spooky WordPress: Disturbingly Brilliant Uses of WP
Brad Williams
 
Continuous feature-development
nhm taveer hossain khan
 
Effizientere WordPress-Plugin-Entwicklung mit Softwaretests
DECK36
 
WC Porto - Testing the WordPress Waters_ A quick dive into plugin integration...
coquardcyr
 
Django Testing
ericholscher
 
How to not blow up spaceships
Sabin Marcu
 
Ad

More from Nikolay Bachiyski (6)

PDF
3 урока от WordPress.com
Nikolay Bachiyski
 
PDF
Пет неща, които всеки програмист трябва да знае
Nikolay Bachiyski
 
KEY
What is (not) WordPress
Nikolay Bachiyski
 
PDF
WordPress 2.8 и отвъд
Nikolay Bachiyski
 
PDF
Щастливият програмист
Nikolay Bachiyski
 
PDF
За WordPress и Automattic
Nikolay Bachiyski
 
3 урока от WordPress.com
Nikolay Bachiyski
 
Пет неща, които всеки програмист трябва да знае
Nikolay Bachiyski
 
What is (not) WordPress
Nikolay Bachiyski
 
WordPress 2.8 и отвъд
Nikolay Bachiyski
 
Щастливият програмист
Nikolay Bachiyski
 
За WordPress и Automattic
Nikolay Bachiyski
 

Recently uploaded (20)

PDF
Research-Fundamentals-and-Topic-Development.pdf
ayesha butalia
 
PDF
introduction to computer hardware and sofeware
chauhanshraddha2007
 
PDF
How ETL Control Logic Keeps Your Pipelines Safe and Reliable.pdf
Stryv Solutions Pvt. Ltd.
 
PPTX
The Future of AI & Machine Learning.pptx
pritsen4700
 
PPTX
Dev Dives: Automate, test, and deploy in one place—with Unified Developer Exp...
AndreeaTom
 
PPTX
Introduction to Flutter by Ayush Desai.pptx
ayushdesai204
 
PDF
MASTERDECK GRAPHSUMMIT SYDNEY (Public).pdf
Neo4j
 
PDF
TrustArc Webinar - Navigating Data Privacy in LATAM: Laws, Trends, and Compli...
TrustArc
 
PDF
AI Unleashed - Shaping the Future -Starting Today - AIOUG Yatra 2025 - For Co...
Sandesh Rao
 
PPTX
What-is-the-World-Wide-Web -- Introduction
tonifi9488
 
PDF
NewMind AI Weekly Chronicles – July’25, Week III
NewMind AI
 
PPTX
cloud computing vai.pptx for the project
vaibhavdobariyal79
 
PDF
Economic Impact of Data Centres to the Malaysian Economy
flintglobalapac
 
PPTX
OA presentation.pptx OA presentation.pptx
pateldhruv002338
 
PDF
Trying to figure out MCP by actually building an app from scratch with open s...
Julien SIMON
 
PDF
Peak of Data & AI Encore - Real-Time Insights & Scalable Editing with ArcGIS
Safe Software
 
PDF
Market Insight : ETH Dominance Returns
CIFDAQ
 
PPTX
Farrell_Programming Logic and Design slides_10e_ch02_PowerPoint.pptx
bashnahara11
 
PDF
Brief History of Internet - Early Days of Internet
sutharharshit158
 
PDF
How Open Source Changed My Career by abdelrahman ismail
a0m0rajab1
 
Research-Fundamentals-and-Topic-Development.pdf
ayesha butalia
 
introduction to computer hardware and sofeware
chauhanshraddha2007
 
How ETL Control Logic Keeps Your Pipelines Safe and Reliable.pdf
Stryv Solutions Pvt. Ltd.
 
The Future of AI & Machine Learning.pptx
pritsen4700
 
Dev Dives: Automate, test, and deploy in one place—with Unified Developer Exp...
AndreeaTom
 
Introduction to Flutter by Ayush Desai.pptx
ayushdesai204
 
MASTERDECK GRAPHSUMMIT SYDNEY (Public).pdf
Neo4j
 
TrustArc Webinar - Navigating Data Privacy in LATAM: Laws, Trends, and Compli...
TrustArc
 
AI Unleashed - Shaping the Future -Starting Today - AIOUG Yatra 2025 - For Co...
Sandesh Rao
 
What-is-the-World-Wide-Web -- Introduction
tonifi9488
 
NewMind AI Weekly Chronicles – July’25, Week III
NewMind AI
 
cloud computing vai.pptx for the project
vaibhavdobariyal79
 
Economic Impact of Data Centres to the Malaysian Economy
flintglobalapac
 
OA presentation.pptx OA presentation.pptx
pateldhruv002338
 
Trying to figure out MCP by actually building an app from scratch with open s...
Julien SIMON
 
Peak of Data & AI Encore - Real-Time Insights & Scalable Editing with ArcGIS
Safe Software
 
Market Insight : ETH Dominance Returns
CIFDAQ
 
Farrell_Programming Logic and Design slides_10e_ch02_PowerPoint.pptx
bashnahara11
 
Brief History of Internet - Early Days of Internet
sutharharshit158
 
How Open Source Changed My Career by abdelrahman ismail
a0m0rajab1
 

How Testing Changed My Life