SlideShare uma empresa Scribd logo
1 de 25
Baixar para ler offline
The Evil Tester's Guide to
Web Testing
Let's Test 2013
Alan Richardson
@eviltester
www.eviltester.com
www.compendiumdev.co.uk
www.seleniumsimplified.com
Slides available at http://unow.be/at/letstest2013
Blurb
I assert that Tester’s need technical skills when
testing ‘anything’. Since I primarily test web
applications, I will describe my technical view of Web
Testing.
In this session I will describe some of the tools that I
use when testing, not because technical web testing
revolves around tools, but because the technical
testing thinking process leads to the finding and
utilisation of tools.
Tools are the draw, the quick win for attendees. But
thought processes sit at the core of this talk. They
lead to tool augmentation, to exploring the built in
capabilities of the browsers, and to the skills we need
to test technically.
I will talk a little around theory, and, dangerously for a
live session, I will provide a demonstration of tool
augmented technical testing.
@EvilTester http://unow.be/at/letstest2013
Technical Testing
@EvilTester http://unow.be/at/letstest2013
What is Technical Testing? To You?
● How does the phrase make you feel?
● To you as a manager?
● To you as a tester?
● Can you identify with it?
@EvilTester http://unow.be/at/letstest2013
What is Technical Testing? To Me?
● A reminder to keep "going deeper"
● It means "Tool Augmentation"
● How I describe what I do
@EvilTester http://unow.be/at/letstest2013
A reminder to keep going deeper
MORIM - Model through Observation,
Reflection, Interrogation and Manipulation
● Model == what I think I currently understand
● Observations can corroborate or invalidate
my model
● Reflect to find gaps and lack of depth and
derive intent
● Interrogate - focused observation with intent
● Manipulation - hypothesis exploration
@EvilTester http://unow.be/at/letstest2013
It means "Tool Augmentation"
● 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.
@EvilTester http://unow.be/at/letstest2013
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
@EvilTester http://unow.be/at/letstest2013
Go beyond the surface structure
● Transformational Grammar
○ Surface & Deep Structure
● Questions operate as tools to investigate
Surface to Deep mapping in people
● Bug?
○ Surface != Deep
○ Surface1 != Surface2
@EvilTester http://unow.be/at/letstest2013
Transformational Grammar
● Terminology originated with Chomsky
● Multiple surface structures
● Single Deep structure
● Deep structure
○ filtered, biased, distorted
■ Surface Structure
NB: I'm reinterpreting this. Abusing it for my
own purpose- to model Technical Testing
@EvilTester http://unow.be/at/letstest2013
Questions operate as tools to investigate
Surface to Deep mapping in people
"Login doesn't work"
● How Specifically?
● How do you know?
● Ever?
● ... etc.
We ask the system questions.
@EvilTester http://unow.be/at/letstest2013
Some ways we notice bugs?
● Surface != Deep
When we can't transform from our Deep
Structure to the observed Surface Structure
● Surface1 != Surface2
When we spot different surface structures than
we would expect from our transformations
Surface == Model, Deep == Model, Model != Reality
@EvilTester http://unow.be/at/letstest2013
How to do Technical testing ?
● Identify tools to work with System Surface
Structures
● Questioning Systems at different surface
levels
● Learning System Structure Technology
● Modelling System Surface Structures
TM
@EvilTester http://unow.be/at/letstest2013
Technical Web Testing
@EvilTester http://unow.be/at/letstest2013
Technical Web Testing
● Understand and model the Project context
○ scope of testing, aims of testing, stakeholders, etc.
● Understand and model the System context
○ the web context
○ the application context
○ the deployment context
○ the usage context
● For each identify
○ Technical Risks
○ Test Ideas
http://unow.be/at/letstest2013
Technicalities for Web Testing
● Understand and model the System context
○ the web context
○ the application context
○ the deployment context
○ the usage context
● For each identify
○ How can we observe it?
○ How can we interrogate it?
○ How can we manipulate it?
● Summary, Log, etc.
● Details & Different views
● Change & Amend
@EvilTester http://unow.be/at/letstest2013
Web Context: A Browser View
@EvilTester http://unow.be/at/letstest2013
Web
Context: A
Browser
View -
Technical
Risks
Web
Context:
A Browser
View -
Technical
Tooling
Augmented
Exercise: Let's
Elaborate this
Model
@EvilTester http://unow.be/at/letstest2013
Exercise:
What other models might we build?
@EvilTester http://unow.be/at/letstest2013
Model suggests... Tool suggests...
We can work from model to tool...
We can also work from tool function to model.
@EvilTester http://unow.be/at/letstest2013
"All together now" - a tool
augmented group exploration demo
● Using only out of the box browser
functionality.
● When exploring a web app
● What do we get out of the box to observe,
manipulate, interrogate?
● What can't we do?
● What tools might let us do it?
● What does the tool functionality suggest for
us?
@EvilTester http://unow.be/at/letstest2013
Summary
● Technical Testing works with multiple
models of the System
● Model for:
○ Understanding
○ Risk
○ Test Ideas
○ Tooling ideas
● Tool Augmentation
○ Observe
○ Interrogate
○ Manipulate
@EvilTester http://unow.be/at/letstest2013
Alan Richardson is an Independent Test
Consultant based in the UK. He offers training
and consultancy in Selenium WebDriver,
exploratory and technical web testing.
● uk.linkedin.com/in/eviltester
Contact Alan for training and
consultancy tailored to your needs:
alan@compendiumdev.co.uk
Blogs and Websites
● SeleniumSimplified.com
● EvilTester.com
● Testing Papers and Tools
○ CompendiumDev.co.uk
Online Training Courses
● Technical Web Testing 101
○ Unow.be/at/udemy101
● Intro to Selenium
○ Unow.be/at/udemystart
● Selenium 2 WebDriver API
○ Unow.be/at/udemyapi
Videos
youtube.com/user/EviltesterVideos
Books
Selenium Simplified
Unow.be/rc/selsimp
@EvilTester http://unow.be/at/letstest2013

