SlideShare a Scribd company logo
1 of 50
Download to read offline
Push Your Functional
Testing Further
Alan Richardson
EvilTester.com
@EvilTester
Technology
and
Security
into
@EvilTester 2
Part the first, wherein we
describe Functional Testing in
terms of Systems and Models,
and expand A model of testing
to include Technical Testing.
@EvilTester 3
Functional Testing
● Testers learn how to
test systems
– Requirements
– 'What' a system
'should' do
@EvilTester 4
Systems
● System under Development
● System of Development
@EvilTester 5
System Under Development
● System under Development
– Requirements
– Architecture
– Environments
– etc.
@EvilTester 6
System Of Development
● Methodological Context
● Social Constructs
● Model Different Systems of Testing
– Systems of Feedback
– Systems of Learning
– Systems of Questioning
– ...
@EvilTester 7
Requirement Example – RestMud
@EvilTester 8
A Model of Testing
● Modelling,
● Observation,
● Intent,
● Reflection,
● Manipulation
@EvilTester 9
We can push our functional testing
further
● “What is it supposed to
do?”
– vs “What does it do?”
● Comparison to other
models
● Is it viable?
● Precondition analysis
● Presupposition analysis
@EvilTester 10
We can push our functional testing
further
● Explore 'How' the system does what it does
● Understand the technology used to build the
system
– Identify technology risks
– Identify risks at different levels of the stack
– Work at different levels of the stack
@EvilTester 11
A Model of Technical Testing
● Modelling,
● Observation,
● Interrogation,
● Reflection (includes intent),
● Manipulation
@EvilTester 12
Part the second, wherein two
technical models are provided
with a discussion of possible
technical testing approaches.
@EvilTester 13
Example – a Java App
● HouseOfTest.se
– /2016/02/testers-contest-crappy-little-datagenerator/
@EvilTester 14
Observation Example – a Java App
● Double click run – see GUI
● tail -f DataGeneration.txt
● Text Editor
– Line endings
– Refresh
● No exceptions shown
@EvilTester 15
Observation Example – a Java App
● java -jar crappy_little_datagenerator_v_1.0.jar
– Now can see stdout written to command line,
exceptions, errors etc.
@EvilTester 16
Interrogation Example – a Java App
● Decompile e.g. http://jd.benow.ca/
● Load .jar as a library into a Project
@EvilTester 17
Interrogation Example – a Java App
@EvilTester 18
Observe - Multiple Entry Points
@EvilTester 19
Modelling Example – a Java App
GUI
CLI
DataGeneration
@EvilTester 20
Manipulation Example – a Java App
@EvilTester 21
Manipulate Example – a Java App
@EvilTester 22
Risks
● Does this test approach add risk?
– Because testing at a lower level in the stack?
– Because working against a non-deployed version?
– Because it is not how the user would run it?
@EvilTester 23
Risk
● Mitigating risk provides one reason for testing
● No test approach mitigates all risk
● Multiple test approaches required
@EvilTester 24
Modelling – a Web App
HTML GUI
Web App
Browser Web Server
App Server
@EvilTester 25
Observe & Interrogate – a Web App
HTML
& DOM
Web App
Web Server
App Server
HTTP
via
Proxies
View Source
Dev Tools
HTTP
via
Dev Tools
@EvilTester 26
Manipulate – a Web App
HTML
& DOM
Web App
Web Server
App Server
HTTP
via
Proxies
Dev Tools
@EvilTester 27
Modelling – this Web App
Web App
Web Server
App Server
Player GUI
Admin
GUI
Rest API
@EvilTester 28
Part the third, wherein the
overlap between technical
testing and security testing are
explored.
@EvilTester 29
Deeper Testing
@EvilTester 30
Technical Testing
● We will find defects and issues we would
otherwise miss
– Observing, Interrogating, Manipulating lower
● Some defects normally associated with security
testing
– I am not a security tester
– Technically Informed Modelling
@EvilTester 31
Security Overlap Examples
● Code reviews find hard-coded security issues
● Form field inspection exposed emails,
executable shell code, file names for survey
answers
● HTML Commented URLs to 'secret' parts of the
application
● User HTTP json contains more info than
displayed as HTML
@EvilTester 32
Security Overlap Examples
Because...
● Code reviews find hard-coded security issues
● Form field inspection exposed emails,
executable shell code, file names for survey
answers
● HTML Commented URLs to 'secret' parts of the
application
● User HTTP json contains more info than
displayed as HTML
Observed More Deeply
Interrogated More Deeply
Interrogated More Deeply
Observed, Interrogated, Manipulated
More Deeply
Because Modelled More Deeply
@EvilTester 33
Any Methodology : Any Tester
● Methodology context does not dictate
– 'Process' context might dictate
– 'Social' context might dictate
● Any Tester can do this
– Limited by technology knowledge
– Limited by technical skill
– Limited by choice
@EvilTester 34
Part the fourth, wherein the
steps to increase technical
ability are made lay afore the
public.
@EvilTester 35
I am fairly Technical
● Books
● SeleniumSimplified.com
● EvilTester.com
● JavaForTesters.com
● Online Training Courses
● Consultancy, work hands on
with teams
@EvilTester 36
I grew up with computers...
http://www.retrogamer.net/profiles/hardware/zx-spectrum-hardware-profile/
@EvilTester 37
I grew up reading computer books...
http://www.usborne.com/catalogue/feature-page/computer-and-coding-books.aspx
@EvilTester 38
...but not with the internet
http://www.worldofspectrum.org/hardware/feat24.html
@EvilTester 39
I had to learn how to test the web
@EvilTester 40
How to learn to test the web
● Model What You Know
– HTML? HTTP? Browsers?
● Increase your ability to Observe at the GUI
– View Source
– Inspect Element - Dev Tools
– You will see things you don't understand (add to
your model & research)
@EvilTester 41
How to learn to test the web
● Increase your ability to Manipulate at the GUI
– Inspect Element - Dev Tools
– Amend DOM prior to submitting a form
– Inspect and manipulate URLs
● Cookies, Local Storage
– Inspect
– Figure out how to manipulate (plugins required?)
@EvilTester 42
Basic Web Challenges
● View Source and inspect Element of:
– Your favourite web sites
● How do they do 'that'?
● Any free 'pdf' report that requires 'email'
– find the download without adding your email
● Newspapers - 'you have read too many articles
today' – how can they tell? Manipulate to
bypass?
@EvilTester 43
How to learn to test the web
● Observe HTTP Traffic in Browser
– Network tab in Dev Tools
● Observe HTTP Traffic outside Browser
– HTTP Proxy
– Fiddler, Charles, BurpSuite, Owasp ZAP
– Interrogate and Manipulate Traffic with a Proxy
@EvilTester 44
How to learn to test the web
● Learn features in the browser
– View Source, Users, Dev Tools
– How can the feature help you test?
● Learn features in the proxies
– Replay Message, Fuzzers, Auto Responders
– How can the feature help you test?
@EvilTester 45
Technology Basics
● Model the Technology
– Where are the gaps in your understanding?
– These gaps are risks to your testing.
● How can I observe X?
● How can I interrogate X?
● How can I manipulate X?
● Repeat
@EvilTester 46
Application Basics
● Model the application
● What is it actually doing?
– Not just what is it supposed to do
● How does it do X?
– Observe, Interrogate, Manipulate
@EvilTester 47
Going Further
@EvilTester 48
Pushing Functional Testing Further
Go Even Further:
● Explore and automate systems below the GUI
● GUI as API
● Quickly enter more combinations of input than
would otherwise be feasible
● Fuzzers, Setup Test Data
● Test at an API level without specialist tools
● Proxy message creation
Even
@EvilTester 49
Do the work!
● Research
● Experiment
● Learn
● Take Small Steps
@EvilTester 50
Do The Work!
● Alan Richardson
– @EvilTester
– www.EvilTester.com
– www.JavaForTester.com
– www.SeleniumSimplified.com
– www.CompendiumDev.co.uk

