SlideShare ist ein Scribd-Unternehmen logo
1 von 43
Downloaden Sie, um offline zu lesen
Technical Testing Webinar 1st
April
2015 for Tabara de Testare
4 Romanian Cities, 1 Webinar
http://www.eviltester.com
http://www.meetup.com/Tabara-de-Testare-Cluj/
●
On 1st
April 2015, this webinar was presented
live via Google Hangouts to the Tabara de
Testare Romanian Testing Group
● An audience spread across rooms in 4
Romanian Cities, with 70+ people tuning in from
the comfort of their own home and workplace
● The Webinar consisted of the slides and talky
bits, a hands on demo, followed by a Q&A
section
Blogs and Websites
● CompendiumDev.co.uk
● SeleniumSimplified.com
● EvilTester.com
● JavaForTesters.com
● Twitter: @eviltester
Online Training Courses
● Technical Web Testing 101
Unow.be/at/techwebtest101
● Intro to Selenium
Unow.be/at/startwebdriver
● Selenium 2 WebDriver API
Unow.be/at/webdriverapi
Videos
youtube.com/user/EviltesterVideos
Books
Selenium Simplified
Unow.be/rc/selsimp
Java For Testers
leanpub.com/javaForTesters
Alan Richardson
uk.linkedin.com/in/eviltester
Independent Test Consultant
& Custom Training
Contact Alan
http://compendiumdev.co.uk/contact
But first some surface structure
examples:
● Non-Technical Testing of a Web App
– Tester → Browser
● Technical Testing of a Web App
– Tester → Browser → Proxy → Server → DB
Non-Technical Testing of a Web App
Technical Testing of a Web App
Technical Testing of a Web App
● Log monitoring
● DB access
● DB monitoring
● Profiling on the server
● Etc.
Surface Structure
● What it looks like from the outside
● Not a deep model
● It's not just addition of tools
● Attitude
● Philosophy
What do I mean by Testing?
All the normal stuff we learn
● Testing Techniques, Testing Object Oriented
Systems
● Boundaries, Equiv, Domain Testing, Graphs,
Entities
All the Lessons we've learned over
the years
● Testing Computer Software, Lessons Learned
in software testing
Over the years we build up models
of what we do
● Heuristics,
● Mnemonics
● Rapid Software Testing,
http://www.qualityperspectives.ca/
resources_mnemonics.html
http://www.satisfice.com/info_rst.shtml
Build your own model
● Observe what you do
● Reflect on why you do it
● Ask yourself how else you could do it
14
MORIM
● Model
– What I think I understand. Different viewpoints.
● Observe
– at different points to corroborate/invalidate model
● Reflect
– find gaps, lack of depth, derive intent
● Interrogate
– Focussed, deep dive observation with intent
● Manipulate
– Hypothesis exploration and “how we do stuff”
15
MORIM from Psychotherapy
● Model
– “Work with the client you have, not the client you
want”
● Observe
– What language patterns do people use?
● Reflect
– Remodel. Figure out what questions to ask next
● Interrogate
– Specific questions to ask
● Manipulate
– To effect change, manipulate - Hypnosis
16
Tools
● Systems Thinking & Modelling
– Modelling,
– Cybernetics,
– Psychotherapy,
– ...
● Testing Knowledge
– Techniques,
– Exploration,
– Note Taking,
– etc.
17
Fundamentally, everything I do is
modelling and model exploration.
● 'Technical' means going deeper into the models
18
MORIM & Technical Web Testing
19
Web Context: A Browser Model
20
Web
Context: A
Browser
Model –
Technical
Risks
21
Generic Web Application Model
Browser ↔ Server ↔ Database
What happens where?
What could we observe where?
Where could we manipulate?
22
Generic Web Application
Browser ↔ Server ↔ Database
HTTP Traffic
Cookie Creation
JSON, XML
Files: img, pdf, etc.
Rendering
CSS
Cookies
JavaScript
HTTP Logs
Application Logs
Schema
Data
23
Modelling & Reflection lead to
tooling to augment our testing
● What can we observe?
– How would that help me?
● How can I observe it? → tools
● What can I manipulate?
– Why would I manipulate it?
● How can I manipulate it? → tools
24
Web Context:
A Browser
Model –
Technical
Tooling
Augmented
25
What tools could we use?
● What can we observe?
– Http traffic, cookies, javascript execution, log files,
data in the database, DB schema used
● What tools do we need to observe?
– HTTP Proxy (Burpsuite, ZAP Proxy, Fiddler),
Browser Developer Tools (in browser), DB Tool
(mysql, mysql workbench), Text Editors, Log File
Viewers (tail -f)
● What can we manipulate?
– HTTP Traffic, DOM, Cookies, DB, Config
● What tools do we need to manipulate?
– All of the above
26
Tools lead to new ideas
● Don't start with tools
● But once you have tools
– Tools are technology
– Look at their features – expand your models
– How could you use that?
– What does that teach you?
27
e.g. Fuzzing
● Fuzzing – repeating requests while varying data
● Some proxy tools have Fuzzers
● Traditional use as templated security testing...
● We could 'repeat requests while varying data'
– Quick tool supported exploration of a controlled
data set
– Fuzz data sets as data we would never use
28
Reflections on Technical Testing
29
A description of Technical Testing
● A reminder to keep “going deeper”
● Tool Augmentation
● Technical details will:
– inspire more testing
– identify more risks
– Identify different problems
● Not limit our testing to Acceptance Criteria
30
It means "Tool Augmentation"
● Is not automation, it uses automation
● Tools to passively observe, maintain history of
observations
● Tools to alert on specific conditions
● Tools to observe the unobserved, and
interrogate the inaccessible
● Tools to help me model and reflect
● Tools to help me manipulate
● ... etc.
Never tools to control. Tools to augment.
31
How I describe what I do
● Not a definition
● A description of my current approaches
● I try get as deep and technical as I can
● I need to keep learning so that I can understand
the technology
32
Go Beyond the surface structure
● Transformational Grammar
– Surface & Deep Structure
– Chomsky
– Multiple surface structures
– Single Deep structure
● Filtered, biased, distorted → Surface Structure
● Questions operate as tools to investigate
Surface to Deep mapping people
33
Go Beyond the surface structure
● A Blueish Ball
● A Silvery round
object
● A Bean Bag
● A Shiny Juggling
prop
34
Go Beyond the surface structure
● It's An Alien
● A Silvery round
object
● A Bean Bag
● A Shiny Juggling
prop
35
It's not an alien
“'Say whatever you choose about the
object, and whatever you might say is
not it.' Or, in other words: Whatever you
might say the object “is”, well it is not.'”
Alfred Korzybski, Science and Sanity, 5th
ed, pg 35
36
How to do Technical Testing?
● Identify tools to work with System Surface
Structures
● Questioning Systems at different Surface
Levels
● Learning System Structure Technology
● Model System Surface Structures
● Observe System Surface Structures
37
Technical Testing Risks & Issues
● Take responsibility for your testing
● Is anyone really going to stop you from doing
the best testing you can?
● You can learn, as you add value. Take small
steps.
● You can learn, as you pair. Ask questions, take
notes. Apply your 'testing super powers' to the
information you get.
● Use technical testing to 'push' for more access
to environments and system internals
38
Resources
39
Resources - Testing
● Books
– Testing Techniques (Beizer)
– Testing Object Oriented Systems (Binder)
– Testing Computer Software,
– Lessons Learned in Software Testing
● Mnemonics lists
– qualityperspectives.ca/resources_mnemonics.html
● Rapid Software Testing
– by James Bach & Michael Bolton
– satisfice.com/info_rst.shtml
40
Resources - Modelling
● Rethinking Systems Analysis & Design
– by Gerald M. Weinberg
● Domain Driven Design
– by Eric Evans
● Diagnosing the System For Organisations
– by Stafford Beer
● Software Requirements & Specifications
– by Michael Jackson
● Principles of Experimentation And
Measurement – by Gordon M. Bragg
41
Resources - Observation &
Interrogation
● Observation
– The Structure of Magic Volumes 1 & 2
● by Richard Bandler and John Grinder
● Interrogation
– The Web Application Hackers Handbook
– Provocative Therapy by Frank Farrelly
– NLP For Testers, by Alan Richardson
● compendiumdev.co.uk/page/nlp
42
Resources – Reflection &
Manipulation
● Reflection
– Quantum Psychology by Robert Anton Wilson
● Manipulation
– How to Break Software, How to Break Web
Software, How to Break Security
● by Whittaker (and others)
– Patterns of the Hypnotic Techniques of Milton
Erickson
● by Richard Bandler & John Grinder
– Changing with Families
● by Bandler, Grinder & Virginia Satir
43
● Thank you to Tabara De Testare for organising
the webinar
● And thanks to everyone who attended at the
various venues and from their own homes and
workplaces
● http://www.meetup.com/Tabara-de-Testare-Cluj/

