SlideShare une entreprise Scribd logo
1  sur  42
Télécharger pour lire hors ligne
The Evil Tester's Guide to
   Technical Testing

   Eurostar Webinar 4th December 2012

Alan Richardson
www.eviltester.com

www.compendiumdev.co.uk
www.seleniumsimplified.com
@eviltester
Warning: This Webinar contains
Opinions.


●   Why should you care?
●   How to spot Technical Testing?
●   What stops Technical Testing?
●   Test Techniques Revisited
●   How a technical tester views a system
●   Can anyone do this?
●   The bluffer's guide to technical testing
Why Should you care?
Why should you care?



"Technical Testing sounds like hard work and I
can get away without doing this stuff."
Reasons Based on FEAR


● Projects are becoming more technical

● "They" are now testing
Reasons based on HOPE
● Flexibility

● Find different types of bugs faster

● Find bugs faster

● Add more value

● Future proof yourself
What IS
Technical Testing?
I don't know...

...But I do know:

● Technical knowledge transfers between
  domains

● Testing != Technical
And I know it when I see it...
        So let's play...


             The

"Is it Technical Testing?"

           Game
"Do you look in the Database?"
If you say...



"I don't look at the database that's not my job."




                Are you doing
              Technical Testing?
NO - wrong attitude
"Do you look in the Database?"
If you say...

"Of course I look in the database, I run these
queries that the developers gave me"




                Are you doing
              Technical Testing?
No - Not enough Understanding
"Do you look in the Database?"
If you say...

"Yes, I use the default admin tool, I run custom
queries before and after I use the app, to check
results. I understand the DB schema pretty
well."


               Are you doing
             Technical Testing?
Yes - with more to learn
"Do you look in the Database?"
If you say...

"Of course, and I sometimes ssh in, I never use
the default tool, I prefer DBToolX. I have a
script that compares the schema between
releases, and yeah, I query the db to see
what's going on."

               Are you doing
             Technical Testing?
Yes - I aspire to this
How to spot it?

   ●   Attitude
   ●   Asking Questions
   ●   Leave no stone unturned
   ●   Tool Up
   ●   Pairing
   ●   Experiment
   ●   Own It
Test Techniques
Revisited
Boundary Value Analysis
● Process a drop down with 250 items

● One technical premise: loop conditions are
  tricky

boolean foundit=false;
for(int item=1; item<=250; item++){
   if(db.isItemPresent(dropDown.get(item)){
       foundit=true;
       break;
   }
}
BVA and Technical Knowledge
● What if the technical premise changes?

foundit = false;
for(Item item : dropDown.getItems()){
   if(chosenItem.equals(item)){
       foundit=true;
       break;
   }
}
How a Technical
Tester Views Your
Application
A Non-technical view of an app

 Requirements                      Functional                   Non-functional
 Doc                               Spec                         Requirements




                http://www.compendiumdev.co.uk/selenium/search.php
A Technical View - Web App Terrain
A Technical View - Server Terrain
A Technical View - Browser Terrain
A Technical View - Architecture
Terrain
A Technical View - User Terrain
What Stops
Technical Testing?
What stops technical testing?
● Environment
● The Manager
● ...

● Personal Motivation
Environment: Lock it down


You can try to stop technical testing
by locking down the environment.
The Manager

"I'm a manager, I don't need to be
technical."
Personal Motivation...




       "Will trumps everything"
Can Anyone do this?
If I can do it, anyone can do it...

... and I've seen other people do it.
Shh... don't tell anyone... but...

        ...I'm not that technical
I've learned some secrets...
● Ask questions
● Catalogue the technologies
   ○ use the default tools       "Don't worry
● Copy others                    about breaking
   ○ pair and make notes         things.
● Study and learn                Testers are
   ○ on your own
                                 supposed to
● Identify tools by modelling:
   ○ Observation
                                 break things."
   ○ Manipulation
   ○ Interrogation
● Experiment
● Keep Learning
If I can do it, anyone can do it...


... and I've seen other people do it.
Bluffer's Guide to
Technical Testing
A Bluffer's Guide to Technical Web
Testing - starter for 13
Further Reading
● The OWASP Testing Guide
  ○ http://www.owasp.org/index.php/OWASP_Testing_Project
● Putting Systems to Work by Derek Hitchins
  ○ http://www.hitchins.net/SysBooks.html (free download pdf)
● The Art of War by Sun Tzu
  ○ provides a generalisable model for technical testing - including
        map/territory, observation (use of spies) and manipulation
  ○     www.sonshi.com
  ○ http://www.feedbooks.com/book/168/the-art-of-war
● The Book of Five Rings by Miyamoto Musashi
  ○ How to practice and improve
  ○ http://www.feedbooks.com/book/3953/the-book-of-five-rings
Next up: You
Alan Richardson

@eviltester




eviltester.com
compendiumdev.co.uk
seleniumsimplified.com

Contenu connexe

Tendances

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
 

Tendances (20)

Practical Test Automation Deep Dive
Practical Test Automation Deep DivePractical Test Automation Deep Dive
Practical Test Automation Deep Dive
 
Devfest 2019-slides
Devfest 2019-slidesDevfest 2019-slides
Devfest 2019-slides
 
Push Functional Testing Further
Push Functional Testing FurtherPush Functional Testing Further
Push Functional Testing Further
 
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
 
Automating Tactically vs Strategically SauceCon 2020
Automating Tactically vs Strategically SauceCon 2020Automating Tactically vs Strategically SauceCon 2020
Automating Tactically vs Strategically SauceCon 2020
 
Automating Pragmatically - Testival 20190604
Automating Pragmatically - Testival 20190604Automating Pragmatically - Testival 20190604
Automating Pragmatically - Testival 20190604
 
Automating to Augment Testing
Automating to Augment TestingAutomating to Augment Testing
Automating to Augment 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
 
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...
 
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
 
Black Ops Testing Workshop from Agile Testing Days 2014
Black Ops Testing Workshop from Agile Testing Days 2014Black Ops Testing Workshop from Agile Testing Days 2014
Black Ops Testing Workshop from Agile Testing Days 2014
 
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
 
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)
 
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
 
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
 