More Related Content

What's hot

Odinstar 2017 - Real World Automating to Support Testing
Odinstar 2017 - Real World Automating to Support TestingOdinstar 2017 - Real World Automating to Support Testing
Odinstar 2017 - Real World Automating to Support TestingAlan Richardson
 
Evil testers guide to technical testing
Evil testers guide to technical testingEvil testers guide to technical testing
Evil testers guide to technical testingAlan Richardson
 
TestIstanbul May 2013 Keynote Experiences With Exploratory Testing
TestIstanbul May 2013 Keynote Experiences With Exploratory TestingTestIstanbul May 2013 Keynote Experiences With Exploratory Testing
TestIstanbul May 2013 Keynote Experiences With Exploratory TestingAlan Richardson
 
Effective Software Testing for Modern Software Development
Effective Software Testing for Modern Software DevelopmentEffective Software Testing for Modern Software Development
Effective Software Testing for Modern Software DevelopmentAlan Richardson
 
Confessions of an Accidental Security Tester
Confessions of an Accidental Security TesterConfessions of an Accidental Security Tester
Confessions of an Accidental Security TesterAlan Richardson
 
Test Automation Day 2015 Keynote Alan Richardson - Practical Lessons Learned ...
Test Automation Day 2015 Keynote Alan Richardson - Practical Lessons Learned ...Test Automation Day 2015 Keynote Alan Richardson - Practical Lessons Learned ...
Test Automation Day 2015 Keynote Alan Richardson - Practical Lessons Learned ...Alan Richardson
 
If you want to automate, you learn to code
If you want to automate, you learn to codeIf you want to automate, you learn to code
If you want to automate, you learn to codeAlan Richardson
 
How to Improve Your Technical Test Ability - AADays 2015 Keynote
How to Improve Your Technical Test Ability - AADays 2015 KeynoteHow to Improve Your Technical Test Ability - AADays 2015 Keynote
How to Improve Your Technical Test Ability - AADays 2015 KeynoteAlan Richardson
 
The Evil Tester's Guide to HTTP proxies Tutorial
The Evil Tester's Guide to HTTP proxies TutorialThe Evil Tester's Guide to HTTP proxies Tutorial
The Evil Tester's Guide to HTTP proxies TutorialAlan Richardson
 
Technical Testing Webinar
Technical Testing WebinarTechnical Testing Webinar
Technical Testing WebinarAlan Richardson
 
Lessons Learned When Automating
Lessons Learned When AutomatingLessons Learned When Automating
Lessons Learned When AutomatingAlan Richardson
 
Practical Test Automation Deep Dive
Practical Test Automation Deep DivePractical Test Automation Deep Dive
Practical Test Automation Deep DiveAlan Richardson
 
Technology Based Testing
Technology Based TestingTechnology Based Testing
Technology Based TestingAlan Richardson
 
Automating Tactically vs Strategically SauceCon 2020
Automating Tactically vs Strategically SauceCon 2020Automating Tactically vs Strategically SauceCon 2020
Automating Tactically vs Strategically SauceCon 2020Alan Richardson
 
Re-thinking Test Automation and Test Process Modelling (in pictures)
Re-thinking Test Automation and Test Process Modelling (in pictures)Re-thinking Test Automation and Test Process Modelling (in pictures)
Re-thinking Test Automation and Test Process Modelling (in pictures)Alan Richardson
 
Technical and Testing Challenges: Using the "Protect The Square" Game
Technical and Testing Challenges: Using the "Protect The Square" GameTechnical and Testing Challenges: Using the "Protect The Square" Game
Technical and Testing Challenges: Using the "Protect The Square" GameAlan Richardson
 
Worst practices in software testing by the Testing troll
Worst practices in software testing by the Testing trollWorst practices in software testing by the Testing troll
Worst practices in software testing by the Testing trollViktor Slavchev
 
"Worst" practices of software testing
"Worst" practices of software testing"Worst" practices of software testing
"Worst" practices of software testingViktor Slavchev
 
Automation vs. intelligence - "follow me if you want to live"
Automation vs. intelligence - "follow me if you want to live"Automation vs. intelligence - "follow me if you want to live"
Automation vs. intelligence - "follow me if you want to live"Viktor Slavchev
 

What's hot (20)

Odinstar 2017 - Real World Automating to Support Testing
Odinstar 2017 - Real World Automating to Support TestingOdinstar 2017 - Real World Automating to Support Testing
Odinstar 2017 - Real World Automating to Support Testing
 
Evil testers guide to technical testing
Evil testers guide to technical testingEvil testers guide to technical testing
Evil testers guide to technical testing
 