Weitere ähnliche Inhalte

Was ist angesagt?

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
 
Abstraction Layers Test Management Summit Faciliated Session 2014
Abstraction Layers Test Management Summit Faciliated Session 2014Abstraction Layers Test Management Summit Faciliated Session 2014
Abstraction Layers Test Management Summit Faciliated Session 2014Alan Richardson
 
Technology Based Testing
Technology Based TestingTechnology Based Testing
Technology Based TestingAlan Richardson
 
Risk Mitigation Using Exploratory and Technical Testing - QASymphony Webinar ...
Risk Mitigation Using Exploratory and Technical Testing - QASymphony Webinar ...Risk Mitigation Using Exploratory and Technical Testing - QASymphony Webinar ...
Risk Mitigation Using Exploratory and Technical Testing - QASymphony Webinar ...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
 
Automating Pragmatically - Testival 20190604
Automating Pragmatically - Testival 20190604Automating Pragmatically - Testival 20190604
Automating Pragmatically - Testival 20190604Alan Richardson
 
Practical Test Automation Deep Dive
Practical Test Automation Deep DivePractical Test Automation Deep Dive
Practical Test Automation Deep DiveAlan Richardson
 
Agile Testing Days 2014 Keynote - Helping Testers Add Value on Agile Projects
Agile Testing Days 2014 Keynote - Helping Testers Add Value on Agile ProjectsAgile Testing Days 2014 Keynote - Helping Testers Add Value on Agile Projects
Agile Testing Days 2014 Keynote - Helping Testers Add Value on Agile ProjectsAlan 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
 
