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?

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
 

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

Grokking Techtalk #45: First Principles Thinking
Grokking Techtalk #45: First Principles ThinkingGrokking Techtalk #45: First Principles Thinking
Grokking Techtalk #45: First Principles Thinking
Grokking VN
 
Exploratory testing
Exploratory testingExploratory testing
Exploratory testing
Huib Schoots
 

Ä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

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

Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
Joaquim Jorge
 

Kürzlich hochgeladen (20)

Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
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, ...
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
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
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation Strategies
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
 
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
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
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...
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 

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/