TestIstanbul May 2013 Keynote Experiences With Exploratory Testing
TestIstanbul May 2013 Keynote Experiences With Exploratory TestingTestIstanbul May 2013 Keynote Experiences With Exploratory Testing
TestIstanbul May 2013 Keynote Experiences With Exploratory Testing
 
Effective Software Testing for Modern Software Development
Effective Software Testing for Modern Software DevelopmentEffective Software Testing for Modern Software Development
Effective Software Testing for Modern Software Development
 
Confessions of an Accidental Security Tester
Confessions of an Accidental Security TesterConfessions of an Accidental Security Tester
Confessions of an Accidental Security Tester
 
Devfest 2019-slides
Devfest 2019-slidesDevfest 2019-slides
Devfest 2019-slides
 
Test Automation Day 2015 Keynote Alan Richardson - Practical Lessons Learned ...
Test Automation Day 2015 Keynote Alan Richardson - Practical Lessons Learned ...Test Automation Day 2015 Keynote Alan Richardson - Practical Lessons Learned ...
Test Automation Day 2015 Keynote Alan Richardson - Practical Lessons Learned ...
 
If you want to automate, you learn to code
If you want to automate, you learn to codeIf you want to automate, you learn to code
If you want to automate, you learn to code
 
How to Improve Your Technical Test Ability - AADays 2015 Keynote
How to Improve Your Technical Test Ability - AADays 2015 KeynoteHow to Improve Your Technical Test Ability - AADays 2015 Keynote
How to Improve Your Technical Test Ability - AADays 2015 Keynote
 
The Evil Tester's Guide to HTTP proxies Tutorial
The Evil Tester's Guide to HTTP proxies TutorialThe Evil Tester's Guide to HTTP proxies Tutorial
The Evil Tester's Guide to HTTP proxies Tutorial
 
Technical Testing Webinar
Technical Testing WebinarTechnical Testing Webinar
Technical Testing Webinar
 
Lessons Learned When Automating
Lessons Learned When AutomatingLessons Learned When Automating
Lessons Learned When Automating
 
Practical Test Automation Deep Dive
Practical Test Automation Deep DivePractical Test Automation Deep Dive
Practical Test Automation Deep Dive
 
Technology Based Testing
Technology Based TestingTechnology Based Testing
Technology Based Testing
 
Automating Tactically vs Strategically SauceCon 2020
Automating Tactically vs Strategically SauceCon 2020Automating Tactically vs Strategically SauceCon 2020
Automating Tactically vs Strategically SauceCon 2020
 
Re-thinking Test Automation and Test Process Modelling (in pictures)
Re-thinking Test Automation and Test Process Modelling (in pictures)Re-thinking Test Automation and Test Process Modelling (in pictures)
Re-thinking Test Automation and Test Process Modelling (in pictures)
 
Technical and Testing Challenges: Using the "Protect The Square" Game
Technical and Testing Challenges: Using the "Protect The Square" GameTechnical and Testing Challenges: Using the "Protect The Square" Game
Technical and Testing Challenges: Using the "Protect The Square" Game
 
Worst practices in software testing by the Testing troll
Worst practices in software testing by the Testing trollWorst practices in software testing by the Testing troll
Worst practices in software testing by the Testing troll
 
"Worst" practices of software testing
"Worst" practices of software testing"Worst" practices of software testing
"Worst" practices of software testing
 
Automation vs. intelligence - "follow me if you want to live"
Automation vs. intelligence - "follow me if you want to live"Automation vs. intelligence - "follow me if you want to live"
Automation vs. intelligence - "follow me if you want to live"
 

Similar to Push Functional Testing Further

Demise of test scripts rise of test ideas
Demise of test scripts rise of test ideasDemise of test scripts rise of test ideas
Demise of test scripts rise of test ideasRichard Robinson
 
WE-06-Testing.ppt
WE-06-Testing.pptWE-06-Testing.ppt
WE-06-Testing.pptjaved281701
 
The Evil tester's Guide to Web Testing
The Evil tester's Guide to Web TestingThe Evil tester's Guide to Web Testing
The Evil tester's Guide to Web TestingAlan Richardson
 
Devoxx Belgium 2022 - Debugging distributed systems
Devoxx Belgium 2022 - Debugging distributed systemsDevoxx Belgium 2022 - Debugging distributed systems
Devoxx Belgium 2022 - Debugging distributed systemsBert Jan Schrijver
 
Arnhem JUG March 2023 - Debugging distributed systems
Arnhem JUG March 2023 - Debugging distributed systemsArnhem JUG March 2023 - Debugging distributed systems
Arnhem JUG March 2023 - Debugging distributed systemsBert Jan Schrijver
 
An Introduction To Software Development - Testing, Continuous integration
An Introduction To Software Development - Testing, Continuous integrationAn Introduction To Software Development - Testing, Continuous integration
An Introduction To Software Development - Testing, Continuous integrationBlue Elephant Consulting
 
Abcd iqs ssoftware-projects-mercecrosas
Abcd iqs ssoftware-projects-mercecrosasAbcd iqs ssoftware-projects-mercecrosas
Abcd iqs ssoftware-projects-mercecrosasMerce Crosas
 
[DevDay2018] High quality mindset in software development - By: Phat Vu, Scru...
[DevDay2018] High quality mindset in software development - By: Phat Vu, Scru...[DevDay2018] High quality mindset in software development - By: Phat Vu, Scru...
[DevDay2018] High quality mindset in software development - By: Phat Vu, Scru...DevDay.org
 
A New Model for Testing
A New Model for TestingA New Model for Testing
A New Model for TestingSQALab
 
Blunders in Test Automation
Blunders in Test AutomationBlunders in Test Automation
Blunders in Test AutomationTechWell
 
New Model Testing: A New Test Process and Tool
New Model Testing:  A New Test Process and ToolNew Model Testing:  A New Test Process and Tool
New Model Testing: A New Test Process and ToolTEST Huddle
 
Capability Building for Cyber Defense: Software Walk through and Screening
Capability Building for Cyber Defense: Software Walk through and Screening Capability Building for Cyber Defense: Software Walk through and Screening
Capability Building for Cyber Defense: Software Walk through and Screening Maven Logix
 
Feb 2013Lesson 38 Software Acquisition Development
Feb 2013Lesson 38 Software Acquisition DevelopmentFeb 2013Lesson 38 Software Acquisition Development
Feb 2013Lesson 38 Software Acquisition DevelopmentBarb Tillich
 