Automating Tactically vs Strategically SauceCon 2020
Automating Tactically vs Strategically SauceCon 2020Automating Tactically vs Strategically SauceCon 2020
Automating Tactically vs Strategically SauceCon 2020Alan Richardson
 
Test Bash Netherlands Alan Richardson "How to misuse 'Automation' for testing...
Test Bash Netherlands Alan Richardson "How to misuse 'Automation' for testing...Test Bash Netherlands Alan Richardson "How to misuse 'Automation' for testing...
Test Bash Netherlands Alan Richardson "How to misuse 'Automation' for testing...Alan Richardson
 
Automating Strategically or Tactically when Testing
Automating Strategically or Tactically when TestingAutomating Strategically or Tactically when Testing
Automating Strategically or Tactically when TestingAlan Richardson
 
Push Functional Testing Further
Push Functional Testing FurtherPush Functional Testing Further
Push Functional Testing FurtherAlan Richardson
 
The Art of Questioning to improve Software Testing, Agile and Automating
The Art of Questioning to improve Software Testing, Agile and AutomatingThe Art of Questioning to improve Software Testing, Agile and Automating
The Art of Questioning to improve Software Testing, Agile and AutomatingAlan 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
 
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
 
Joy of Coding Conference 2019 slides - Alan Richardson
Joy of Coding Conference 2019 slides - Alan RichardsonJoy of Coding Conference 2019 slides - Alan Richardson
Joy of Coding Conference 2019 slides - Alan RichardsonAlan 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
 