Mais conteúdo relacionado

Semelhante a The Evil tester's Guide to Web Testing

 Towards Reproducible Data Analysis Using Cloud and Container Technologies
 Towards Reproducible Data Analysis Using Cloud and Container Technologies Towards Reproducible Data Analysis Using Cloud and Container Technologies
 Towards Reproducible Data Analysis Using Cloud and Container Technologiesinside-BigData.com
 
OISF - Continuous Skills Improvement for Everyone
OISF - Continuous Skills Improvement for EveryoneOISF - Continuous Skills Improvement for Everyone
OISF - Continuous Skills Improvement for EveryoneCiNPA Security SIG
 
Services, tools & practices for a software house
Services, tools & practices for a software houseServices, tools & practices for a software house
Services, tools & practices for a software houseParis Apostolopoulos
 
רועי פלד
רועי פלדרועי פלד
רועי פלדNetcraft
 
Lessons Learned When Automating
Lessons Learned When AutomatingLessons Learned When Automating
Lessons Learned When AutomatingAlan Richardson
 
Usability testing - have fun and improve your work
Usability testing - have fun and improve your workUsability testing - have fun and improve your work
Usability testing - have fun and improve your workonthegosystems
 
BDD with SpecFlow and Selenium
BDD with SpecFlow and SeleniumBDD with SpecFlow and Selenium
BDD with SpecFlow and SeleniumLiraz Shay
 
Testing for the deeplearning folks
Testing for the deeplearning folksTesting for the deeplearning folks
Testing for the deeplearning folksVishwas N
 
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
 
How to Improve Your Technical Test Ability - AADays 2015 Keynote
How to Improve Your Technical Test Ability - AADays 2015 KeynoteHow to Improve Your Technical Test Ability - AADays 2015 Keynote
How to Improve Your Technical Test Ability - AADays 2015 KeynoteAlan Richardson
 
An Introduction to Usability
An Introduction to UsabilityAn Introduction to Usability
An Introduction to Usabilitydirk.swart
 