Testing - How Vital and How Easy to use
Testing - How Vital and How Easy to useTesting - How Vital and How Easy to use
Testing - How Vital and How Easy to useUma Ghotikar
 
Better Functional Design through TDD
Better Functional Design through TDDBetter Functional Design through TDD
Better Functional Design through TDDPhil Calçado
 
May 2021 Spark Testing ... or how to farm reputation on StackOverflow
May 2021 Spark Testing ... or how to farm reputation on StackOverflowMay 2021 Spark Testing ... or how to farm reputation on StackOverflow
May 2021 Spark Testing ... or how to farm reputation on StackOverflowAdam Doyle
 

Similar to Push Functional Testing Further (20)

Demise of test scripts rise of test ideas
Demise of test scripts rise of test ideasDemise of test scripts rise of test ideas
Demise of test scripts rise of test ideas
 
WE-06-Testing.ppt
WE-06-Testing.pptWE-06-Testing.ppt
WE-06-Testing.ppt
 
The Evil tester's Guide to Web Testing
The Evil tester's Guide to Web TestingThe Evil tester's Guide to Web Testing
The Evil tester's Guide to Web Testing
 
Devoxx Belgium 2022 - Debugging distributed systems
Devoxx Belgium 2022 - Debugging distributed systemsDevoxx Belgium 2022 - Debugging distributed systems
Devoxx Belgium 2022 - Debugging distributed systems
 
Arnhem JUG March 2023 - Debugging distributed systems
Arnhem JUG March 2023 - Debugging distributed systemsArnhem JUG March 2023 - Debugging distributed systems
Arnhem JUG March 2023 - Debugging distributed systems
 
An Introduction To Software Development - Testing, Continuous integration
An Introduction To Software Development - Testing, Continuous integrationAn Introduction To Software Development - Testing, Continuous integration
An Introduction To Software Development - Testing, Continuous integration
 
Software Prototyping
Software PrototypingSoftware Prototyping
Software Prototyping
 
Abcd iqs ssoftware-projects-mercecrosas
Abcd iqs ssoftware-projects-mercecrosasAbcd iqs ssoftware-projects-mercecrosas
Abcd iqs ssoftware-projects-mercecrosas
 
Ui Testing with Ghost Inspector
Ui Testing with Ghost InspectorUi Testing with Ghost Inspector
Ui Testing with Ghost Inspector
 
[DevDay2018] High quality mindset in software development - By: Phat Vu, Scru...
[DevDay2018] High quality mindset in software development - By: Phat Vu, Scru...[DevDay2018] High quality mindset in software development - By: Phat Vu, Scru...
[DevDay2018] High quality mindset in software development - By: Phat Vu, Scru...
 
A New Model for Testing
A New Model for TestingA New Model for Testing
A New Model for Testing
 
Blunders in Test Automation
Blunders in Test AutomationBlunders in Test Automation
Blunders in Test Automation
 
New Model Testing: A New Test Process and Tool
New Model Testing:  A New Test Process and ToolNew Model Testing:  A New Test Process and Tool
New Model Testing: A New Test Process and Tool
 
Capability Building for Cyber Defense: Software Walk through and Screening
Capability Building for Cyber Defense: Software Walk through and Screening Capability Building for Cyber Defense: Software Walk through and Screening
Capability Building for Cyber Defense: Software Walk through and Screening
 
Software testing
Software testingSoftware testing
Software testing
 
Feb 2013Lesson 38 Software Acquisition Development
Feb 2013Lesson 38 Software Acquisition DevelopmentFeb 2013Lesson 38 Software Acquisition Development
Feb 2013Lesson 38 Software Acquisition Development
 
Testing - How Vital and How Easy to use
Testing - How Vital and How Easy to useTesting - How Vital and How Easy to use
Testing - How Vital and How Easy to use
 
Better Functional Design through TDD
Better Functional Design through TDDBetter Functional Design through TDD
Better Functional Design through TDD
 
QA Process Overview
QA Process OverviewQA Process Overview
QA Process Overview
 
May 2021 Spark Testing ... or how to farm reputation on StackOverflow
May 2021 Spark Testing ... or how to farm reputation on StackOverflowMay 2021 Spark Testing ... or how to farm reputation on StackOverflow
May 2021 Spark Testing ... or how to farm reputation on StackOverflow
 

More from Alan Richardson

Add More Security To Your Testing and Automating - Saucecon 2021
Add More Security To Your Testing and Automating - Saucecon 2021Add More Security To Your Testing and Automating - Saucecon 2021
Add More Security To Your Testing and Automating - Saucecon 2021Alan Richardson
 
Automating to Augment Testing
Automating to Augment TestingAutomating to Augment Testing
Automating to Augment TestingAlan Richardson
 
Open source tools - Test Management Summit - 2009
Open source tools - Test Management Summit - 2009Open source tools - Test Management Summit - 2009
Open source tools - Test Management Summit - 2009Alan Richardson
 
Secrets and Mysteries of Automated Execution Keynote slides
Secrets and Mysteries of Automated Execution Keynote slidesSecrets and Mysteries of Automated Execution Keynote slides
Secrets and Mysteries of Automated Execution Keynote slidesAlan Richardson
 
Programming katas for Software Testers - CounterStrings
Programming katas for Software Testers - CounterStringsProgramming katas for Software Testers - CounterStrings
Programming katas for Software Testers - CounterStringsAlan Richardson
 
About Consultant Alan Richardson Compendium Developments Evil Tester
About Consultant Alan Richardson Compendium Developments Evil TesterAbout Consultant Alan Richardson Compendium Developments Evil Tester
About Consultant Alan Richardson Compendium Developments Evil TesterAlan Richardson
 
Automating and Testing a REST API
Automating and Testing a REST APIAutomating and Testing a REST API
Automating and Testing a REST APIAlan Richardson
 
TDD - Test Driven Development - Java JUnit FizzBuzz
TDD - Test Driven Development - Java JUnit FizzBuzzTDD - Test Driven Development - Java JUnit FizzBuzz
TDD - Test Driven Development - Java JUnit FizzBuzzAlan Richardson
 
What is Testability vs Automatability? How to improve your Software Testing.
What is Testability vs Automatability? How to improve your Software Testing.What is Testability vs Automatability? How to improve your Software Testing.
What is Testability vs Automatability? How to improve your Software Testing.Alan Richardson
 