Was ist angesagt? (20)

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
 
Abstraction Layers Test Management Summit Faciliated Session 2014
Abstraction Layers Test Management Summit Faciliated Session 2014Abstraction Layers Test Management Summit Faciliated Session 2014
Abstraction Layers Test Management Summit Faciliated Session 2014
 
Technology Based Testing
Technology Based TestingTechnology Based Testing
Technology Based Testing
 
Risk Mitigation Using Exploratory and Technical Testing - QASymphony Webinar ...
Risk Mitigation Using Exploratory and Technical Testing - QASymphony Webinar ...Risk Mitigation Using Exploratory and Technical Testing - QASymphony Webinar ...
Risk Mitigation Using Exploratory and Technical Testing - QASymphony Webinar ...
 
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
 
Automating Pragmatically - Testival 20190604
Automating Pragmatically - Testival 20190604Automating Pragmatically - Testival 20190604
Automating Pragmatically - Testival 20190604
 
Practical Test Automation Deep Dive
Practical Test Automation Deep DivePractical Test Automation Deep Dive
Practical Test Automation Deep Dive
 
Agile Testing Days 2014 Keynote - Helping Testers Add Value on Agile Projects
Agile Testing Days 2014 Keynote - Helping Testers Add Value on Agile ProjectsAgile Testing Days 2014 Keynote - Helping Testers Add Value on Agile Projects
Agile Testing Days 2014 Keynote - Helping Testers Add Value on Agile Projects
 
Devfest 2019-slides
Devfest 2019-slidesDevfest 2019-slides
Devfest 2019-slides
 
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
 
Automating Tactically vs Strategically SauceCon 2020
Automating Tactically vs Strategically SauceCon 2020Automating Tactically vs Strategically SauceCon 2020
Automating Tactically vs Strategically SauceCon 2020
 
Test Bash Netherlands Alan Richardson "How to misuse 'Automation' for testing...
Test Bash Netherlands Alan Richardson "How to misuse 'Automation' for testing...Test Bash Netherlands Alan Richardson "How to misuse 'Automation' for testing...
Test Bash Netherlands Alan Richardson "How to misuse 'Automation' for testing...
 
Automating Strategically or Tactically when Testing
Automating Strategically or Tactically when TestingAutomating Strategically or Tactically when Testing
Automating Strategically or Tactically when Testing
 
Push Functional Testing Further
Push Functional Testing FurtherPush Functional Testing Further
Push Functional Testing Further
 
The Art of Questioning to improve Software Testing, Agile and Automating
The Art of Questioning to improve Software Testing, Agile and AutomatingThe Art of Questioning to improve Software Testing, Agile and Automating
The Art of Questioning to improve Software Testing, Agile and Automating
 
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
 
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
 
Joy of Coding Conference 2019 slides - Alan Richardson
Joy of Coding Conference 2019 slides - Alan RichardsonJoy of Coding Conference 2019 slides - Alan Richardson
Joy of Coding Conference 2019 slides - 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" Game
 

Ähnlich wie Technical Testing Webinar

Getting Started With User Research, Presented at Agile2010
Getting Started With User Research, Presented at Agile2010Getting Started With User Research, Presented at Agile2010
Getting Started With User Research, Presented at Agile2010Carol Smith
 
Learn Learning + Prototype Testing
Learn Learning + Prototype TestingLearn Learning + Prototype Testing
Learn Learning + Prototype TestingDave Hora
 
Santa Barbara Agile: Exploratory Testing Explained and Experienced
Santa Barbara Agile: Exploratory Testing Explained and ExperiencedSanta Barbara Agile: Exploratory Testing Explained and Experienced
Santa Barbara Agile: Exploratory Testing Explained and ExperiencedMaaret Pyhäjärvi
 
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
 
