SlideShare ist ein Scribd-Unternehmen logo
1 von 68
Automated Testing 101
By Tabby Chapman
@tabbymarie
http://www.tabbychapman.com
1
About Tabby Chapman
@tabbymarie
https://github.com/tabbymarie
2
About Me
• Work for the University of California, Irvine
• Computer Scientist
• Developer Cheerleader
• Education Junkie
3
About Me
• WordPress Skillz
– Reaching my 10th anniversary developing
with WordPress
– Started with 2.0.5, building a custom theme.
– Ran my own company for four years
– Joined Zeek for almost two years
– Currently build highly specialized custom
themes and plugins for UCI.
4
About This Presentation
• Geared towards intermediate QA testers
and Developers and also for
stakeholders/clients/customers
• Assumptions:
– You know what WordPress is.
– You know what PHP is.
– You have written PHP code several times.
Successfully. Or.
– You test all the things.
5
About This Presentation
• We’ll go over
– The Developer Workflow(s)
– Different Types of Tests
– Automated Testing
– Demo
– Last Words
6
How it Currently Works
7
• Generic Software Development Lifecycle
– In the dinosaur days of computers, the
majority of its users were very technical
people.
– As computers became more accessible (and
smaller), more and more users began to use it
– Developers needed to create a process to
think outside of their own processes to
accommodate non-technical users
How it Currently Works
8
• Generic Software Development Lifecycle
(cont)
– Many various methods were created to
attempt to meet this need
– One of these is the Software Development
Lifecycle (which was a similar process used in
other disciplines)
– It is a top down approach: generic to specific
– Specification, Design, Coding
How it Currently Works
9
• Generic Software Development Lifecycle
(cont)
– Waterfall method is created in the ‘70s.
– Structured analysis, Structured design,
Structured programming (sounds a lot like
specification, design, and coding)
– Most developers tend to use Define, Design,
Develop, Deploy, Maintain.
Generic Modern Development
10
Image credit: https://www.owasp.org/images/8/84/SDLC.jpg
Freelance Development Cycle
11
Image credit: http://mohamadsubhan.files.wordpress.com/2009/06/linear.jpg
How it Currently Works
12
• Full Software Development Lifecycle
– Many developers on teams tend to use some
form of the full development lifecycle, as there
tends to need to be some form of
accountability for teams.
– This includes: feasibility study, requirements
definition, software design, implementation
and unit testing, integration and system
testing, operation and maintenance.
Team Development Cycle
13
Image credit: http://www.softwaretestinghelp.com/unit-testing/
Types of Tests
• Black box
• White box
• Unit
• Integration
• Functional
• System
• End-to-end
• Sanity
• Regression
• Acceptance
• Load
• Stress
• Performance
• Usability
14
Source: http://www.softwaretestinghelp.com/types-of-software-testing/
Testing Players
15
• Quality Assurance (QA) Engineers
• Developers
• Product Owners
• Clients
• End-Users
• Other Stakeholders
Black Box Testing?
16
Black Box Testing
17
• Tests against requirements and
functionality. Is not concerned with the
internal workings.
• “If I put in 2+4, I expect 6. Does that
work?”
White Box Testing?
18
White Box
19
• Tests against requirements and
functionality with knowledge of the inner
workings.
• “I know that I this system has these
conditionals, so I will test all possible
outcomes.”
Unit Testing?
20
Unit Testing
21
• Tests specific methods or functions,
created by a programmer
• “Does function
addTwoIntegers($num1,$num2) work as
expected?”
Integration Testing?
22
Integration Testing
23
• Testing of whole application after new
work has been integrated as they interact
with the client/server
• “Does this site’s individual modules still
work as expected when we put it all
together?”
Functional Testing?
24
Functional Testing
25
• Black Box testing for specific functional
requirements.
• “If I tell it to add five text inputs and send
an email, does it add five inputs and send
an email as expected?”
Systems Testing
26
• Black Box Testing based on overall
requirements.
• “Testing All the Things”. “Does this system
meet all of the requirements as
expected?”
End-to-end Testing
27
• Similar to Systems, but also tests
interaction between various elements,
protocols, layers and servers.
• “Testing All the Things and Moar”. “Does
this system meet all of the requirements
as expected and communicate as
expected to its various parts?”
Sanity Testing
28
• A pre-test to make sure the new
development is done enough to fully test.
• “Does it at least work a little bit?”
Regression Testing
29
• Testing the whole application after
something has been modified to see if
something was broken as a result of the
modification.
• “Does it STILL work as expected?”
Acceptance Testing
30
• User or Customer does a round of manual
tests to make sure that it meets their
requirements/needs
• “Does the client think it works as
expected?”
Stress Testing
31
• Testing Performance Requirements
• “Can more than one interaction happen at
the same time? How many more than
one?”
Usability Testing
32
• Testing for user-friendliness. This can be
done BEFORE and AFTER development
phase.
• “Yeah, it works, but is it easy to use?”
Which testing is important for
developers?
33
Which testing is important for
developers?
• Black box
• White box
• Unit
• Integration
• Functional
• System
• End-to-end
• Sanity
• Regression
• Acceptance
• Load
• Stress
• Performance
• Usability
34
Source: http://www.softwaretestinghelp.com/types-of-software-testing/
For the Developers
35
• Which testing is important for developers?
– All of them (know thy tester and thy tester’s
methods)
– But especially
• Unit
• Functional
• Systems
• Integration
Which testing is important for
testers?
36
Which testing is important for testers?
• Black box
• White box
• Unit
• Integration
• Functional
• System
• End-to-end
• Sanity
• Regression
• Acceptance
• Load
• Stress
• Performance
• Usability
37
Source: http://www.softwaretestinghelp.com/types-of-software-testing/
For the Testers
38
• Which testing is important for testers?
– All of them (uphold they developer to unit
tests)
– But especially
• Black Box
• White Box
• Integration
• Systems
• Sanity
Which testing is important for
Clients/Stakeholders?
39
Which testing is important for
Clients/Stakeholders?
• Black box
• White box
• Unit
• Integration
• Functional
• System
• End-to-end
• Sanity
• Regression
• Acceptance
• Load
• Stress
• Performance
• Usability
40
Source: http://www.softwaretestinghelp.com/types-of-software-testing/
For the Clients/Stakeholders
41
• Which testing is important for
clients/stakeholders?
• Black Box
• Usability
• Regression
• Acceptance
For the Clients/Stakeholders
42
• Which testing is important for
clients/stakeholders?
• Black Box
• Usability
• Regression
• Acceptance
What does Automation of
Testing mean?
43
What does Automation of Testing
mean?
44
• The traditional/easiest way to test what
you develop is to make a change, and
then load the app to see if that change
was effective. Very Manual
• Automated Testing means to write code to
test code and use testing software to test
the front-end. Don’t rely on the old manual
check.
How does this apply to WordPress?
45
• WordPress utilizes a ‘test suite’ “which
have multiple test cases and a library and
command line tool that runs the test suite
or suites” according to WordPress’
automated testing core handbook page
• For this, they use phpUnit.
https://phpunit.de
How does this apply to WordPress?
46
• PHPUnit has a series of commands that
you can use to run all tests, specific tests,
or specific types of tests.
Developer Workflow
47
• When you are ready to write your plugin:
– Think of the outcomes you want for your
plugin
– Think of the individual methods you want to
write. Should have one output.
– Write a test that checks that the output is what
you expect.
– Write your method.
– Lather. Rinse. Repeat.
Developer Workflow
48
• Testing Tools
• phpUnit (official wordpress test suite)
• WordPress Developer Branch
– https://make.wordpress.org/core/handbook/automa
• Terminal or Editor with Testing Integrated
Developer Workflow
49
Editors (not limited to…)
– TextMate - https://macromates.com/download
• (https://github.com/meritt/phpunit-tmbundle)
– Sublime – http://www.sublimetext.com/
• https://packagecontrol.io/packages/PHPUnit
– phpStorm -
https://www.jetbrains.com/phpstorm/
• Supports all OS’
• Phpunit built in
Developer Workflow
50
• Put your tests IN your plugin
• /plugins/[plugindir]/tests/test-
[pluginslug].php
• Add a phpunit.xml file:
• /plugins/[plugindir]/tests/phpunit.xml
Developer Workflow
phpunit.xml
51
<?xml version=“1.0” encoding=“UTF-8” ?>
<phpunit bootstrap=“vendor/autoload.php” >
<testsuites>
<testsuite>
<directory prefix="test-”
suffix=".php">
./tests/
</directory>
</testsuite>
</testsuites>
</phpunit>
Developer Workflow
phpunit.xml
52
<?xml version=“1.0” encoding=“UTF-8” ?>
<phpunit bootstrap=“vendor/autoload.php” >
<testsuites>
<testsuite>
<directory prefix="test-”
suffix=".php">
./tests/
</directory>
</testsuite>
</testsuites>
</phpunit>
Developer Workflow
phpunit.xml
53
<?xml version=“1.0” encoding=“UTF-8” ?>
<phpunit bootstrap=“vendor/autoload.php” >
<testsuites>
<testsuite>
<directory prefix="test-”
suffix=".php">
./tests/
</directory>
</testsuite>
</testsuites>
</phpunit>
Developer Workflow
phpunit.xml
54
<?xml version=“1.0” encoding=“UTF-8” ?>
<phpunit bootstrap=“vendor/autoload.php” >
<testsuites>
<testsuite>
<directory prefix="test-”
suffix=".php">
./tests/
</directory>
</testsuite>
</testsuites>
</phpunit>
Tester Workflow
55
• When you are ready to test
– Be familiar with the general requirements for
the site as a whole
– Read the requirements of the change request
– Focus on specifically what is supposed to
have changed.
– Write a test while waiting for the change.
– Run the test once you get the change from
the developer
Tester Workflow
56
• Selenium IDE, Firefox Plugin
– http://www.seleniumhq.org/download/
• Browser Specific
– Chrome
https://sites.google.com/a/chromium.org/chromed
– Safari
http://selenium-release.storage.googleapis.com/2
Tester Workflow
57
• Selenium
– Installationhttp
://geekpad.ca/blog/post/automating-browser-testi
• First you must download the Selenium server and
the Internet Explorer Server from
http://docs.seleniumhq.org/download/
• Then you must download the Chrome server from
http://chromedriver.storage.googleapis.com/index
.html
Tester Workflow
58
• Selenium
– Installation (continued)
• You do not need to download a Firefox driver
since it’s builtin the main Selenium file.
• Once all files have been downloaded you must
add your selenium folder to your existing path see
http://www.java.com/en/download/help/path.xml
• Then you can launch the server using java. With
something that looks like this
– Mac - java -jar selenium-server-standalone-[version].jar
Tester Workflow
59
Why is Selenium cool?
•Records your actions
•Let’s you test expected outcomes
•Let’s you test them in a series
Tester Workflow
60
Example
•The developer was given a task to make
sure that all instances of the word “Orange
County” is replaced with the word “OC” on
the website, for “legal reasons”.
•Demo
Jenkins
61
Jenkins
62
• Jenkins is an award-winning application
that monitors executions of repeated jobs,
such as building a software project or jobs
run by cron. Among those things, current
Jenkins focuses on the following two jobs:
– Building/testing software projects continuously
– Monitoring executions of externally-run jobs
https://wiki.jenkins-ci.org/display/JENKINS/Meet+Jenkins
Jenkins
63
Jenkins
64
Questions?
65
Resources
• http://www.dcs.bbk.ac.uk/~sven/cdm06/cdm3.
• https://unit-tests.trac.wordpress.org/
• http://www.slideshare.net/ptahdunbar/automat
• http://johnregan3.co/2013/08/13/why-you-need
• http://blog.aizatto.com/2010/05/15/beginni
ng-wordpress-automated-testing/
66
Resources
• https://www.owasp.org/index.php/Testing_
Guide_Introduction
• https://make.wordpress.org/core/handboo
k/automated-testing/
• http://stackoverflow.com/questions/224141
34/different-types-of-testing-eg-unit-
functional-integration-etc-document
67
Resources
• http://www.seleniumhq.org/
• http://geekpad.ca/blog/post/automating-browser-
testing-with-phpunit-and-selenium
• https://wiki.jenkins-
ci.org/display/JENKINS/Meet+Jenkins
• https://wiki.jenkins-
ci.org/display/JENKINS/Installing+Jenkins
68

Weitere ähnliche Inhalte

Was ist angesagt?

It Takes a Village to Make WordPress
It Takes a Village to Make WordPressIt Takes a Village to Make WordPress
It Takes a Village to Make WordPressDrewAPicture
 
Handling Many Platforms with a Small Development Team
Handling Many Platforms with a Small Development TeamHandling Many Platforms with a Small Development Team
Handling Many Platforms with a Small Development TeamDietmar Hauser
 
Saving Time By Testing With Jest
Saving Time By Testing With JestSaving Time By Testing With Jest
Saving Time By Testing With JestBen McCormick
 
Goodbye Flash, Hello OpenFL: Next Generation Cross-Platform Game Development
Goodbye Flash, Hello OpenFL: Next Generation Cross-Platform Game Development Goodbye Flash, Hello OpenFL: Next Generation Cross-Platform Game Development
Goodbye Flash, Hello OpenFL: Next Generation Cross-Platform Game Development Jessica Tams
 
Oscp - Journey
Oscp - JourneyOscp - Journey
Oscp - JourneyVandana Verma
 
Apache contribution-bar camp-colombo
Apache contribution-bar camp-colomboApache contribution-bar camp-colombo
Apache contribution-bar camp-colomboSagara Gunathunga
 
BSides Rochester 2018: Justin Moore: Automated HTTP Request Repeating With Bu...
BSides Rochester 2018: Justin Moore: Automated HTTP Request Repeating With Bu...BSides Rochester 2018: Justin Moore: Automated HTTP Request Repeating With Bu...
BSides Rochester 2018: Justin Moore: Automated HTTP Request Repeating With Bu...JosephTesta9
 
Notes From Velocity Conference Europe
Notes From Velocity Conference EuropeNotes From Velocity Conference Europe
Notes From Velocity Conference EuropeSiriusWay
 
WordPress Media in a post-Koop Universe
WordPress Media in a post-Koop UniverseWordPress Media in a post-Koop Universe
WordPress Media in a post-Koop UniverseScott Taylor
 
Selenium 101 Webinar
Selenium 101 WebinarSelenium 101 Webinar
Selenium 101 WebinarDaniel Herken
 
Python to go
Python to goPython to go
Python to goWeng Wei
 
A Crowd-Powered Conversational Assistant That Automates Itself Over Time
A Crowd-Powered Conversational Assistant That Automates Itself Over TimeA Crowd-Powered Conversational Assistant That Automates Itself Over Time
A Crowd-Powered Conversational Assistant That Automates Itself Over TimeTing-Hao Huang
 
STAQ Development Manual (Redacted)
STAQ Development Manual (Redacted)STAQ Development Manual (Redacted)
STAQ Development Manual (Redacted)Mike Subelsky
 
On premise cross-browser testing
On premise cross-browser testingOn premise cross-browser testing
On premise cross-browser testingDaniel Herken
 
Case study
Case studyCase study
Case studykaran saini
 
My Little Webap - DevOpsSec is Magic
My Little Webap - DevOpsSec is MagicMy Little Webap - DevOpsSec is Magic
My Little Webap - DevOpsSec is MagicApollo Clark
 

Was ist angesagt? (16)

It Takes a Village to Make WordPress
It Takes a Village to Make WordPressIt Takes a Village to Make WordPress
It Takes a Village to Make WordPress
 
Handling Many Platforms with a Small Development Team
Handling Many Platforms with a Small Development TeamHandling Many Platforms with a Small Development Team
Handling Many Platforms with a Small Development Team
 
Saving Time By Testing With Jest
Saving Time By Testing With JestSaving Time By Testing With Jest
Saving Time By Testing With Jest
 
Goodbye Flash, Hello OpenFL: Next Generation Cross-Platform Game Development
Goodbye Flash, Hello OpenFL: Next Generation Cross-Platform Game Development Goodbye Flash, Hello OpenFL: Next Generation Cross-Platform Game Development
Goodbye Flash, Hello OpenFL: Next Generation Cross-Platform Game Development
 
Oscp - Journey
Oscp - JourneyOscp - Journey
Oscp - Journey
 
Apache contribution-bar camp-colombo
Apache contribution-bar camp-colomboApache contribution-bar camp-colombo
Apache contribution-bar camp-colombo
 
BSides Rochester 2018: Justin Moore: Automated HTTP Request Repeating With Bu...
BSides Rochester 2018: Justin Moore: Automated HTTP Request Repeating With Bu...BSides Rochester 2018: Justin Moore: Automated HTTP Request Repeating With Bu...
BSides Rochester 2018: Justin Moore: Automated HTTP Request Repeating With Bu...
 
Notes From Velocity Conference Europe
Notes From Velocity Conference EuropeNotes From Velocity Conference Europe
Notes From Velocity Conference Europe
 
WordPress Media in a post-Koop Universe
WordPress Media in a post-Koop UniverseWordPress Media in a post-Koop Universe
WordPress Media in a post-Koop Universe
 
Selenium 101 Webinar
Selenium 101 WebinarSelenium 101 Webinar
Selenium 101 Webinar
 
Python to go
Python to goPython to go
Python to go
 
A Crowd-Powered Conversational Assistant That Automates Itself Over Time
A Crowd-Powered Conversational Assistant That Automates Itself Over TimeA Crowd-Powered Conversational Assistant That Automates Itself Over Time
A Crowd-Powered Conversational Assistant That Automates Itself Over Time
 
STAQ Development Manual (Redacted)
STAQ Development Manual (Redacted)STAQ Development Manual (Redacted)
STAQ Development Manual (Redacted)
 
On premise cross-browser testing
On premise cross-browser testingOn premise cross-browser testing
On premise cross-browser testing
 
Case study
Case studyCase study
Case study
 
My Little Webap - DevOpsSec is Magic
My Little Webap - DevOpsSec is MagicMy Little Webap - DevOpsSec is Magic
My Little Webap - DevOpsSec is Magic
 

Andere mochten auch

Automated Unit Testing
Automated Unit TestingAutomated Unit Testing
Automated Unit TestingMike Lively
 
Automated Testing in WordPress, Really?!
Automated Testing in WordPress, Really?!Automated Testing in WordPress, Really?!
Automated Testing in WordPress, Really?!Ptah Dunbar
 
Continuous Automated Testing - Cast conference workshop august 2014
Continuous Automated Testing - Cast conference workshop august 2014Continuous Automated Testing - Cast conference workshop august 2014
Continuous Automated Testing - Cast conference workshop august 2014Noah Sussman
 
Automated Testing & Auto Scaling your Apps with Microsoft & Open Source Techn...
Automated Testing & Auto Scaling your Apps with Microsoft & Open Source Techn...Automated Testing & Auto Scaling your Apps with Microsoft & Open Source Techn...
Automated Testing & Auto Scaling your Apps with Microsoft & Open Source Techn...Pranav Ainavolu
 
Advanced automated visual testing with Selenium
Advanced automated visual testing with SeleniumAdvanced automated visual testing with Selenium
Advanced automated visual testing with Seleniumadamcarmi
 
Selenium Based Visual Test Automation
Selenium Based Visual Test AutomationSelenium Based Visual Test Automation
Selenium Based Visual Test Automationadamcarmi
 
Testing as a container
Testing as a containerTesting as a container
Testing as a containerIrfan Ahmad
 
How to level-up your Selenium tests with Visual Testing #SeleniumCamp
How to level-up your Selenium tests with Visual Testing #SeleniumCampHow to level-up your Selenium tests with Visual Testing #SeleniumCamp
How to level-up your Selenium tests with Visual Testing #SeleniumCampmoshemilman
 
Automated Testing Environment by Bugzilla, Testopia and Jenkins
Automated Testing Environment by Bugzilla, Testopia and JenkinsAutomated Testing Environment by Bugzilla, Testopia and Jenkins
Automated Testing Environment by Bugzilla, Testopia and Jenkinswalkerchang
 
SeConf2015: Advanced Automated Visual Testing With Selenium
SeConf2015: Advanced Automated Visual Testing With SeleniumSeConf2015: Advanced Automated Visual Testing With Selenium
SeConf2015: Advanced Automated Visual Testing With Seleniumadamcarmi
 
Automated Testing with Agile
Automated Testing with AgileAutomated Testing with Agile
Automated Testing with AgileKen McCorkell
 
Automated Testing for Embedded Software in C or C++
Automated Testing for Embedded Software in C or C++Automated Testing for Embedded Software in C or C++
Automated Testing for Embedded Software in C or C++Lars Thorup
 
Selenium RC: Automated Testing of Modern Web Applications
Selenium RC: Automated Testing of Modern Web ApplicationsSelenium RC: Automated Testing of Modern Web Applications
Selenium RC: Automated Testing of Modern Web Applicationsqooxdoo
 
Automated Regression Testing for Embedded Systems in Action
Automated Regression Testing for Embedded Systems in ActionAutomated Regression Testing for Embedded Systems in Action
Automated Regression Testing for Embedded Systems in ActionAANDTech
 
Agile Testing Framework - The Art of Automated Testing
Agile Testing Framework - The Art of Automated TestingAgile Testing Framework - The Art of Automated Testing
Agile Testing Framework - The Art of Automated TestingDimitri Ponomareff
 
Top 10 sqa interview questions with answers
Top 10 sqa interview questions with answersTop 10 sqa interview questions with answers
Top 10 sqa interview questions with answersmeganc602
 
Automated Testing
Automated TestingAutomated Testing
Automated TestingJohn Paulett
 

Andere mochten auch (17)

Automated Unit Testing
Automated Unit TestingAutomated Unit Testing
Automated Unit Testing
 
Automated Testing in WordPress, Really?!
Automated Testing in WordPress, Really?!Automated Testing in WordPress, Really?!
Automated Testing in WordPress, Really?!
 
Continuous Automated Testing - Cast conference workshop august 2014
Continuous Automated Testing - Cast conference workshop august 2014Continuous Automated Testing - Cast conference workshop august 2014
Continuous Automated Testing - Cast conference workshop august 2014
 
Automated Testing & Auto Scaling your Apps with Microsoft & Open Source Techn...
Automated Testing & Auto Scaling your Apps with Microsoft & Open Source Techn...Automated Testing & Auto Scaling your Apps with Microsoft & Open Source Techn...
Automated Testing & Auto Scaling your Apps with Microsoft & Open Source Techn...
 
Advanced automated visual testing with Selenium
Advanced automated visual testing with SeleniumAdvanced automated visual testing with Selenium
Advanced automated visual testing with Selenium
 
Selenium Based Visual Test Automation
Selenium Based Visual Test AutomationSelenium Based Visual Test Automation
Selenium Based Visual Test Automation
 
Testing as a container
Testing as a containerTesting as a container
Testing as a container
 
How to level-up your Selenium tests with Visual Testing #SeleniumCamp
How to level-up your Selenium tests with Visual Testing #SeleniumCampHow to level-up your Selenium tests with Visual Testing #SeleniumCamp
How to level-up your Selenium tests with Visual Testing #SeleniumCamp
 
Automated Testing Environment by Bugzilla, Testopia and Jenkins
Automated Testing Environment by Bugzilla, Testopia and JenkinsAutomated Testing Environment by Bugzilla, Testopia and Jenkins
Automated Testing Environment by Bugzilla, Testopia and Jenkins
 
SeConf2015: Advanced Automated Visual Testing With Selenium
SeConf2015: Advanced Automated Visual Testing With SeleniumSeConf2015: Advanced Automated Visual Testing With Selenium
SeConf2015: Advanced Automated Visual Testing With Selenium
 
Automated Testing with Agile
Automated Testing with AgileAutomated Testing with Agile
Automated Testing with Agile
 
Automated Testing for Embedded Software in C or C++
Automated Testing for Embedded Software in C or C++Automated Testing for Embedded Software in C or C++
Automated Testing for Embedded Software in C or C++
 
Selenium RC: Automated Testing of Modern Web Applications
Selenium RC: Automated Testing of Modern Web ApplicationsSelenium RC: Automated Testing of Modern Web Applications
Selenium RC: Automated Testing of Modern Web Applications
 
Automated Regression Testing for Embedded Systems in Action
Automated Regression Testing for Embedded Systems in ActionAutomated Regression Testing for Embedded Systems in Action
Automated Regression Testing for Embedded Systems in Action
 
Agile Testing Framework - The Art of Automated Testing
Agile Testing Framework - The Art of Automated TestingAgile Testing Framework - The Art of Automated Testing
Agile Testing Framework - The Art of Automated Testing
 
Top 10 sqa interview questions with answers
Top 10 sqa interview questions with answersTop 10 sqa interview questions with answers
Top 10 sqa interview questions with answers
 
Automated Testing
Automated TestingAutomated Testing
Automated Testing
 

Ähnlich wie Automated testing 101

SOFTWARE TESTING W1_watermark.pdf
SOFTWARE TESTING W1_watermark.pdfSOFTWARE TESTING W1_watermark.pdf
SOFTWARE TESTING W1_watermark.pdfShubhamSingh606946
 
Software Engineering (Testing Overview)
Software Engineering (Testing Overview)Software Engineering (Testing Overview)
Software Engineering (Testing Overview)ShudipPal
 
Salesforce Continuous Integration with AutoRABIT
Salesforce Continuous Integration with AutoRABITSalesforce Continuous Integration with AutoRABIT
Salesforce Continuous Integration with AutoRABITVishnu Raju Datla
 
Context Driven Automation Gtac 2008
Context Driven Automation Gtac 2008Context Driven Automation Gtac 2008
Context Driven Automation Gtac 2008Pete Schneider
 
KrishnaToolComparisionPPT.pdf
KrishnaToolComparisionPPT.pdfKrishnaToolComparisionPPT.pdf
KrishnaToolComparisionPPT.pdfQA or the Highway
 
Load Testing: See a Bigger Picture, ALM Forum, 2014
Load Testing: See a Bigger Picture, ALM Forum, 2014Load Testing: See a Bigger Picture, ALM Forum, 2014
Load Testing: See a Bigger Picture, ALM Forum, 2014Alexander Podelko
 
SOFTWARE TESTING W4_watermark.pdf
SOFTWARE TESTING W4_watermark.pdfSOFTWARE TESTING W4_watermark.pdf
SOFTWARE TESTING W4_watermark.pdfGayathriRHICETCSESTA
 
Software Project Management lecture 10
Software Project Management lecture 10Software Project Management lecture 10
Software Project Management lecture 10Syed Muhammad Hammad
 
The QA/Testing Process
The QA/Testing ProcessThe QA/Testing Process
The QA/Testing ProcessSynerzip
 
2 approaches to system development
2 approaches to system development2 approaches to system development
2 approaches to system developmentcymark09
 
testing strategies and tactics
 testing strategies and tactics testing strategies and tactics
testing strategies and tacticsPreeti Mishra
 
Continuous testing in agile projects 2015
Continuous testing in agile projects 2015Continuous testing in agile projects 2015
Continuous testing in agile projects 2015Fabricio Epaminondas
 
5 Steps to Jump Start Your Test Automation
5 Steps to Jump Start Your Test Automation5 Steps to Jump Start Your Test Automation
5 Steps to Jump Start Your Test AutomationSauce Labs
 
Introduction To Testing by enosislearning.com
Introduction To Testing by enosislearning.com Introduction To Testing by enosislearning.com
Introduction To Testing by enosislearning.com enosislearningcom
 
Chapter 13 software testing strategies
Chapter 13 software testing strategiesChapter 13 software testing strategies
Chapter 13 software testing strategiesSHREEHARI WADAWADAGI
 
Software testing-and-analysis
Software testing-and-analysisSoftware testing-and-analysis
Software testing-and-analysisWBUTTUTORIALS
 
No Devops Without Continuous Testing
No Devops Without Continuous TestingNo Devops Without Continuous Testing
No Devops Without Continuous TestingParasoft
 
Automating testing with open source tools (1)
Automating testing with open source tools (1)Automating testing with open source tools (1)
Automating testing with open source tools (1)Rohit Biradar
 

Ähnlich wie Automated testing 101 (20)

SOFTWARE TESTING W1_watermark.pdf
SOFTWARE TESTING W1_watermark.pdfSOFTWARE TESTING W1_watermark.pdf
SOFTWARE TESTING W1_watermark.pdf
 
Software Engineering (Testing Overview)
Software Engineering (Testing Overview)Software Engineering (Testing Overview)
Software Engineering (Testing Overview)
 
Pm 6 testing
Pm 6 testingPm 6 testing
Pm 6 testing
 
Pm 6 testing
Pm 6 testingPm 6 testing
Pm 6 testing
 
Salesforce Continuous Integration with AutoRABIT
Salesforce Continuous Integration with AutoRABITSalesforce Continuous Integration with AutoRABIT
Salesforce Continuous Integration with AutoRABIT
 
Context Driven Automation Gtac 2008
Context Driven Automation Gtac 2008Context Driven Automation Gtac 2008
Context Driven Automation Gtac 2008
 
KrishnaToolComparisionPPT.pdf
KrishnaToolComparisionPPT.pdfKrishnaToolComparisionPPT.pdf
KrishnaToolComparisionPPT.pdf
 
Load Testing: See a Bigger Picture, ALM Forum, 2014
Load Testing: See a Bigger Picture, ALM Forum, 2014Load Testing: See a Bigger Picture, ALM Forum, 2014
Load Testing: See a Bigger Picture, ALM Forum, 2014
 
SOFTWARE TESTING W4_watermark.pdf
SOFTWARE TESTING W4_watermark.pdfSOFTWARE TESTING W4_watermark.pdf
SOFTWARE TESTING W4_watermark.pdf
 
Software Project Management lecture 10
Software Project Management lecture 10Software Project Management lecture 10
Software Project Management lecture 10
 
The QA/Testing Process
The QA/Testing ProcessThe QA/Testing Process
The QA/Testing Process
 
2 approaches to system development
2 approaches to system development2 approaches to system development
2 approaches to system development
 
testing strategies and tactics
 testing strategies and tactics testing strategies and tactics
testing strategies and tactics
 
Continuous testing in agile projects 2015
Continuous testing in agile projects 2015Continuous testing in agile projects 2015
Continuous testing in agile projects 2015
 
5 Steps to Jump Start Your Test Automation
5 Steps to Jump Start Your Test Automation5 Steps to Jump Start Your Test Automation
5 Steps to Jump Start Your Test Automation
 
Introduction To Testing by enosislearning.com
Introduction To Testing by enosislearning.com Introduction To Testing by enosislearning.com
Introduction To Testing by enosislearning.com
 
Chapter 13 software testing strategies
Chapter 13 software testing strategiesChapter 13 software testing strategies
Chapter 13 software testing strategies
 
Software testing-and-analysis
Software testing-and-analysisSoftware testing-and-analysis
Software testing-and-analysis
 
No Devops Without Continuous Testing
No Devops Without Continuous TestingNo Devops Without Continuous Testing
No Devops Without Continuous Testing
 
Automating testing with open source tools (1)
Automating testing with open source tools (1)Automating testing with open source tools (1)
Automating testing with open source tools (1)
 

KĂźrzlich hochgeladen

W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...panagenda
 
Active Directory Penetration Testing, cionsystems.com.pdf
Active Directory Penetration Testing, cionsystems.com.pdfActive Directory Penetration Testing, cionsystems.com.pdf
Active Directory Penetration Testing, cionsystems.com.pdfCionsystems
 
Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software DevelopersVinodh Ram
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxComplianceQuest1
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantAxelRicardoTrocheRiq
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...MyIntelliSource, Inc.
 
How To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsHow To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsAndolasoft Inc
 
Clustering techniques data mining book ....
Clustering techniques data mining book ....Clustering techniques data mining book ....
Clustering techniques data mining book ....ShaimaaMohamedGalal
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️Delhi Call girls
 
DNT_Corporate presentation know about us
DNT_Corporate presentation know about usDNT_Corporate presentation know about us
DNT_Corporate presentation know about usDynamic Netsoft
 
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...OnePlan Solutions
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerThousandEyes
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...kellynguyen01
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVshikhaohhpro
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...gurkirankumar98700
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsJhone kinadey
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...ICS
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdfWave PLM
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Modelsaagamshah0812
 

KĂźrzlich hochgeladen (20)

W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
 
Active Directory Penetration Testing, cionsystems.com.pdf
Active Directory Penetration Testing, cionsystems.com.pdfActive Directory Penetration Testing, cionsystems.com.pdf
Active Directory Penetration Testing, cionsystems.com.pdf
 
Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software Developers
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docx
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service Consultant
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
 
How To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsHow To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.js
 
Clustering techniques data mining book ....
Clustering techniques data mining book ....Clustering techniques data mining book ....
Clustering techniques data mining book ....
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
DNT_Corporate presentation know about us
DNT_Corporate presentation know about usDNT_Corporate presentation know about us
DNT_Corporate presentation know about us
 
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
 
Exploring iOS App Development: Simplifying the Process
Exploring iOS App Development: Simplifying the ProcessExploring iOS App Development: Simplifying the Process
Exploring iOS App Development: Simplifying the Process
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTV
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial Goals
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Models
 

Automated testing 101

  • 1. Automated Testing 101 By Tabby Chapman @tabbymarie http://www.tabbychapman.com 1
  • 3. About Me • Work for the University of California, Irvine • Computer Scientist • Developer Cheerleader • Education Junkie 3
  • 4. About Me • WordPress Skillz – Reaching my 10th anniversary developing with WordPress – Started with 2.0.5, building a custom theme. – Ran my own company for four years – Joined Zeek for almost two years – Currently build highly specialized custom themes and plugins for UCI. 4
  • 5. About This Presentation • Geared towards intermediate QA testers and Developers and also for stakeholders/clients/customers • Assumptions: – You know what WordPress is. – You know what PHP is. – You have written PHP code several times. Successfully. Or. – You test all the things. 5
  • 6. About This Presentation • We’ll go over – The Developer Workflow(s) – Different Types of Tests – Automated Testing – Demo – Last Words 6
  • 7. How it Currently Works 7 • Generic Software Development Lifecycle – In the dinosaur days of computers, the majority of its users were very technical people. – As computers became more accessible (and smaller), more and more users began to use it – Developers needed to create a process to think outside of their own processes to accommodate non-technical users
  • 8. How it Currently Works 8 • Generic Software Development Lifecycle (cont) – Many various methods were created to attempt to meet this need – One of these is the Software Development Lifecycle (which was a similar process used in other disciplines) – It is a top down approach: generic to specific – Specification, Design, Coding
  • 9. How it Currently Works 9 • Generic Software Development Lifecycle (cont) – Waterfall method is created in the ‘70s. – Structured analysis, Structured design, Structured programming (sounds a lot like specification, design, and coding) – Most developers tend to use Define, Design, Develop, Deploy, Maintain.
  • 10. Generic Modern Development 10 Image credit: https://www.owasp.org/images/8/84/SDLC.jpg
  • 11. Freelance Development Cycle 11 Image credit: http://mohamadsubhan.files.wordpress.com/2009/06/linear.jpg
  • 12. How it Currently Works 12 • Full Software Development Lifecycle – Many developers on teams tend to use some form of the full development lifecycle, as there tends to need to be some form of accountability for teams. – This includes: feasibility study, requirements definition, software design, implementation and unit testing, integration and system testing, operation and maintenance.
  • 13. Team Development Cycle 13 Image credit: http://www.softwaretestinghelp.com/unit-testing/
  • 14. Types of Tests • Black box • White box • Unit • Integration • Functional • System • End-to-end • Sanity • Regression • Acceptance • Load • Stress • Performance • Usability 14 Source: http://www.softwaretestinghelp.com/types-of-software-testing/
  • 15. Testing Players 15 • Quality Assurance (QA) Engineers • Developers • Product Owners • Clients • End-Users • Other Stakeholders
  • 17. Black Box Testing 17 • Tests against requirements and functionality. Is not concerned with the internal workings. • “If I put in 2+4, I expect 6. Does that work?”
  • 19. White Box 19 • Tests against requirements and functionality with knowledge of the inner workings. • “I know that I this system has these conditionals, so I will test all possible outcomes.”
  • 21. Unit Testing 21 • Tests specific methods or functions, created by a programmer • “Does function addTwoIntegers($num1,$num2) work as expected?”
  • 23. Integration Testing 23 • Testing of whole application after new work has been integrated as they interact with the client/server • “Does this site’s individual modules still work as expected when we put it all together?”
  • 25. Functional Testing 25 • Black Box testing for specific functional requirements. • “If I tell it to add five text inputs and send an email, does it add five inputs and send an email as expected?”
  • 26. Systems Testing 26 • Black Box Testing based on overall requirements. • “Testing All the Things”. “Does this system meet all of the requirements as expected?”
  • 27. End-to-end Testing 27 • Similar to Systems, but also tests interaction between various elements, protocols, layers and servers. • “Testing All the Things and Moar”. “Does this system meet all of the requirements as expected and communicate as expected to its various parts?”
  • 28. Sanity Testing 28 • A pre-test to make sure the new development is done enough to fully test. • “Does it at least work a little bit?”
  • 29. Regression Testing 29 • Testing the whole application after something has been modified to see if something was broken as a result of the modification. • “Does it STILL work as expected?”
  • 30. Acceptance Testing 30 • User or Customer does a round of manual tests to make sure that it meets their requirements/needs • “Does the client think it works as expected?”
  • 31. Stress Testing 31 • Testing Performance Requirements • “Can more than one interaction happen at the same time? How many more than one?”
  • 32. Usability Testing 32 • Testing for user-friendliness. This can be done BEFORE and AFTER development phase. • “Yeah, it works, but is it easy to use?”
  • 33. Which testing is important for developers? 33
  • 34. Which testing is important for developers? • Black box • White box • Unit • Integration • Functional • System • End-to-end • Sanity • Regression • Acceptance • Load • Stress • Performance • Usability 34 Source: http://www.softwaretestinghelp.com/types-of-software-testing/
  • 35. For the Developers 35 • Which testing is important for developers? – All of them (know thy tester and thy tester’s methods) – But especially • Unit • Functional • Systems • Integration
  • 36. Which testing is important for testers? 36
  • 37. Which testing is important for testers? • Black box • White box • Unit • Integration • Functional • System • End-to-end • Sanity • Regression • Acceptance • Load • Stress • Performance • Usability 37 Source: http://www.softwaretestinghelp.com/types-of-software-testing/
  • 38. For the Testers 38 • Which testing is important for testers? – All of them (uphold they developer to unit tests) – But especially • Black Box • White Box • Integration • Systems • Sanity
  • 39. Which testing is important for Clients/Stakeholders? 39
  • 40. Which testing is important for Clients/Stakeholders? • Black box • White box • Unit • Integration • Functional • System • End-to-end • Sanity • Regression • Acceptance • Load • Stress • Performance • Usability 40 Source: http://www.softwaretestinghelp.com/types-of-software-testing/
  • 41. For the Clients/Stakeholders 41 • Which testing is important for clients/stakeholders? • Black Box • Usability • Regression • Acceptance
  • 42. For the Clients/Stakeholders 42 • Which testing is important for clients/stakeholders? • Black Box • Usability • Regression • Acceptance
  • 43. What does Automation of Testing mean? 43
  • 44. What does Automation of Testing mean? 44 • The traditional/easiest way to test what you develop is to make a change, and then load the app to see if that change was effective. Very Manual • Automated Testing means to write code to test code and use testing software to test the front-end. Don’t rely on the old manual check.
  • 45. How does this apply to WordPress? 45 • WordPress utilizes a ‘test suite’ “which have multiple test cases and a library and command line tool that runs the test suite or suites” according to WordPress’ automated testing core handbook page • For this, they use phpUnit. https://phpunit.de
  • 46. How does this apply to WordPress? 46 • PHPUnit has a series of commands that you can use to run all tests, specific tests, or specific types of tests.
  • 47. Developer Workflow 47 • When you are ready to write your plugin: – Think of the outcomes you want for your plugin – Think of the individual methods you want to write. Should have one output. – Write a test that checks that the output is what you expect. – Write your method. – Lather. Rinse. Repeat.
  • 48. Developer Workflow 48 • Testing Tools • phpUnit (official wordpress test suite) • WordPress Developer Branch – https://make.wordpress.org/core/handbook/automa • Terminal or Editor with Testing Integrated
  • 49. Developer Workflow 49 Editors (not limited to…) – TextMate - https://macromates.com/download • (https://github.com/meritt/phpunit-tmbundle) – Sublime – http://www.sublimetext.com/ • https://packagecontrol.io/packages/PHPUnit – phpStorm - https://www.jetbrains.com/phpstorm/ • Supports all OS’ • Phpunit built in
  • 50. Developer Workflow 50 • Put your tests IN your plugin • /plugins/[plugindir]/tests/test- [pluginslug].php • Add a phpunit.xml file: • /plugins/[plugindir]/tests/phpunit.xml
  • 51. Developer Workflow phpunit.xml 51 <?xml version=“1.0” encoding=“UTF-8” ?> <phpunit bootstrap=“vendor/autoload.php” > <testsuites> <testsuite> <directory prefix="test-” suffix=".php"> ./tests/ </directory> </testsuite> </testsuites> </phpunit>
  • 52. Developer Workflow phpunit.xml 52 <?xml version=“1.0” encoding=“UTF-8” ?> <phpunit bootstrap=“vendor/autoload.php” > <testsuites> <testsuite> <directory prefix="test-” suffix=".php"> ./tests/ </directory> </testsuite> </testsuites> </phpunit>
  • 53. Developer Workflow phpunit.xml 53 <?xml version=“1.0” encoding=“UTF-8” ?> <phpunit bootstrap=“vendor/autoload.php” > <testsuites> <testsuite> <directory prefix="test-” suffix=".php"> ./tests/ </directory> </testsuite> </testsuites> </phpunit>
  • 54. Developer Workflow phpunit.xml 54 <?xml version=“1.0” encoding=“UTF-8” ?> <phpunit bootstrap=“vendor/autoload.php” > <testsuites> <testsuite> <directory prefix="test-” suffix=".php"> ./tests/ </directory> </testsuite> </testsuites> </phpunit>
  • 55. Tester Workflow 55 • When you are ready to test – Be familiar with the general requirements for the site as a whole – Read the requirements of the change request – Focus on specifically what is supposed to have changed. – Write a test while waiting for the change. – Run the test once you get the change from the developer
  • 56. Tester Workflow 56 • Selenium IDE, Firefox Plugin – http://www.seleniumhq.org/download/ • Browser Specific – Chrome https://sites.google.com/a/chromium.org/chromed – Safari http://selenium-release.storage.googleapis.com/2
  • 57. Tester Workflow 57 • Selenium – Installationhttp ://geekpad.ca/blog/post/automating-browser-testi • First you must download the Selenium server and the Internet Explorer Server from http://docs.seleniumhq.org/download/ • Then you must download the Chrome server from http://chromedriver.storage.googleapis.com/index .html
  • 58. Tester Workflow 58 • Selenium – Installation (continued) • You do not need to download a Firefox driver since it’s builtin the main Selenium file. • Once all files have been downloaded you must add your selenium folder to your existing path see http://www.java.com/en/download/help/path.xml • Then you can launch the server using java. With something that looks like this – Mac - java -jar selenium-server-standalone-[version].jar
  • 59. Tester Workflow 59 Why is Selenium cool? •Records your actions •Let’s you test expected outcomes •Let’s you test them in a series
  • 60. Tester Workflow 60 Example •The developer was given a task to make sure that all instances of the word “Orange County” is replaced with the word “OC” on the website, for “legal reasons”. •Demo
  • 62. Jenkins 62 • Jenkins is an award-winning application that monitors executions of repeated jobs, such as building a software project or jobs run by cron. Among those things, current Jenkins focuses on the following two jobs: – Building/testing software projects continuously – Monitoring executions of externally-run jobs https://wiki.jenkins-ci.org/display/JENKINS/Meet+Jenkins
  • 66. Resources • http://www.dcs.bbk.ac.uk/~sven/cdm06/cdm3. • https://unit-tests.trac.wordpress.org/ • http://www.slideshare.net/ptahdunbar/automat • http://johnregan3.co/2013/08/13/why-you-need • http://blog.aizatto.com/2010/05/15/beginni ng-wordpress-automated-testing/ 66
  • 67. Resources • https://www.owasp.org/index.php/Testing_ Guide_Introduction • https://make.wordpress.org/core/handboo k/automated-testing/ • http://stackoverflow.com/questions/224141 34/different-types-of-testing-eg-unit- functional-integration-etc-document 67
  • 68. Resources • http://www.seleniumhq.org/ • http://geekpad.ca/blog/post/automating-browser- testing-with-phpunit-and-selenium • https://wiki.jenkins- ci.org/display/JENKINS/Meet+Jenkins • https://wiki.jenkins- ci.org/display/JENKINS/Installing+Jenkins 68

Hinweis der Redaktion

  1. QA Engineers and Clients
  2. Developers use this method when developing
  3. Developers have to develop the test cases.
  4. Develops and QA engineers
  5. QA Engineers can do these tests
  6. QA Engineers
  7. Developers and QA engineers
  8. Developers or QA engineer can do this test.
  9. QA Engineers
  10. Clients do this test
  11. QA can do this, or developers
  12. QA Engineer or UX Tester.