What is Agile Testing? A MindMap
What is Agile Testing? A MindMapWhat is Agile Testing? A MindMap
What is Agile Testing? A MindMapAlan Richardson
 
Evil Tester's Guide to Agile Testing
Evil Tester's Guide to Agile TestingEvil Tester's Guide to Agile Testing
Evil Tester's Guide to Agile TestingAlan Richardson
 
The Evil Tester Show - Episode 001 Halloween 2017
The Evil Tester Show - Episode 001 Halloween 2017The Evil Tester Show - Episode 001 Halloween 2017
The Evil Tester Show - Episode 001 Halloween 2017Alan Richardson
 
What is Regression Testing?
What is Regression Testing?What is Regression Testing?
What is Regression Testing?Alan Richardson
 
Simple ways to add and work with a `.jar` file in your local maven setup
Simple ways to add and work with a `.jar` file in your local maven setupSimple ways to add and work with a `.jar` file in your local maven setup
Simple ways to add and work with a `.jar` file in your local maven setupAlan Richardson
 
Learning in Public - A How to Speak in Public Workshop
Learning in Public - A How to Speak in Public WorkshopLearning in Public - A How to Speak in Public Workshop
Learning in Public - A How to Speak in Public WorkshopAlan Richardson
 
How to Practise to Remove Fear of Public Speaking
How to Practise to Remove Fear of Public SpeakingHow to Practise to Remove Fear of Public Speaking
How to Practise to Remove Fear of Public SpeakingAlan Richardson
 

More from Alan Richardson (17)

Add More Security To Your Testing and Automating - Saucecon 2021
Add More Security To Your Testing and Automating - Saucecon 2021Add More Security To Your Testing and Automating - Saucecon 2021
Add More Security To Your Testing and Automating - Saucecon 2021
 
Automating to Augment Testing
Automating to Augment TestingAutomating to Augment Testing
Automating to Augment Testing
 
Open source tools - Test Management Summit - 2009
Open source tools - Test Management Summit - 2009Open source tools - Test Management Summit - 2009
Open source tools - Test Management Summit - 2009
 
Secrets and Mysteries of Automated Execution Keynote slides
Secrets and Mysteries of Automated Execution Keynote slidesSecrets and Mysteries of Automated Execution Keynote slides
Secrets and Mysteries of Automated Execution Keynote slides
 
Programming katas for Software Testers - CounterStrings
Programming katas for Software Testers - CounterStringsProgramming katas for Software Testers - CounterStrings
Programming katas for Software Testers - CounterStrings
 
About Consultant Alan Richardson Compendium Developments Evil Tester
About Consultant Alan Richardson Compendium Developments Evil TesterAbout Consultant Alan Richardson Compendium Developments Evil Tester
About Consultant Alan Richardson Compendium Developments Evil Tester
 
Shift left-testing
Shift left-testingShift left-testing
Shift left-testing
 
Automating and Testing a REST API
Automating and Testing a REST APIAutomating and Testing a REST API
Automating and Testing a REST API
 
TDD - Test Driven Development - Java JUnit FizzBuzz
TDD - Test Driven Development - Java JUnit FizzBuzzTDD - Test Driven Development - Java JUnit FizzBuzz
TDD - Test Driven Development - Java JUnit FizzBuzz
 
What is Testability vs Automatability? How to improve your Software Testing.
What is Testability vs Automatability? How to improve your Software Testing.What is Testability vs Automatability? How to improve your Software Testing.
What is Testability vs Automatability? How to improve your Software Testing.
 
What is Agile Testing? A MindMap
What is Agile Testing? A MindMapWhat is Agile Testing? A MindMap
What is Agile Testing? A MindMap
 
Evil Tester's Guide to Agile Testing
Evil Tester's Guide to Agile TestingEvil Tester's Guide to Agile Testing
Evil Tester's Guide to Agile Testing
 
The Evil Tester Show - Episode 001 Halloween 2017
The Evil Tester Show - Episode 001 Halloween 2017The Evil Tester Show - Episode 001 Halloween 2017
The Evil Tester Show - Episode 001 Halloween 2017
 
What is Regression Testing?
What is Regression Testing?What is Regression Testing?
What is Regression Testing?
 
Simple ways to add and work with a `.jar` file in your local maven setup
Simple ways to add and work with a `.jar` file in your local maven setupSimple ways to add and work with a `.jar` file in your local maven setup
Simple ways to add and work with a `.jar` file in your local maven setup
 
Learning in Public - A How to Speak in Public Workshop
Learning in Public - A How to Speak in Public WorkshopLearning in Public - A How to Speak in Public Workshop
Learning in Public - A How to Speak in Public Workshop
 
How to Practise to Remove Fear of Public Speaking
How to Practise to Remove Fear of Public SpeakingHow to Practise to Remove Fear of Public Speaking
How to Practise to Remove Fear of Public Speaking
 

Recently uploaded

Russian Call girls in Abu Dhabi 0508644382 Abu Dhabi Call girls
Russian Call girls in Abu Dhabi 0508644382 Abu Dhabi Call girlsRussian Call girls in Abu Dhabi 0508644382 Abu Dhabi Call girls
Russian Call girls in Abu Dhabi 0508644382 Abu Dhabi Call girlsMonica Sydney
 
哪里办理美国迈阿密大学毕业证(本硕)umiami在读证明存档可查
哪里办理美国迈阿密大学毕业证(本硕)umiami在读证明存档可查哪里办理美国迈阿密大学毕业证(本硕)umiami在读证明存档可查
哪里办理美国迈阿密大学毕业证(本硕)umiami在读证明存档可查ydyuyu
 
Top profile Call Girls In Dindigul [ 7014168258 ] Call Me For Genuine Models ...
Top profile Call Girls In Dindigul [ 7014168258 ] Call Me For Genuine Models ...Top profile Call Girls In Dindigul [ 7014168258 ] Call Me For Genuine Models ...
Top profile Call Girls In Dindigul [ 7014168258 ] Call Me For Genuine Models ...gajnagarg
 
Nagercoil Escorts Service Girl ^ 9332606886, WhatsApp Anytime Nagercoil
Nagercoil Escorts Service Girl ^ 9332606886, WhatsApp Anytime NagercoilNagercoil Escorts Service Girl ^ 9332606886, WhatsApp Anytime Nagercoil
Nagercoil Escorts Service Girl ^ 9332606886, WhatsApp Anytime Nagercoilmeghakumariji156
 