How To Test With Agility
How To Test With AgilityHow To Test With Agility
How To Test With Agility
 
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
 
Selenium Clinic Eurostar 2012 WebDriver Tutorial
Selenium Clinic Eurostar 2012 WebDriver TutorialSelenium Clinic Eurostar 2012 WebDriver Tutorial
Selenium Clinic Eurostar 2012 WebDriver Tutorial
 
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
 

En vedette

Hacking JavaScript Games - Cellular Automata
Hacking JavaScript Games - Cellular AutomataHacking JavaScript Games - Cellular Automata
Hacking JavaScript Games - Cellular Automata
Alan Richardson
 

En vedette (8)

Hacking JavaScript Games - Cellular Automata
Hacking JavaScript Games - Cellular AutomataHacking JavaScript Games - Cellular Automata
Hacking JavaScript Games - Cellular Automata
 
Keynote: My Quest for Silver Bullets
Keynote: My Quest for Silver BulletsKeynote: My Quest for Silver Bullets
Keynote: My Quest for Silver Bullets
 
Unconventional Influences
Unconventional InfluencesUnconventional Influences
Unconventional Influences
 
Lessons learned with Bdd: a tutorial
Lessons learned with Bdd: a tutorialLessons learned with Bdd: a tutorial
Lessons learned with Bdd: a tutorial
 
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
 
Automation Abstraction Layers: Page Objects and Beyond
Automation Abstraction Layers: Page Objects and BeyondAutomation Abstraction Layers: Page Objects and Beyond
Automation Abstraction Layers: Page Objects and Beyond
 
Hands on Exploration of Page Objects and Abstraction Layers with Selenium Web...
Hands on Exploration of Page Objects and Abstraction Layers with Selenium Web...Hands on Exploration of Page Objects and Abstraction Layers with Selenium Web...
Hands on Exploration of Page Objects and Abstraction Layers with Selenium Web...
 
Better Page Object Handling with Loadable Component Pattern
Better Page Object Handling with Loadable Component PatternBetter Page Object Handling with Loadable Component Pattern
Better Page Object Handling with Loadable Component Pattern
 

Similaire à Evil testers guide to technical testing

Similaire à Evil testers guide to technical testing (20)

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
 