Getting Started with User Research
Getting Started with User ResearchGetting Started with User Research
Getting Started with User ResearchDiane Loviglio
 
Code mashadvancedtopicsworkshop
Code mashadvancedtopicsworkshopCode mashadvancedtopicsworkshop
Code mashadvancedtopicsworkshoplisacrispin
 
Artificial Intelligence and The Complexity
Artificial Intelligence and The ComplexityArtificial Intelligence and The Complexity
Artificial Intelligence and The ComplexityHendri Karisma
 
Grokking Techtalk #45: First Principles Thinking
Grokking Techtalk #45: First Principles ThinkingGrokking Techtalk #45: First Principles Thinking
Grokking Techtalk #45: First Principles ThinkingGrokking VN
 
Curtain call of zooey - what i've learned in yahoo
Curtain call of zooey - what i've learned in yahooCurtain call of zooey - what i've learned in yahoo
Curtain call of zooey - what i've learned in yahoo羽祈 張
 
OISF - Continuous Skills Improvement for Everyone
OISF - Continuous Skills Improvement for EveryoneOISF - Continuous Skills Improvement for Everyone
OISF - Continuous Skills Improvement for EveryoneThreatReel Podcast
 
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
 
CX Survival Guide for 2019
CX Survival Guide for 2019CX Survival Guide for 2019
CX Survival Guide for 2019UserTesting
 
User Experience Basics for Product Management
User Experience Basics for Product ManagementUser Experience Basics for Product Management
User Experience Basics for Product ManagementRoger Hart
 
Exploratory testing
Exploratory testingExploratory testing
Exploratory testingHuib Schoots
 
How to learn new software quickly
How to learn new software quicklyHow to learn new software quickly
How to learn new software quicklyChuck Grimmett
 
How to Succeed as a PM by fmr Native Instrument Dir of Product
How to Succeed as a PM by fmr Native Instrument Dir of ProductHow to Succeed as a PM by fmr Native Instrument Dir of Product
How to Succeed as a PM by fmr Native Instrument Dir of ProductProduct School
 

Ähnlich wie Technical Testing Webinar (20)

Getting Started With User Research, Presented at Agile2010
Getting Started With User Research, Presented at Agile2010Getting Started With User Research, Presented at Agile2010
Getting Started With User Research, Presented at Agile2010
 
Don't Fear the User
Don't Fear the UserDon't Fear the User
Don't Fear the User
 
Learn Learning + Prototype Testing
Learn Learning + Prototype TestingLearn Learning + Prototype Testing
Learn Learning + Prototype Testing
 
Santa Barbara Agile: Exploratory Testing Explained and Experienced
Santa Barbara Agile: Exploratory Testing Explained and ExperiencedSanta Barbara Agile: Exploratory Testing Explained and Experienced
Santa Barbara Agile: Exploratory Testing Explained and Experienced
 
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
 
Getting Started with User Research
Getting Started with User ResearchGetting Started with User Research
Getting Started with User Research
 
Code mashadvancedtopicsworkshop
Code mashadvancedtopicsworkshopCode mashadvancedtopicsworkshop
Code mashadvancedtopicsworkshop
 
Artificial Intelligence and The Complexity
Artificial Intelligence and The ComplexityArtificial Intelligence and The Complexity
Artificial Intelligence and The Complexity
 
Tool criticism
Tool criticismTool criticism
Tool criticism
 
Don’t make me think!
Don’t make me think!Don’t make me think!
Don’t make me think!
 
Grokking Techtalk #45: First Principles Thinking
Grokking Techtalk #45: First Principles ThinkingGrokking Techtalk #45: First Principles Thinking
Grokking Techtalk #45: First Principles Thinking
 
Proyectos Investigación y Desarrollo
Proyectos Investigación y DesarrolloProyectos Investigación y Desarrollo
Proyectos Investigación y Desarrollo
 