Meaning of On page SEO & its process in detail.
Meaning of On page SEO & its process in detail.Meaning of On page SEO & its process in detail.
Meaning of On page SEO & its process in detail.krishnachandrapal52
 
pdfcoffee.com_business-ethics-q3m7-pdf-free.pdf
pdfcoffee.com_business-ethics-q3m7-pdf-free.pdfpdfcoffee.com_business-ethics-q3m7-pdf-free.pdf
pdfcoffee.com_business-ethics-q3m7-pdf-free.pdfJOHNBEBONYAP1
 
2nd Solid Symposium: Solid Pods vs Personal Knowledge Graphs
2nd Solid Symposium: Solid Pods vs Personal Knowledge Graphs2nd Solid Symposium: Solid Pods vs Personal Knowledge Graphs
2nd Solid Symposium: Solid Pods vs Personal Knowledge GraphsEleniIlkou
 
20240510 QFM016 Irresponsible AI Reading List April 2024.pdf
20240510 QFM016 Irresponsible AI Reading List April 2024.pdf20240510 QFM016 Irresponsible AI Reading List April 2024.pdf
20240510 QFM016 Irresponsible AI Reading List April 2024.pdfMatthew Sinclair
 
20240509 QFM015 Engineering Leadership Reading List April 2024.pdf
20240509 QFM015 Engineering Leadership Reading List April 2024.pdf20240509 QFM015 Engineering Leadership Reading List April 2024.pdf
20240509 QFM015 Engineering Leadership Reading List April 2024.pdfMatthew Sinclair
 
best call girls in Hyderabad Finest Escorts Service 📞 9352988975 📞 Available ...
best call girls in Hyderabad Finest Escorts Service 📞 9352988975 📞 Available ...best call girls in Hyderabad Finest Escorts Service 📞 9352988975 📞 Available ...
best call girls in Hyderabad Finest Escorts Service 📞 9352988975 📞 Available ...kajalverma014
 
Trump Diapers Over Dems t shirts Sweatshirt
Trump Diapers Over Dems t shirts SweatshirtTrump Diapers Over Dems t shirts Sweatshirt
Trump Diapers Over Dems t shirts Sweatshirtrahman018755
 
75539-Cyber Security Challenges PPT.pptx
75539-Cyber Security Challenges PPT.pptx75539-Cyber Security Challenges PPT.pptx
75539-Cyber Security Challenges PPT.pptxAsmae Rabhi
 
Story Board.pptxrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr
Story Board.pptxrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrStory Board.pptxrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr
Story Board.pptxrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrHenryBriggs2
 
Indian Escort in Abu DHabi 0508644382 Abu Dhabi Escorts
Indian Escort in Abu DHabi 0508644382 Abu Dhabi EscortsIndian Escort in Abu DHabi 0508644382 Abu Dhabi Escorts
Indian Escort in Abu DHabi 0508644382 Abu Dhabi EscortsMonica Sydney
 
一比一原版(Offer)康考迪亚大学毕业证学位证靠谱定制
一比一原版(Offer)康考迪亚大学毕业证学位证靠谱定制一比一原版(Offer)康考迪亚大学毕业证学位证靠谱定制
一比一原版(Offer)康考迪亚大学毕业证学位证靠谱定制pxcywzqs
 
在线制作约克大学毕业证(yu毕业证)在读证明认证可查
在线制作约克大学毕业证(yu毕业证)在读证明认证可查在线制作约克大学毕业证(yu毕业证)在读证明认证可查
在线制作约克大学毕业证(yu毕业证)在读证明认证可查ydyuyu
 
一比一原版(Curtin毕业证书)科廷大学毕业证原件一模一样
一比一原版(Curtin毕业证书)科廷大学毕业证原件一模一样一比一原版(Curtin毕业证书)科廷大学毕业证原件一模一样
一比一原版(Curtin毕业证书)科廷大学毕业证原件一模一样ayvbos
 
Russian Escort Abu Dhabi 0503464457 Abu DHabi Escorts
Russian Escort Abu Dhabi 0503464457 Abu DHabi EscortsRussian Escort Abu Dhabi 0503464457 Abu DHabi Escorts
Russian Escort Abu Dhabi 0503464457 Abu DHabi EscortsMonica Sydney
 
原版制作美国爱荷华大学毕业证(iowa毕业证书)学位证网上存档可查
原版制作美国爱荷华大学毕业证(iowa毕业证书)学位证网上存档可查原版制作美国爱荷华大学毕业证(iowa毕业证书)学位证网上存档可查
原版制作美国爱荷华大学毕业证(iowa毕业证书)学位证网上存档可查ydyuyu
 
"Boost Your Digital Presence: Partner with a Leading SEO Agency"
"Boost Your Digital Presence: Partner with a Leading SEO Agency""Boost Your Digital Presence: Partner with a Leading SEO Agency"
"Boost Your Digital Presence: Partner with a Leading SEO Agency"growthgrids
 

Recently uploaded (20)

Russian Call girls in Abu Dhabi 0508644382 Abu Dhabi Call girls
Russian Call girls in Abu Dhabi 0508644382 Abu Dhabi Call girlsRussian Call girls in Abu Dhabi 0508644382 Abu Dhabi Call girls
Russian Call girls in Abu Dhabi 0508644382 Abu Dhabi Call girls
 
哪里办理美国迈阿密大学毕业证(本硕)umiami在读证明存档可查
哪里办理美国迈阿密大学毕业证(本硕)umiami在读证明存档可查哪里办理美国迈阿密大学毕业证(本硕)umiami在读证明存档可查
哪里办理美国迈阿密大学毕业证(本硕)umiami在读证明存档可查
 
Top profile Call Girls In Dindigul [ 7014168258 ] Call Me For Genuine Models ...
Top profile Call Girls In Dindigul [ 7014168258 ] Call Me For Genuine Models ...Top profile Call Girls In Dindigul [ 7014168258 ] Call Me For Genuine Models ...
Top profile Call Girls In Dindigul [ 7014168258 ] Call Me For Genuine Models ...
 