A Backpack to go the Extra-Functional Mile (a hitched hike by the PROWESS pro...
A Backpack to go the Extra-Functional Mile (a hitched hike by the PROWESS pro...A Backpack to go the Extra-Functional Mile (a hitched hike by the PROWESS pro...
A Backpack to go the Extra-Functional Mile (a hitched hike by the PROWESS pro...Laura M. Castro
 
MockServer-driven testing
MockServer-driven testingMockServer-driven testing
MockServer-driven testingTestableapple
 
How to get started with Site Reliability Engineering
How to get started with Site Reliability EngineeringHow to get started with Site Reliability Engineering
How to get started with Site Reliability EngineeringAndrew Kirkpatrick
 
Designing the mobile experience
Designing the mobile experienceDesigning the mobile experience
Designing the mobile experienceJoseph Dickerson
 
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
 
Quality and the "Secret Mission:" From End-Stage Tester to Skilled Analyst
Quality and the "Secret Mission:" From End-Stage Tester to Skilled AnalystQuality and the "Secret Mission:" From End-Stage Tester to Skilled Analyst
Quality and the "Secret Mission:" From End-Stage Tester to Skilled AnalystDevorah Firestone
 

Semelhante a The Evil tester's Guide to Web Testing (20)

Object Oriented Programming
Object Oriented ProgrammingObject Oriented Programming
Object Oriented Programming
 
 Towards Reproducible Data Analysis Using Cloud and Container Technologies
 Towards Reproducible Data Analysis Using Cloud and Container Technologies Towards Reproducible Data Analysis Using Cloud and Container Technologies
 Towards Reproducible Data Analysis Using Cloud and Container Technologies
 
OISF - Continuous Skills Improvement for Everyone
OISF - Continuous Skills Improvement for EveryoneOISF - Continuous Skills Improvement for Everyone
OISF - Continuous Skills Improvement for Everyone
 
Services, tools & practices for a software house
Services, tools & practices for a software houseServices, tools & practices for a software house
Services, tools & practices for a software house
 
רועי פלד
רועי פלדרועי פלד
רועי פלד
 
Lessons Learned When Automating
Lessons Learned When AutomatingLessons Learned When Automating
Lessons Learned When Automating
 
Usability testing - have fun and improve your work
Usability testing - have fun and improve your workUsability testing - have fun and improve your work
Usability testing - have fun and improve your work
 
Harnessing Web 2.0 Technologies for Department Chairs Academic Chairpersons C...
Harnessing Web 2.0 Technologies for Department Chairs Academic Chairpersons C...Harnessing Web 2.0 Technologies for Department Chairs Academic Chairpersons C...
Harnessing Web 2.0 Technologies for Department Chairs Academic Chairpersons C...
 
BDD with SpecFlow and Selenium
BDD with SpecFlow and SeleniumBDD with SpecFlow and Selenium
BDD with SpecFlow and Selenium
 
Testing for the deeplearning folks
Testing for the deeplearning folksTesting for the deeplearning folks
Testing for the deeplearning folks
 
Don't Fear the User
Don't Fear the UserDon't Fear the User
Don't Fear the User
 
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
 
How to Improve Your Technical Test Ability - AADays 2015 Keynote
How to Improve Your Technical Test Ability - AADays 2015 KeynoteHow to Improve Your Technical Test Ability - AADays 2015 Keynote
How to Improve Your Technical Test Ability - AADays 2015 Keynote
 
An Introduction to Usability
An Introduction to UsabilityAn Introduction to Usability
An Introduction to Usability
 
A Backpack to go the Extra-Functional Mile (a hitched hike by the PROWESS pro...
A Backpack to go the Extra-Functional Mile (a hitched hike by the PROWESS pro...A Backpack to go the Extra-Functional Mile (a hitched hike by the PROWESS pro...
A Backpack to go the Extra-Functional Mile (a hitched hike by the PROWESS pro...
 
MockServer-driven testing
MockServer-driven testingMockServer-driven testing
MockServer-driven testing
 
How to get started with Site Reliability Engineering
How to get started with Site Reliability EngineeringHow to get started with Site Reliability Engineering
How to get started with Site Reliability Engineering
 
Designing the mobile experience
Designing the mobile experienceDesigning the mobile experience
Designing the mobile experience
 
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
 
Quality and the "Secret Mission:" From End-Stage Tester to Skilled Analyst
Quality and the "Secret Mission:" From End-Stage Tester to Skilled AnalystQuality and the "Secret Mission:" From End-Stage Tester to Skilled Analyst
Quality and the "Secret Mission:" From End-Stage Tester to Skilled Analyst
 

Mais de Alan Richardson

Add More Security To Your Testing and Automating - Saucecon 2021
Add More Security To Your Testing and Automating - Saucecon 2021Add More Security To Your Testing and Automating - Saucecon 2021
Add More Security To Your Testing and Automating - Saucecon 2021Alan Richardson
 
Automating to Augment Testing
Automating to Augment TestingAutomating to Augment Testing
Automating to Augment TestingAlan Richardson
 
Open source tools - Test Management Summit - 2009
Open source tools - Test Management Summit - 2009Open source tools - Test Management Summit - 2009
Open source tools - Test Management Summit - 2009Alan Richardson
 
Automating Tactically vs Strategically SauceCon 2020
Automating Tactically vs Strategically SauceCon 2020Automating Tactically vs Strategically SauceCon 2020
Automating Tactically vs Strategically SauceCon 2020Alan Richardson
 
The Future of Testing Webinar
The Future of Testing WebinarThe Future of Testing Webinar
The Future of Testing WebinarAlan 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 Pragmatically - Testival 20190604
Automating Pragmatically - Testival 20190604Automating Pragmatically - Testival 20190604
Automating Pragmatically - Testival 20190604Alan 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
 
Programming katas for Software Testers - CounterStrings
Programming katas for Software Testers - CounterStringsProgramming katas for Software Testers - CounterStrings
Programming katas for Software Testers - CounterStringsAlan Richardson
 
Technology Based Testing
Technology Based TestingTechnology Based Testing
Technology Based TestingAlan 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
 
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
 
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
 
If you want to automate, you learn to code
If you want to automate, you learn to codeIf you want to automate, you learn to code
If you want to automate, you learn to codeAlan Richardson
 
How To 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
 

Mais de Alan Richardson (20)

Add More Security To Your Testing and Automating - Saucecon 2021
Add More Security To Your Testing and Automating - Saucecon 2021Add More Security To Your Testing and Automating - Saucecon 2021
Add More Security To Your Testing and Automating - Saucecon 2021
 
Automating to Augment Testing
Automating to Augment TestingAutomating to Augment Testing
Automating to Augment Testing
 
Open source tools - Test Management Summit - 2009
Open source tools - Test Management Summit - 2009Open source tools - Test Management Summit - 2009
Open source tools - Test Management Summit - 2009
 
Automating Tactically vs Strategically SauceCon 2020
Automating Tactically vs Strategically SauceCon 2020Automating Tactically vs Strategically SauceCon 2020
Automating Tactically vs Strategically SauceCon 2020
 
The Future of Testing Webinar
The Future of Testing WebinarThe Future of Testing Webinar
The Future of Testing Webinar
 
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 Pragmatically - Testival 20190604
Automating Pragmatically - Testival 20190604Automating Pragmatically - Testival 20190604
Automating Pragmatically - Testival 20190604
 
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
 
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
 
If you want to automate, you learn to code
If you want to automate, you learn to codeIf you want to automate, you learn to code
If you want to automate, you learn to code
 
How To 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.
 

Último

Salesforce Miami User Group Event - 1st Quarter 2024
Salesforce Miami User Group Event - 1st Quarter 2024Salesforce Miami User Group Event - 1st Quarter 2024
Salesforce Miami User Group Event - 1st Quarter 2024SkyPlanner
 
OpenShift Commons Paris - Choose Your Own Observability Adventure
OpenShift Commons Paris - Choose Your Own Observability AdventureOpenShift Commons Paris - Choose Your Own Observability Adventure
OpenShift Commons Paris - Choose Your Own Observability AdventureEric D. Schabell
 
COMPUTER 10: Lesson 7 - File Storage and Online Collaboration
COMPUTER 10: Lesson 7 - File Storage and Online CollaborationCOMPUTER 10: Lesson 7 - File Storage and Online Collaboration
COMPUTER 10: Lesson 7 - File Storage and Online Collaborationbruanjhuli
 
UiPath Solutions Management Preview - Northern CA Chapter - March 22.pdf
UiPath Solutions Management Preview - Northern CA Chapter - March 22.pdfUiPath Solutions Management Preview - Northern CA Chapter - March 22.pdf
UiPath Solutions Management Preview - Northern CA Chapter - March 22.pdfDianaGray10
 
Spring24-Release Overview - Wellingtion User Group-1.pdf
Spring24-Release Overview - Wellingtion User Group-1.pdfSpring24-Release Overview - Wellingtion User Group-1.pdf
Spring24-Release Overview - Wellingtion User Group-1.pdfAnna Loughnan Colquhoun
 
UiPath Studio Web workshop series - Day 6
UiPath Studio Web workshop series - Day 6UiPath Studio Web workshop series - Day 6
UiPath Studio Web workshop series - Day 6DianaGray10
 
Empowering Africa's Next Generation: The AI Leadership Blueprint
Empowering Africa's Next Generation: The AI Leadership BlueprintEmpowering Africa's Next Generation: The AI Leadership Blueprint
Empowering Africa's Next Generation: The AI Leadership BlueprintMahmoud Rabie
 
Nanopower In Semiconductor Industry.pdf
Nanopower  In Semiconductor Industry.pdfNanopower  In Semiconductor Industry.pdf
Nanopower In Semiconductor Industry.pdfPedro Manuel
 
Secure your environment with UiPath and CyberArk technologies - Session 1
Secure your environment with UiPath and CyberArk technologies - Session 1Secure your environment with UiPath and CyberArk technologies - Session 1
Secure your environment with UiPath and CyberArk technologies - Session 1DianaGray10
 
GenAI and AI GCC State of AI_Object Automation Inc
GenAI and AI GCC State of AI_Object Automation IncGenAI and AI GCC State of AI_Object Automation Inc
GenAI and AI GCC State of AI_Object Automation IncObject Automation
 
Bird eye's view on Camunda open source ecosystem
Bird eye's view on Camunda open source ecosystemBird eye's view on Camunda open source ecosystem
Bird eye's view on Camunda open source ecosystemAsko Soukka
 
9 Steps For Building Winning Founding Team
9 Steps For Building Winning Founding Team9 Steps For Building Winning Founding Team
9 Steps For Building Winning Founding TeamAdam Moalla
 
IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019
IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019
IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019IES VE
 
AI Fame Rush Review – Virtual Influencer Creation In Just Minutes
AI Fame Rush Review – Virtual Influencer Creation In Just MinutesAI Fame Rush Review – Virtual Influencer Creation In Just Minutes
AI Fame Rush Review – Virtual Influencer Creation In Just MinutesMd Hossain Ali
 
Meet the new FSP 3000 M-Flex800™
Meet the new FSP 3000 M-Flex800™Meet the new FSP 3000 M-Flex800™
Meet the new FSP 3000 M-Flex800™Adtran
 
Artificial Intelligence & SEO Trends for 2024
Artificial Intelligence & SEO Trends for 2024Artificial Intelligence & SEO Trends for 2024
Artificial Intelligence & SEO Trends for 2024D Cloud Solutions
 
Do we need a new standard for visualizing the invisible?
Do we need a new standard for visualizing the invisible?Do we need a new standard for visualizing the invisible?
Do we need a new standard for visualizing the invisible?SANGHEE SHIN
 
COMPUTER 10 Lesson 8 - Building a Website
COMPUTER 10 Lesson 8 - Building a WebsiteCOMPUTER 10 Lesson 8 - Building a Website
COMPUTER 10 Lesson 8 - Building a Websitedgelyza
 
Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...
Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...
Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...DianaGray10
 
Basic Building Blocks of Internet of Things.
Basic Building Blocks of Internet of Things.Basic Building Blocks of Internet of Things.
Basic Building Blocks of Internet of Things.YounusS2
 

Último (20)

Salesforce Miami User Group Event - 1st Quarter 2024
Salesforce Miami User Group Event - 1st Quarter 2024Salesforce Miami User Group Event - 1st Quarter 2024
Salesforce Miami User Group Event - 1st Quarter 2024
 
OpenShift Commons Paris - Choose Your Own Observability Adventure
OpenShift Commons Paris - Choose Your Own Observability AdventureOpenShift Commons Paris - Choose Your Own Observability Adventure
OpenShift Commons Paris - Choose Your Own Observability Adventure
 
COMPUTER 10: Lesson 7 - File Storage and Online Collaboration
COMPUTER 10: Lesson 7 - File Storage and Online CollaborationCOMPUTER 10: Lesson 7 - File Storage and Online Collaboration
COMPUTER 10: Lesson 7 - File Storage and Online Collaboration
 
UiPath Solutions Management Preview - Northern CA Chapter - March 22.pdf
UiPath Solutions Management Preview - Northern CA Chapter - March 22.pdfUiPath Solutions Management Preview - Northern CA Chapter - March 22.pdf
UiPath Solutions Management Preview - Northern CA Chapter - March 22.pdf
 
Spring24-Release Overview - Wellingtion User Group-1.pdf
Spring24-Release Overview - Wellingtion User Group-1.pdfSpring24-Release Overview - Wellingtion User Group-1.pdf
Spring24-Release Overview - Wellingtion User Group-1.pdf
 
UiPath Studio Web workshop series - Day 6
UiPath Studio Web workshop series - Day 6UiPath Studio Web workshop series - Day 6
UiPath Studio Web workshop series - Day 6
 
Empowering Africa's Next Generation: The AI Leadership Blueprint
Empowering Africa's Next Generation: The AI Leadership BlueprintEmpowering Africa's Next Generation: The AI Leadership Blueprint
Empowering Africa's Next Generation: The AI Leadership Blueprint
 
Nanopower In Semiconductor Industry.pdf
Nanopower  In Semiconductor Industry.pdfNanopower  In Semiconductor Industry.pdf
Nanopower In Semiconductor Industry.pdf
 
Secure your environment with UiPath and CyberArk technologies - Session 1
Secure your environment with UiPath and CyberArk technologies - Session 1Secure your environment with UiPath and CyberArk technologies - Session 1
Secure your environment with UiPath and CyberArk technologies - Session 1
 
GenAI and AI GCC State of AI_Object Automation Inc
GenAI and AI GCC State of AI_Object Automation IncGenAI and AI GCC State of AI_Object Automation Inc
GenAI and AI GCC State of AI_Object Automation Inc
 
Bird eye's view on Camunda open source ecosystem
Bird eye's view on Camunda open source ecosystemBird eye's view on Camunda open source ecosystem
Bird eye's view on Camunda open source ecosystem
 
9 Steps For Building Winning Founding Team
9 Steps For Building Winning Founding Team9 Steps For Building Winning Founding Team
9 Steps For Building Winning Founding Team
 
IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019
IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019
IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019
 
AI Fame Rush Review – Virtual Influencer Creation In Just Minutes
AI Fame Rush Review – Virtual Influencer Creation In Just MinutesAI Fame Rush Review – Virtual Influencer Creation In Just Minutes
AI Fame Rush Review – Virtual Influencer Creation In Just Minutes
 
Meet the new FSP 3000 M-Flex800™
Meet the new FSP 3000 M-Flex800™Meet the new FSP 3000 M-Flex800™
Meet the new FSP 3000 M-Flex800™
 
Artificial Intelligence & SEO Trends for 2024
Artificial Intelligence & SEO Trends for 2024Artificial Intelligence & SEO Trends for 2024
Artificial Intelligence & SEO Trends for 2024
 
Do we need a new standard for visualizing the invisible?
Do we need a new standard for visualizing the invisible?Do we need a new standard for visualizing the invisible?
Do we need a new standard for visualizing the invisible?
 
COMPUTER 10 Lesson 8 - Building a Website
COMPUTER 10 Lesson 8 - Building a WebsiteCOMPUTER 10 Lesson 8 - Building a Website
COMPUTER 10 Lesson 8 - Building a Website
 
Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...
Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...
Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...
 
Basic Building Blocks of Internet of Things.
Basic Building Blocks of Internet of Things.Basic Building Blocks of Internet of Things.
Basic Building Blocks of Internet of Things.
 

The Evil tester's Guide to Web Testing

  • 1. The Evil Tester's Guide to Web Testing Let's Test 2013 Alan Richardson @eviltester www.eviltester.com www.compendiumdev.co.uk www.seleniumsimplified.com Slides available at http://unow.be/at/letstest2013
  • 2. Blurb I assert that Tester’s need technical skills when testing ‘anything’. Since I primarily test web applications, I will describe my technical view of Web Testing. In this session I will describe some of the tools that I use when testing, not because technical web testing revolves around tools, but because the technical testing thinking process leads to the finding and utilisation of tools. Tools are the draw, the quick win for attendees. But thought processes sit at the core of this talk. They lead to tool augmentation, to exploring the built in capabilities of the browsers, and to the skills we need to test technically. I will talk a little around theory, and, dangerously for a live session, I will provide a demonstration of tool augmented technical testing. @EvilTester http://unow.be/at/letstest2013
  • 4. What is Technical Testing? To You? ● How does the phrase make you feel? ● To you as a manager? ● To you as a tester? ● Can you identify with it? @EvilTester http://unow.be/at/letstest2013
  • 5. What is Technical Testing? To Me? ● A reminder to keep "going deeper" ● It means "Tool Augmentation" ● How I describe what I do @EvilTester http://unow.be/at/letstest2013
  • 6. A reminder to keep going deeper MORIM - Model through Observation, Reflection, Interrogation and Manipulation ● Model == what I think I currently understand ● Observations can corroborate or invalidate my model ● Reflect to find gaps and lack of depth and derive intent ● Interrogate - focused observation with intent ● Manipulation - hypothesis exploration @EvilTester http://unow.be/at/letstest2013
  • 7. It means "Tool Augmentation" ● 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. @EvilTester http://unow.be/at/letstest2013
  • 8. 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 @EvilTester http://unow.be/at/letstest2013
  • 9. Go beyond the surface structure ● Transformational Grammar ○ Surface & Deep Structure ● Questions operate as tools to investigate Surface to Deep mapping in people ● Bug? ○ Surface != Deep ○ Surface1 != Surface2 @EvilTester http://unow.be/at/letstest2013
  • 10. Transformational Grammar ● Terminology originated with Chomsky ● Multiple surface structures ● Single Deep structure ● Deep structure ○ filtered, biased, distorted ■ Surface Structure NB: I'm reinterpreting this. Abusing it for my own purpose- to model Technical Testing @EvilTester http://unow.be/at/letstest2013
  • 11. Questions operate as tools to investigate Surface to Deep mapping in people "Login doesn't work" ● How Specifically? ● How do you know? ● Ever? ● ... etc. We ask the system questions. @EvilTester http://unow.be/at/letstest2013
  • 12. Some ways we notice bugs? ● Surface != Deep When we can't transform from our Deep Structure to the observed Surface Structure ● Surface1 != Surface2 When we spot different surface structures than we would expect from our transformations Surface == Model, Deep == Model, Model != Reality @EvilTester http://unow.be/at/letstest2013
  • 13. How to do Technical testing ? ● Identify tools to work with System Surface Structures ● Questioning Systems at different surface levels ● Learning System Structure Technology ● Modelling System Surface Structures TM @EvilTester http://unow.be/at/letstest2013
  • 14. Technical Web Testing @EvilTester http://unow.be/at/letstest2013
  • 15. Technical Web Testing ● Understand and model the Project context ○ scope of testing, aims of testing, stakeholders, etc. ● Understand and model the System context ○ the web context ○ the application context ○ the deployment context ○ the usage context ● For each identify ○ Technical Risks ○ Test Ideas http://unow.be/at/letstest2013
  • 16. Technicalities for Web Testing ● Understand and model the System context ○ the web context ○ the application context ○ the deployment context ○ the usage context ● For each identify ○ How can we observe it? ○ How can we interrogate it? ○ How can we manipulate it? ● Summary, Log, etc. ● Details & Different views ● Change & Amend @EvilTester http://unow.be/at/letstest2013
  • 17. Web Context: A Browser View @EvilTester http://unow.be/at/letstest2013
  • 20. Exercise: Let's Elaborate this Model @EvilTester http://unow.be/at/letstest2013
  • 21. Exercise: What other models might we build? @EvilTester http://unow.be/at/letstest2013
  • 22. Model suggests... Tool suggests... We can work from model to tool... We can also work from tool function to model. @EvilTester http://unow.be/at/letstest2013
  • 23. "All together now" - a tool augmented group exploration demo ● Using only out of the box browser functionality. ● When exploring a web app ● What do we get out of the box to observe, manipulate, interrogate? ● What can't we do? ● What tools might let us do it? ● What does the tool functionality suggest for us? @EvilTester http://unow.be/at/letstest2013
  • 24. Summary ● Technical Testing works with multiple models of the System ● Model for: ○ Understanding ○ Risk ○ Test Ideas ○ Tooling ideas ● Tool Augmentation ○ Observe ○ Interrogate ○ Manipulate @EvilTester http://unow.be/at/letstest2013
  • 25. Alan Richardson is an Independent Test Consultant based in the UK. He offers training and consultancy in Selenium WebDriver, exploratory and technical web testing. ● uk.linkedin.com/in/eviltester Contact Alan for training and consultancy tailored to your needs: alan@compendiumdev.co.uk Blogs and Websites ● SeleniumSimplified.com ● EvilTester.com ● Testing Papers and Tools ○ CompendiumDev.co.uk Online Training Courses ● Technical Web Testing 101 ○ Unow.be/at/udemy101 ● Intro to Selenium ○ Unow.be/at/udemystart ● Selenium 2 WebDriver API ○ Unow.be/at/udemyapi Videos youtube.com/user/EviltesterVideos Books Selenium Simplified Unow.be/rc/selsimp @EvilTester http://unow.be/at/letstest2013