TDD - Seriously, try it! - Trójmiasto Java User Group (17th May '23)
TDD - Seriously, try it! - Trójmiasto Java User Group (17th May '23)TDD - Seriously, try it! - Trójmiasto Java User Group (17th May '23)
TDD - Seriously, try it! - Trójmiasto Java User Group (17th May '23)
 
TDD - Seriously, try it! - Trjjmiasto JUG (17th May '23)
TDD - Seriously, try it! - Trjjmiasto JUG (17th May '23)TDD - Seriously, try it! - Trjjmiasto JUG (17th May '23)
TDD - Seriously, try it! - Trjjmiasto JUG (17th May '23)
 
TDD - Seriously, try it! (updated '22)
TDD - Seriously, try it! (updated '22)TDD - Seriously, try it! (updated '22)
TDD - Seriously, try it! (updated '22)
 
TDD in Python With Pytest
TDD in Python With PytestTDD in Python With Pytest
TDD in Python With Pytest
 
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
 
TDD - Seriously, try it! - Bucarest Tech Week
TDD - Seriously, try it! - Bucarest Tech WeekTDD - Seriously, try it! - Bucarest Tech Week
TDD - Seriously, try it! - Bucarest Tech Week
 
What (and why) Admins need to know about Unit Testing, Julio Fernandez & Dori...
What (and why) Admins need to know about Unit Testing, Julio Fernandez & Dori...What (and why) Admins need to know about Unit Testing, Julio Fernandez & Dori...
What (and why) Admins need to know about Unit Testing, Julio Fernandez & Dori...
 
[부스트캠프 Tech Talk] 고지형_내 자식 하나쯤은 있어야죠
[부스트캠프 Tech Talk] 고지형_내 자식 하나쯤은 있어야죠[부스트캠프 Tech Talk] 고지형_내 자식 하나쯤은 있어야죠
[부스트캠프 Tech Talk] 고지형_내 자식 하나쯤은 있어야죠
 
Automated testing
Automated testingAutomated testing
Automated testing
 
TDD done right - tests immutable to refactor
TDD done right - tests immutable to refactorTDD done right - tests immutable to refactor
TDD done right - tests immutable to refactor
 
OISF - Continuous Skills Improvement for Everyone
OISF - Continuous Skills Improvement for EveryoneOISF - Continuous Skills Improvement for Everyone
OISF - Continuous Skills Improvement for Everyone
 
Offensive (Web, etc) Testing Framework: My gift for the community - BerlinSid...
Offensive (Web, etc) Testing Framework: My gift for the community - BerlinSid...Offensive (Web, etc) Testing Framework: My gift for the community - BerlinSid...
Offensive (Web, etc) Testing Framework: My gift for the community - BerlinSid...
 
Behaviour Driven Development and Thinking About Testing
Behaviour Driven Development and Thinking About TestingBehaviour Driven Development and Thinking About Testing
Behaviour Driven Development and Thinking About Testing
 
Bdd and-testing
Bdd and-testingBdd and-testing
Bdd and-testing
 
시니어가 들려주는 "내가 알고 있는 걸 당신도 알게 된다면"
시니어가 들려주는 "내가 알고 있는 걸 당신도 알게 된다면"시니어가 들려주는 "내가 알고 있는 걸 당신도 알게 된다면"
시니어가 들려주는 "내가 알고 있는 걸 당신도 알게 된다면"
 
What a DevOps specialist has to know about static code analysis
What a DevOps specialist has to know about static code analysisWhat a DevOps specialist has to know about static code analysis
What a DevOps specialist has to know about static code analysis
 
Getting started with unit and functional testing
Getting started with unit and functional testingGetting started with unit and functional testing
Getting started with unit and functional testing
 
What is this exploratory testing thing
What is this exploratory testing thingWhat is this exploratory testing thing
What is this exploratory testing thing
 
Day 2 (Lecture 5): A Practitioner's Perspective on Building Machine Product i...
Day 2 (Lecture 5): A Practitioner's Perspective on Building Machine Product i...Day 2 (Lecture 5): A Practitioner's Perspective on Building Machine Product i...
Day 2 (Lecture 5): A Practitioner's Perspective on Building Machine Product i...
 

Plus de Alan Richardson

Plus de Alan Richardson (16)

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
 
Technology Based Testing
Technology Based TestingTechnology Based Testing
Technology Based Testing
 
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
 
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
 
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
 

Dernier

Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Victor Rentea
 
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
panagenda
 
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
Safe Software
 

Dernier (20)

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...
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf
 
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...
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
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
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
 
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
 
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
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
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
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024
 
Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024
 
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
 
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
 

Evil testers guide to technical testing

  • 1. The Evil Tester's Guide to Technical Testing Eurostar Webinar 4th December 2012 Alan Richardson www.eviltester.com www.compendiumdev.co.uk www.seleniumsimplified.com @eviltester
  • 2. Warning: This Webinar contains Opinions. ● Why should you care? ● How to spot Technical Testing? ● What stops Technical Testing? ● Test Techniques Revisited ● How a technical tester views a system ● Can anyone do this? ● The bluffer's guide to technical testing
  • 4. Why should you care? "Technical Testing sounds like hard work and I can get away without doing this stuff."
  • 5. Reasons Based on FEAR ● Projects are becoming more technical ● "They" are now testing
  • 6. Reasons based on HOPE ● Flexibility ● Find different types of bugs faster ● Find bugs faster ● Add more value ● Future proof yourself
  • 8. I don't know... ...But I do know: ● Technical knowledge transfers between domains ● Testing != Technical
  • 9. And I know it when I see it... So let's play... The "Is it Technical Testing?" Game
  • 10. "Do you look in the Database?" If you say... "I don't look at the database that's not my job." Are you doing Technical Testing?
  • 11. NO - wrong attitude
  • 12. "Do you look in the Database?" If you say... "Of course I look in the database, I run these queries that the developers gave me" Are you doing Technical Testing?
  • 13. No - Not enough Understanding
  • 14. "Do you look in the Database?" If you say... "Yes, I use the default admin tool, I run custom queries before and after I use the app, to check results. I understand the DB schema pretty well." Are you doing Technical Testing?
  • 15. Yes - with more to learn
  • 16. "Do you look in the Database?" If you say... "Of course, and I sometimes ssh in, I never use the default tool, I prefer DBToolX. I have a script that compares the schema between releases, and yeah, I query the db to see what's going on." Are you doing Technical Testing?
  • 17. Yes - I aspire to this
  • 18. How to spot it? ● Attitude ● Asking Questions ● Leave no stone unturned ● Tool Up ● Pairing ● Experiment ● Own It
  • 20. Boundary Value Analysis ● Process a drop down with 250 items ● One technical premise: loop conditions are tricky boolean foundit=false; for(int item=1; item<=250; item++){ if(db.isItemPresent(dropDown.get(item)){ foundit=true; break; } }
  • 21. BVA and Technical Knowledge ● What if the technical premise changes? foundit = false; for(Item item : dropDown.getItems()){ if(chosenItem.equals(item)){ foundit=true; break; } }
  • 22. How a Technical Tester Views Your Application
  • 23. A Non-technical view of an app Requirements Functional Non-functional Doc Spec Requirements http://www.compendiumdev.co.uk/selenium/search.php
  • 24. A Technical View - Web App Terrain
  • 25. A Technical View - Server Terrain
  • 26. A Technical View - Browser Terrain
  • 27. A Technical View - Architecture Terrain
  • 28. A Technical View - User Terrain
  • 30. What stops technical testing? ● Environment ● The Manager ● ... ● Personal Motivation
  • 31. Environment: Lock it down You can try to stop technical testing by locking down the environment.
  • 32. The Manager "I'm a manager, I don't need to be technical."
  • 33. Personal Motivation... "Will trumps everything"
  • 34. Can Anyone do this?
  • 35. If I can do it, anyone can do it... ... and I've seen other people do it.
  • 36. Shh... don't tell anyone... but... ...I'm not that technical
  • 37. I've learned some secrets... ● Ask questions ● Catalogue the technologies ○ use the default tools "Don't worry ● Copy others about breaking ○ pair and make notes things. ● Study and learn Testers are ○ on your own supposed to ● Identify tools by modelling: ○ Observation break things." ○ Manipulation ○ Interrogation ● Experiment ● Keep Learning
  • 38. If I can do it, anyone can do it... ... and I've seen other people do it.
  • 40. A Bluffer's Guide to Technical Web Testing - starter for 13
  • 41. Further Reading ● The OWASP Testing Guide ○ http://www.owasp.org/index.php/OWASP_Testing_Project ● Putting Systems to Work by Derek Hitchins ○ http://www.hitchins.net/SysBooks.html (free download pdf) ● The Art of War by Sun Tzu ○ provides a generalisable model for technical testing - including map/territory, observation (use of spies) and manipulation ○ www.sonshi.com ○ http://www.feedbooks.com/book/168/the-art-of-war ● The Book of Five Rings by Miyamoto Musashi ○ How to practice and improve ○ http://www.feedbooks.com/book/3953/the-book-of-five-rings
  • 42. Next up: You Alan Richardson @eviltester eviltester.com compendiumdev.co.uk seleniumsimplified.com