Nagercoil Escorts Service Girl ^ 9332606886, WhatsApp Anytime Nagercoil
Nagercoil Escorts Service Girl ^ 9332606886, WhatsApp Anytime NagercoilNagercoil Escorts Service Girl ^ 9332606886, WhatsApp Anytime Nagercoil
Nagercoil Escorts Service Girl ^ 9332606886, WhatsApp Anytime Nagercoil
 
Meaning of On page SEO & its process in detail.
Meaning of On page SEO & its process in detail.Meaning of On page SEO & its process in detail.
Meaning of On page SEO & its process in detail.
 
pdfcoffee.com_business-ethics-q3m7-pdf-free.pdf
pdfcoffee.com_business-ethics-q3m7-pdf-free.pdfpdfcoffee.com_business-ethics-q3m7-pdf-free.pdf
pdfcoffee.com_business-ethics-q3m7-pdf-free.pdf
 
2nd Solid Symposium: Solid Pods vs Personal Knowledge Graphs
2nd Solid Symposium: Solid Pods vs Personal Knowledge Graphs2nd Solid Symposium: Solid Pods vs Personal Knowledge Graphs
2nd Solid Symposium: Solid Pods vs Personal Knowledge Graphs
 
20240510 QFM016 Irresponsible AI Reading List April 2024.pdf
20240510 QFM016 Irresponsible AI Reading List April 2024.pdf20240510 QFM016 Irresponsible AI Reading List April 2024.pdf
20240510 QFM016 Irresponsible AI Reading List April 2024.pdf
 
20240509 QFM015 Engineering Leadership Reading List April 2024.pdf
20240509 QFM015 Engineering Leadership Reading List April 2024.pdf20240509 QFM015 Engineering Leadership Reading List April 2024.pdf
20240509 QFM015 Engineering Leadership Reading List April 2024.pdf
 
best call girls in Hyderabad Finest Escorts Service 📞 9352988975 📞 Available ...
best call girls in Hyderabad Finest Escorts Service 📞 9352988975 📞 Available ...best call girls in Hyderabad Finest Escorts Service 📞 9352988975 📞 Available ...
best call girls in Hyderabad Finest Escorts Service 📞 9352988975 📞 Available ...
 
Trump Diapers Over Dems t shirts Sweatshirt
Trump Diapers Over Dems t shirts SweatshirtTrump Diapers Over Dems t shirts Sweatshirt
Trump Diapers Over Dems t shirts Sweatshirt
 
75539-Cyber Security Challenges PPT.pptx
75539-Cyber Security Challenges PPT.pptx75539-Cyber Security Challenges PPT.pptx
75539-Cyber Security Challenges PPT.pptx
 
Story Board.pptxrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr
Story Board.pptxrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrStory Board.pptxrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr
Story Board.pptxrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr
 
Indian Escort in Abu DHabi 0508644382 Abu Dhabi Escorts
Indian Escort in Abu DHabi 0508644382 Abu Dhabi EscortsIndian Escort in Abu DHabi 0508644382 Abu Dhabi Escorts
Indian Escort in Abu DHabi 0508644382 Abu Dhabi Escorts
 
一比一原版(Offer)康考迪亚大学毕业证学位证靠谱定制
一比一原版(Offer)康考迪亚大学毕业证学位证靠谱定制一比一原版(Offer)康考迪亚大学毕业证学位证靠谱定制
一比一原版(Offer)康考迪亚大学毕业证学位证靠谱定制
 
在线制作约克大学毕业证(yu毕业证)在读证明认证可查
在线制作约克大学毕业证(yu毕业证)在读证明认证可查在线制作约克大学毕业证(yu毕业证)在读证明认证可查
在线制作约克大学毕业证(yu毕业证)在读证明认证可查
 
一比一原版(Curtin毕业证书)科廷大学毕业证原件一模一样
一比一原版(Curtin毕业证书)科廷大学毕业证原件一模一样一比一原版(Curtin毕业证书)科廷大学毕业证原件一模一样
一比一原版(Curtin毕业证书)科廷大学毕业证原件一模一样
 
Russian Escort Abu Dhabi 0503464457 Abu DHabi Escorts
Russian Escort Abu Dhabi 0503464457 Abu DHabi EscortsRussian Escort Abu Dhabi 0503464457 Abu DHabi Escorts
Russian Escort Abu Dhabi 0503464457 Abu DHabi Escorts
 
原版制作美国爱荷华大学毕业证(iowa毕业证书)学位证网上存档可查
原版制作美国爱荷华大学毕业证(iowa毕业证书)学位证网上存档可查原版制作美国爱荷华大学毕业证(iowa毕业证书)学位证网上存档可查
原版制作美国爱荷华大学毕业证(iowa毕业证书)学位证网上存档可查
 
"Boost Your Digital Presence: Partner with a Leading SEO Agency"
"Boost Your Digital Presence: Partner with a Leading SEO Agency""Boost Your Digital Presence: Partner with a Leading SEO Agency"
"Boost Your Digital Presence: Partner with a Leading SEO Agency"
 