Curtain call of zooey - what i've learned in yahoo
Curtain call of zooey - what i've learned in yahooCurtain call of zooey - what i've learned in yahoo
Curtain call of zooey - what i've learned in yahoo
 
OISF - Continuous Skills Improvement for Everyone
OISF - Continuous Skills Improvement for EveryoneOISF - Continuous Skills Improvement for Everyone
OISF - Continuous Skills Improvement for Everyone
 
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
 
CX Survival Guide for 2019
CX Survival Guide for 2019CX Survival Guide for 2019
CX Survival Guide for 2019
 
User Experience Basics for Product Management
User Experience Basics for Product ManagementUser Experience Basics for Product Management
User Experience Basics for Product Management
 
Exploratory testing
Exploratory testingExploratory testing
Exploratory testing
 
How to learn new software quickly
How to learn new software quicklyHow to learn new software quickly
How to learn new software quickly
 
How to Succeed as a PM by fmr Native Instrument Dir of Product
How to Succeed as a PM by fmr Native Instrument Dir of ProductHow to Succeed as a PM by fmr Native Instrument Dir of Product
How to Succeed as a PM by fmr Native Instrument Dir of Product
 

Mehr von Alan Richardson

The Future of Testing Webinar
The Future of Testing WebinarThe Future of Testing Webinar
The Future of Testing WebinarAlan 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
 
How To Test With Agility
How To Test With AgilityHow To Test With Agility
How To Test With AgilityAlan Richardson
 
Your Automated Execution Does Not Have to be Flaky
Your Automated Execution Does Not Have to be FlakyYour Automated Execution Does Not Have to be Flaky
Your Automated Execution Does Not Have to be FlakyAlan 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
 
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
 
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
 

Mehr von Alan Richardson (17)

The Future of Testing Webinar
The Future of Testing WebinarThe Future of Testing Webinar
The Future of Testing Webinar
 
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
 
How To Test With Agility
How To Test With AgilityHow To Test With Agility
How To Test With Agility
 
Your Automated Execution Does Not Have to be Flaky
Your Automated Execution Does Not Have to be FlakyYour Automated Execution Does Not Have to be Flaky
Your Automated Execution Does Not Have to be Flaky
 
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
 
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)
 
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
 

Kürzlich hochgeladen