Push Functional Testing Further

  • 1. Push Your Functional Testing Further Alan Richardson EvilTester.com @EvilTester Technology and Security into
  • 2. @EvilTester 2 Part the first, wherein we describe Functional Testing in terms of Systems and Models, and expand A model of testing to include Technical Testing.
  • 3. @EvilTester 3 Functional Testing ● Testers learn how to test systems – Requirements – 'What' a system 'should' do
  • 4. @EvilTester 4 Systems ● System under Development ● System of Development
  • 5. @EvilTester 5 System Under Development ● System under Development – Requirements – Architecture – Environments – etc.
  • 6. @EvilTester 6 System Of Development ● Methodological Context ● Social Constructs ● Model Different Systems of Testing – Systems of Feedback – Systems of Learning – Systems of Questioning – ...
  • 8. @EvilTester 8 A Model of Testing ● Modelling, ● Observation, ● Intent, ● Reflection, ● Manipulation
  • 9. @EvilTester 9 We can push our functional testing further ● “What is it supposed to do?” – vs “What does it do?” ● Comparison to other models ● Is it viable? ● Precondition analysis ● Presupposition analysis
  • 10. @EvilTester 10 We can push our functional testing further ● Explore 'How' the system does what it does ● Understand the technology used to build the system – Identify technology risks – Identify risks at different levels of the stack – Work at different levels of the stack
  • 11. @EvilTester 11 A Model of Technical Testing ● Modelling, ● Observation, ● Interrogation, ● Reflection (includes intent), ● Manipulation
  • 12. @EvilTester 12 Part the second, wherein two technical models are provided with a discussion of possible technical testing approaches.
  • 13. @EvilTester 13 Example – a Java App ● HouseOfTest.se – /2016/02/testers-contest-crappy-little-datagenerator/
  • 14. @EvilTester 14 Observation Example – a Java App ● Double click run – see GUI ● tail -f DataGeneration.txt ● Text Editor – Line endings – Refresh ● No exceptions shown
  • 15. @EvilTester 15 Observation Example – a Java App ● java -jar crappy_little_datagenerator_v_1.0.jar – Now can see stdout written to command line, exceptions, errors etc.
  • 16. @EvilTester 16 Interrogation Example – a Java App ● Decompile e.g. http://jd.benow.ca/ ● Load .jar as a library into a Project
  • 18. @EvilTester 18 Observe - Multiple Entry Points
  • 19. @EvilTester 19 Modelling Example – a Java App GUI CLI DataGeneration
  • 22. @EvilTester 22 Risks ● Does this test approach add risk? – Because testing at a lower level in the stack? – Because working against a non-deployed version? – Because it is not how the user would run it?
  • 23. @EvilTester 23 Risk ● Mitigating risk provides one reason for testing ● No test approach mitigates all risk ● Multiple test approaches required
  • 24. @EvilTester 24 Modelling – a Web App HTML GUI Web App Browser Web Server App Server
  • 25. @EvilTester 25 Observe & Interrogate – a Web App HTML & DOM Web App Web Server App Server HTTP via Proxies View Source Dev Tools HTTP via Dev Tools
  • 26. @EvilTester 26 Manipulate – a Web App HTML & DOM Web App Web Server App Server HTTP via Proxies Dev Tools
  • 27. @EvilTester 27 Modelling – this Web App Web App Web Server App Server Player GUI Admin GUI Rest API
  • 28. @EvilTester 28 Part the third, wherein the overlap between technical testing and security testing are explored.
  • 30. @EvilTester 30 Technical Testing ● We will find defects and issues we would otherwise miss – Observing, Interrogating, Manipulating lower ● Some defects normally associated with security testing – I am not a security tester – Technically Informed Modelling
  • 31. @EvilTester 31 Security Overlap Examples ● Code reviews find hard-coded security issues ● Form field inspection exposed emails, executable shell code, file names for survey answers ● HTML Commented URLs to 'secret' parts of the application ● User HTTP json contains more info than displayed as HTML
  • 32. @EvilTester 32 Security Overlap Examples Because... ● Code reviews find hard-coded security issues ● Form field inspection exposed emails, executable shell code, file names for survey answers ● HTML Commented URLs to 'secret' parts of the application ● User HTTP json contains more info than displayed as HTML Observed More Deeply Interrogated More Deeply Interrogated More Deeply Observed, Interrogated, Manipulated More Deeply Because Modelled More Deeply
  • 33. @EvilTester 33 Any Methodology : Any Tester ● Methodology context does not dictate – 'Process' context might dictate – 'Social' context might dictate ● Any Tester can do this – Limited by technology knowledge – Limited by technical skill – Limited by choice
  • 34. @EvilTester 34 Part the fourth, wherein the steps to increase technical ability are made lay afore the public.
  • 35. @EvilTester 35 I am fairly Technical ● Books ● SeleniumSimplified.com ● EvilTester.com ● JavaForTesters.com ● Online Training Courses ● Consultancy, work hands on with teams
  • 36. @EvilTester 36 I grew up with computers... http://www.retrogamer.net/profiles/hardware/zx-spectrum-hardware-profile/
  • 37. @EvilTester 37 I grew up reading computer books... http://www.usborne.com/catalogue/feature-page/computer-and-coding-books.aspx
  • 38. @EvilTester 38 ...but not with the internet http://www.worldofspectrum.org/hardware/feat24.html
  • 39. @EvilTester 39 I had to learn how to test the web
  • 40. @EvilTester 40 How to learn to test the web ● Model What You Know – HTML? HTTP? Browsers? ● Increase your ability to Observe at the GUI – View Source – Inspect Element - Dev Tools – You will see things you don't understand (add to your model & research)
  • 41. @EvilTester 41 How to learn to test the web ● Increase your ability to Manipulate at the GUI – Inspect Element - Dev Tools – Amend DOM prior to submitting a form – Inspect and manipulate URLs ● Cookies, Local Storage – Inspect – Figure out how to manipulate (plugins required?)
  • 42. @EvilTester 42 Basic Web Challenges ● View Source and inspect Element of: – Your favourite web sites ● How do they do 'that'? ● Any free 'pdf' report that requires 'email' – find the download without adding your email ● Newspapers - 'you have read too many articles today' – how can they tell? Manipulate to bypass?
  • 43. @EvilTester 43 How to learn to test the web ● Observe HTTP Traffic in Browser – Network tab in Dev Tools ● Observe HTTP Traffic outside Browser – HTTP Proxy – Fiddler, Charles, BurpSuite, Owasp ZAP – Interrogate and Manipulate Traffic with a Proxy
  • 44. @EvilTester 44 How to learn to test the web ● Learn features in the browser – View Source, Users, Dev Tools – How can the feature help you test? ● Learn features in the proxies – Replay Message, Fuzzers, Auto Responders – How can the feature help you test?
  • 45. @EvilTester 45 Technology Basics ● Model the Technology – Where are the gaps in your understanding? – These gaps are risks to your testing. ● How can I observe X? ● How can I interrogate X? ● How can I manipulate X? ● Repeat
  • 46. @EvilTester 46 Application Basics ● Model the application ● What is it actually doing? – Not just what is it supposed to do ● How does it do X? – Observe, Interrogate, Manipulate
  • 48. @EvilTester 48 Pushing Functional Testing Further Go Even Further: ● Explore and automate systems below the GUI ● GUI as API ● Quickly enter more combinations of input than would otherwise be feasible ● Fuzzers, Setup Test Data ● Test at an API level without specialist tools ● Proxy message creation Even
  • 49. @EvilTester 49 Do the work! ● Research ● Experiment ● Learn ● Take Small Steps
  • 50. @EvilTester 50 Do The Work! ● Alan Richardson – @EvilTester – www.EvilTester.com – www.JavaForTester.com – www.SeleniumSimplified.com – www.CompendiumDev.co.uk