[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdfSandro Moreira
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...DianaGray10
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FMESafe Software
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDropbox
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusZilliz
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...apidays
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfOrbitshub
 
Six Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal OntologySix Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal Ontologyjohnbeverley2021
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...apidays
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamUiPathCommunity
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodJuan lago vázquez
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxRustici Software
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MIND CTI
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProduct Anonymous
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingEdi Saputra
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native ApplicationsWSO2
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businesspanagenda
 

Kürzlich hochgeladen (20)

[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with Milvus
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
 
Six Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal OntologySix Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal Ontology
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 

Technical Testing Webinar

  • 1. Technical Testing Webinar 1st April 2015 for Tabara de Testare 4 Romanian Cities, 1 Webinar http://www.eviltester.com http://www.meetup.com/Tabara-de-Testare-Cluj/
  • 2. ● On 1st April 2015, this webinar was presented live via Google Hangouts to the Tabara de Testare Romanian Testing Group ● An audience spread across rooms in 4 Romanian Cities, with 70+ people tuning in from the comfort of their own home and workplace ● The Webinar consisted of the slides and talky bits, a hands on demo, followed by a Q&A section
  • 3. Blogs and Websites ● CompendiumDev.co.uk ● SeleniumSimplified.com ● EvilTester.com ● JavaForTesters.com ● Twitter: @eviltester Online Training Courses ● Technical Web Testing 101 Unow.be/at/techwebtest101 ● Intro to Selenium Unow.be/at/startwebdriver ● Selenium 2 WebDriver API Unow.be/at/webdriverapi Videos youtube.com/user/EviltesterVideos Books Selenium Simplified Unow.be/rc/selsimp Java For Testers leanpub.com/javaForTesters Alan Richardson uk.linkedin.com/in/eviltester Independent Test Consultant & Custom Training Contact Alan http://compendiumdev.co.uk/contact
  • 4. But first some surface structure examples: ● Non-Technical Testing of a Web App – Tester → Browser ● Technical Testing of a Web App – Tester → Browser → Proxy → Server → DB
  • 7. Technical Testing of a Web App ● Log monitoring ● DB access ● DB monitoring ● Profiling on the server ● Etc.
  • 8. Surface Structure ● What it looks like from the outside ● Not a deep model ● It's not just addition of tools ● Attitude ● Philosophy
  • 9. What do I mean by Testing?
  • 10. All the normal stuff we learn ● Testing Techniques, Testing Object Oriented Systems ● Boundaries, Equiv, Domain Testing, Graphs, Entities
  • 11. All the Lessons we've learned over the years ● Testing Computer Software, Lessons Learned in software testing
  • 12. Over the years we build up models of what we do ● Heuristics, ● Mnemonics ● Rapid Software Testing, http://www.qualityperspectives.ca/ resources_mnemonics.html http://www.satisfice.com/info_rst.shtml
  • 13. Build your own model ● Observe what you do ● Reflect on why you do it ● Ask yourself how else you could do it
  • 14. 14 MORIM ● Model – What I think I understand. Different viewpoints. ● Observe – at different points to corroborate/invalidate model ● Reflect – find gaps, lack of depth, derive intent ● Interrogate – Focussed, deep dive observation with intent ● Manipulate – Hypothesis exploration and “how we do stuff”
  • 15. 15 MORIM from Psychotherapy ● Model – “Work with the client you have, not the client you want” ● Observe – What language patterns do people use? ● Reflect – Remodel. Figure out what questions to ask next ● Interrogate – Specific questions to ask ● Manipulate – To effect change, manipulate - Hypnosis
  • 16. 16 Tools ● Systems Thinking & Modelling – Modelling, – Cybernetics, – Psychotherapy, – ... ● Testing Knowledge – Techniques, – Exploration, – Note Taking, – etc.
  • 17. 17 Fundamentally, everything I do is modelling and model exploration. ● 'Technical' means going deeper into the models
  • 18. 18 MORIM & Technical Web Testing
  • 19. 19 Web Context: A Browser Model
  • 21. 21 Generic Web Application Model Browser ↔ Server ↔ Database What happens where? What could we observe where? Where could we manipulate?
  • 22. 22 Generic Web Application Browser ↔ Server ↔ Database HTTP Traffic Cookie Creation JSON, XML Files: img, pdf, etc. Rendering CSS Cookies JavaScript HTTP Logs Application Logs Schema Data
  • 23. 23 Modelling & Reflection lead to tooling to augment our testing ● What can we observe? – How would that help me? ● How can I observe it? → tools ● What can I manipulate? – Why would I manipulate it? ● How can I manipulate it? → tools
  • 24. 24 Web Context: A Browser Model – Technical Tooling Augmented
  • 25. 25 What tools could we use? ● What can we observe? – Http traffic, cookies, javascript execution, log files, data in the database, DB schema used ● What tools do we need to observe? – HTTP Proxy (Burpsuite, ZAP Proxy, Fiddler), Browser Developer Tools (in browser), DB Tool (mysql, mysql workbench), Text Editors, Log File Viewers (tail -f) ● What can we manipulate? – HTTP Traffic, DOM, Cookies, DB, Config ● What tools do we need to manipulate? – All of the above
  • 26. 26 Tools lead to new ideas ● Don't start with tools ● But once you have tools – Tools are technology – Look at their features – expand your models – How could you use that? – What does that teach you?
  • 27. 27 e.g. Fuzzing ● Fuzzing – repeating requests while varying data ● Some proxy tools have Fuzzers ● Traditional use as templated security testing... ● We could 'repeat requests while varying data' – Quick tool supported exploration of a controlled data set – Fuzz data sets as data we would never use
  • 29. 29 A description of Technical Testing ● A reminder to keep “going deeper” ● Tool Augmentation ● Technical details will: – inspire more testing – identify more risks – Identify different problems ● Not limit our testing to Acceptance Criteria
  • 30. 30 It means "Tool Augmentation" ● Is not automation, it uses automation ● Tools to passively observe, maintain history of observations ● Tools to alert on specific conditions ● Tools to observe the unobserved, and interrogate the inaccessible ● Tools to help me model and reflect ● Tools to help me manipulate ● ... etc. Never tools to control. Tools to augment.
  • 31. 31 How I describe what I do ● Not a definition ● A description of my current approaches ● I try get as deep and technical as I can ● I need to keep learning so that I can understand the technology
  • 32. 32 Go Beyond the surface structure ● Transformational Grammar – Surface & Deep Structure – Chomsky – Multiple surface structures – Single Deep structure ● Filtered, biased, distorted → Surface Structure ● Questions operate as tools to investigate Surface to Deep mapping people
  • 33. 33 Go Beyond the surface structure ● A Blueish Ball ● A Silvery round object ● A Bean Bag ● A Shiny Juggling prop
  • 34. 34 Go Beyond the surface structure ● It's An Alien ● A Silvery round object ● A Bean Bag ● A Shiny Juggling prop
  • 35. 35 It's not an alien “'Say whatever you choose about the object, and whatever you might say is not it.' Or, in other words: Whatever you might say the object “is”, well it is not.'” Alfred Korzybski, Science and Sanity, 5th ed, pg 35
  • 36. 36 How to do Technical Testing? ● Identify tools to work with System Surface Structures ● Questioning Systems at different Surface Levels ● Learning System Structure Technology ● Model System Surface Structures ● Observe System Surface Structures
  • 37. 37 Technical Testing Risks & Issues ● Take responsibility for your testing ● Is anyone really going to stop you from doing the best testing you can? ● You can learn, as you add value. Take small steps. ● You can learn, as you pair. Ask questions, take notes. Apply your 'testing super powers' to the information you get. ● Use technical testing to 'push' for more access to environments and system internals
  • 39. 39 Resources - Testing ● Books – Testing Techniques (Beizer) – Testing Object Oriented Systems (Binder) – Testing Computer Software, – Lessons Learned in Software Testing ● Mnemonics lists – qualityperspectives.ca/resources_mnemonics.html ● Rapid Software Testing – by James Bach & Michael Bolton – satisfice.com/info_rst.shtml
  • 40. 40 Resources - Modelling ● Rethinking Systems Analysis & Design – by Gerald M. Weinberg ● Domain Driven Design – by Eric Evans ● Diagnosing the System For Organisations – by Stafford Beer ● Software Requirements & Specifications – by Michael Jackson ● Principles of Experimentation And Measurement – by Gordon M. Bragg
  • 41. 41 Resources - Observation & Interrogation ● Observation – The Structure of Magic Volumes 1 & 2 ● by Richard Bandler and John Grinder ● Interrogation – The Web Application Hackers Handbook – Provocative Therapy by Frank Farrelly – NLP For Testers, by Alan Richardson ● compendiumdev.co.uk/page/nlp
  • 42. 42 Resources – Reflection & Manipulation ● Reflection – Quantum Psychology by Robert Anton Wilson ● Manipulation – How to Break Software, How to Break Web Software, How to Break Security ● by Whittaker (and others) – Patterns of the Hypnotic Techniques of Milton Erickson ● by Richard Bandler & John Grinder – Changing with Families ● by Bandler, Grinder & Virginia Satir
  • 43. 43 ● Thank you to Tabara De Testare for organising the webinar ● And thanks to everyone who attended at the various venues and from their own homes and workplaces ● http://www.meetup.com/Tabara-de-Testare-Cluj/