SlideShare a Scribd company logo
1 of 18
Automated testing
Why?
Markko Paas
markko.paas@gmail.com
goodies
levels
crosstab
lessons
✓ Product quality
Frequency and severity of defects
✓ Documentation
Business requirements
Technical specification
The authorization page
✓ should be at the correct url (3531ms)
✓ should display client_not_specified if client_id is missing as a parameter (2818ms)
✓ should display invalid_redirect_uri if wrong redirect_uri is sent as a parameter (2796ms)
✓ should display invalid_redirect_uri if client does not have a redirect_uri configured (2789ms)
✓ should redirect to the login page if the user is not logged in (2434ms)
✓ should redirect back to client with an access token on successful login (6149ms)
✓ should go back to client, when clicking on browser back button after successful login (5674ms)
When the user is already logged in
✓ should redirect back to client with an access token (1975ms)
✓ should redirect back to client with an id_token if the requested scope includes openid (2036ms)
✓ should redirect back to client with an id_token that contains the provided nonce (2150ms)
✓ should redirect back to client with a code as a query parameter (2100ms)
✓ should redirect back to client with a code and id_token if response_type includes both (2232ms)
✓ should go back to client, when clicking on browser back button (2448ms)
✓ should redirect to the login page if the login state has expired (4210ms)
✓ Continuous integration and deployment
Rapid cycles = early feedback
Smaller scope = smaller risk
Effort
per
feature
Time
✓ Refactoring
Gerard Meszaros (2003)
✓ Efficiency
Category Business value
Product quality Frequency and severity of defects
Continuous integration and deployment Rapid cycles
Documentation
Business requirements Efficiency of team communication
Technical specification Effort for understanding the system
Development
Enables refactoring Cost of new features and bugfixes
Modular design Cost of new features and bugfixes
Reduce interactive debugging Cost of new features and bugfixes
Component2 Component3
C3mock
Component1
Unit1 Unit2
component test
unit test
U2mock
unit test
manual exploratory test
end-to-end test
acceptance test
minutes / hours
~10 s / ~ 10 min
~10 ms / ~ 10 s
~30 s / ~ 2 min
✓ goodies
✓ levels
crosstab
lessons
Production
bug
prevention
Continuous
integration
and
deployment
Documentation Development support
Business
requirements
Technical
specification
Enables
refactoring
Flexible
design
Reduce
interactive
debugging
Exploratory ■
Prod-Smoke ▪ ■
Acceptance ▪ ■ ■
End-to-end ▪ ■ ▪
Component ▪ ■ ■ ■
Unit ▫ ■ ■ ▪ ■ ■
Unit tests - focus on describing the intention
Coverage 100%
Atomic
Independent
Aggressive maintenance
Critical code review
Production
bug
prevention
Continuous
integration
and
deployment
Documentation Development support
Business
requirements
Technical
specification
Enables
refactoring
Flexible
design
Reduce
interactive
debugging
Unit ▫ ■ ■ ▪ ■ ■
Component tests - focus on enabling refactoring
Cover 100% interface
Avoid referring internals
Mock dependencies
Production
bug
prevention
Continuous
integration
and
deployment
Documentation Development support
Business
requirements
Technical
specification
Enables
refactoring
Flexible
design
Reduce
interactive
debugging
Component ▪ ■ ■ ■
Recap
- Code review is your only chance for testing the readability of the specification
- Don’t let unit tests pile up and rot
- Acceptance tests and contract tests for business requirements tracking
- Unit tests for technical specification
- Maintain component tests interface-coverage
Why not?
References
Meszaros G. (2007). xUnit Test Patterns: Refactoring Test Code. Addison Wesley
http://xunitpatterns.com/~gerard/xpau2003-test-automation-manifesto-paper.pdf
http://xunitpatterns.com/~gerard/xunitTutorialSlides-V1.pdf
Clemson T. (2014). Testing Strategies in a Microservice Architecture
http://martinfowler.com/articles/microservice-testing/

More Related Content

Viewers also liked

Slideshare showcase
Slideshare showcase Slideshare showcase
Slideshare showcase Koren Wong
 
The CLIC project accelerator overview
The CLIC project accelerator overviewThe CLIC project accelerator overview
The CLIC project accelerator overviewasafrona
 
Compact Linear Collider (CLIC)
Compact Linear Collider (CLIC)Compact Linear Collider (CLIC)
Compact Linear Collider (CLIC)asafrona
 
CLIC Accelerator: status, plans and outlook
CLIC Accelerator: status, plans and outlook CLIC Accelerator: status, plans and outlook
CLIC Accelerator: status, plans and outlook asafrona
 
Test Driven Development using QUnit
Test Driven Development using QUnitTest Driven Development using QUnit
Test Driven Development using QUnitsatejsahu
 
2016 Summer - Araport Project Overview Leaflet
2016 Summer - Araport Project Overview Leaflet2016 Summer - Araport Project Overview Leaflet
2016 Summer - Araport Project Overview LeafletAraport
 
iDiffIR: Identifying differential intron retention from RNA-seq
iDiffIR: Identifying differential intron retention from RNA-seqiDiffIR: Identifying differential intron retention from RNA-seq
iDiffIR: Identifying differential intron retention from RNA-seqAraport
 
PMR metabolomics and transcriptomics database and its RESTful web APIs: A dat...
PMR metabolomics and transcriptomics database and its RESTful web APIs: A dat...PMR metabolomics and transcriptomics database and its RESTful web APIs: A dat...
PMR metabolomics and transcriptomics database and its RESTful web APIs: A dat...Araport
 
Austin Slide Show 2011
Austin Slide Show 2011Austin Slide Show 2011
Austin Slide Show 2011unkraut
 
Επτανησιακή Zωγραφική Τέχνη
Επτανησιακή Zωγραφική ΤέχνηΕπτανησιακή Zωγραφική Τέχνη
Επτανησιακή Zωγραφική ΤέχνηMichelangelo705
 

Viewers also liked (15)

UK Expertise on Future Cities
UK Expertise on Future CitiesUK Expertise on Future Cities
UK Expertise on Future Cities
 
Slideshare showcase
Slideshare showcase Slideshare showcase
Slideshare showcase
 
Plataforma
PlataformaPlataforma
Plataforma
 
The CLIC project accelerator overview
The CLIC project accelerator overviewThe CLIC project accelerator overview
The CLIC project accelerator overview
 
Compact Linear Collider (CLIC)
Compact Linear Collider (CLIC)Compact Linear Collider (CLIC)
Compact Linear Collider (CLIC)
 
CLIC Accelerator: status, plans and outlook
CLIC Accelerator: status, plans and outlook CLIC Accelerator: status, plans and outlook
CLIC Accelerator: status, plans and outlook
 
Test Driven Development using QUnit
Test Driven Development using QUnitTest Driven Development using QUnit
Test Driven Development using QUnit
 
Mocha.js
Mocha.jsMocha.js
Mocha.js
 
2016 Summer - Araport Project Overview Leaflet
2016 Summer - Araport Project Overview Leaflet2016 Summer - Araport Project Overview Leaflet
2016 Summer - Araport Project Overview Leaflet
 
iDiffIR: Identifying differential intron retention from RNA-seq
iDiffIR: Identifying differential intron retention from RNA-seqiDiffIR: Identifying differential intron retention from RNA-seq
iDiffIR: Identifying differential intron retention from RNA-seq
 
PMR metabolomics and transcriptomics database and its RESTful web APIs: A dat...
PMR metabolomics and transcriptomics database and its RESTful web APIs: A dat...PMR metabolomics and transcriptomics database and its RESTful web APIs: A dat...
PMR metabolomics and transcriptomics database and its RESTful web APIs: A dat...
 
Austin Slide Show 2011
Austin Slide Show 2011Austin Slide Show 2011
Austin Slide Show 2011
 
Επτανησιακή Zωγραφική Τέχνη
Επτανησιακή Zωγραφική ΤέχνηΕπτανησιακή Zωγραφική Τέχνη
Επτανησιακή Zωγραφική Τέχνη
 
The DATALAB - building a world-class innovation centre in data science
The DATALAB - building a world-class innovation centre in data scienceThe DATALAB - building a world-class innovation centre in data science
The DATALAB - building a world-class innovation centre in data science
 
scalaAlbi
scalaAlbiscalaAlbi
scalaAlbi
 

Similar to Automated testing - back to the roots

Continuous Testing at Scale the Walmart Way with Test Armada
Continuous Testing at Scale the Walmart Way with Test ArmadaContinuous Testing at Scale the Walmart Way with Test Armada
Continuous Testing at Scale the Walmart Way with Test ArmadaSauce Labs
 
Quality analysis pdf to study For your education
Quality analysis pdf to study For your educationQuality analysis pdf to study For your education
Quality analysis pdf to study For your educationShraddhatadmare1
 
ANIn chennai Jul 2023 | Accelerating In-Sprint Automation with BDD -Nadheem N...
ANIn chennai Jul 2023 | Accelerating In-Sprint Automation with BDD -Nadheem N...ANIn chennai Jul 2023 | Accelerating In-Sprint Automation with BDD -Nadheem N...
ANIn chennai Jul 2023 | Accelerating In-Sprint Automation with BDD -Nadheem N...AgileNetwork
 
Drive Faster Quality Insights through Customized Test Automation - Part 2
Drive Faster Quality Insights through Customized Test Automation - Part 2Drive Faster Quality Insights through Customized Test Automation - Part 2
Drive Faster Quality Insights through Customized Test Automation - Part 2Perfecto by Perforce
 
SDLC Models - testing
SDLC Models - testingSDLC Models - testing
SDLC Models - testingPrasad Gali
 
Test Automation Frameworks Final
Test Automation Frameworks   FinalTest Automation Frameworks   Final
Test Automation Frameworks FinalMargaret_Dickman
 
Cloud Storage Auditing Protocol with Verifiable Outsourcing of Key Updates
Cloud Storage Auditing Protocol with Verifiable Outsourcing of Key UpdatesCloud Storage Auditing Protocol with Verifiable Outsourcing of Key Updates
Cloud Storage Auditing Protocol with Verifiable Outsourcing of Key UpdatesIRJET Journal
 
Orcanos QPack ALM Tool
Orcanos QPack ALM ToolOrcanos QPack ALM Tool
Orcanos QPack ALM Toolorcanos
 
Mercury Testdirector8.0 using Slides
Mercury Testdirector8.0 using SlidesMercury Testdirector8.0 using Slides
Mercury Testdirector8.0 using Slidestelab
 
Softwar tetesting basic
Softwar tetesting basicSoftwar tetesting basic
Softwar tetesting basicparekhjigarh
 
Learn software testing with tech partnerz 1
Learn software testing with tech partnerz 1Learn software testing with tech partnerz 1
Learn software testing with tech partnerz 1Techpartnerz
 
The Art of Unit Testing - Towards a Testable Design
The Art of Unit Testing - Towards a Testable DesignThe Art of Unit Testing - Towards a Testable Design
The Art of Unit Testing - Towards a Testable DesignVictor Rentea
 
Automated Low Level Requirements Testing for DO-178C
Automated Low Level Requirements Testing for DO-178CAutomated Low Level Requirements Testing for DO-178C
Automated Low Level Requirements Testing for DO-178CQA Systems
 
End-end tests as first class citizens - SeleniumConf 2020
End-end tests as first class citizens - SeleniumConf 2020End-end tests as first class citizens - SeleniumConf 2020
End-end tests as first class citizens - SeleniumConf 2020Abhijeet Vaikar
 
Modern Testing Strategies for Evolving Ecosystems
Modern Testing Strategies for Evolving EcosystemsModern Testing Strategies for Evolving Ecosystems
Modern Testing Strategies for Evolving EcosystemsJulian Warszawski
 
puneet_pall_resume
puneet_pall_resumepuneet_pall_resume
puneet_pall_resumepuneet pall
 

Similar to Automated testing - back to the roots (20)

Continuous Testing at Scale the Walmart Way with Test Armada
Continuous Testing at Scale the Walmart Way with Test ArmadaContinuous Testing at Scale the Walmart Way with Test Armada
Continuous Testing at Scale the Walmart Way with Test Armada
 
Quality analysis pdf to study For your education
Quality analysis pdf to study For your educationQuality analysis pdf to study For your education
Quality analysis pdf to study For your education
 
ANIn chennai Jul 2023 | Accelerating In-Sprint Automation with BDD -Nadheem N...
ANIn chennai Jul 2023 | Accelerating In-Sprint Automation with BDD -Nadheem N...ANIn chennai Jul 2023 | Accelerating In-Sprint Automation with BDD -Nadheem N...
ANIn chennai Jul 2023 | Accelerating In-Sprint Automation with BDD -Nadheem N...
 
Drive Faster Quality Insights through Customized Test Automation - Part 2
Drive Faster Quality Insights through Customized Test Automation - Part 2Drive Faster Quality Insights through Customized Test Automation - Part 2
Drive Faster Quality Insights through Customized Test Automation - Part 2
 
SDLC Models - testing
SDLC Models - testingSDLC Models - testing
SDLC Models - testing
 
Test Automation Frameworks Final
Test Automation Frameworks   FinalTest Automation Frameworks   Final
Test Automation Frameworks Final
 
Cloud Storage Auditing Protocol with Verifiable Outsourcing of Key Updates
Cloud Storage Auditing Protocol with Verifiable Outsourcing of Key UpdatesCloud Storage Auditing Protocol with Verifiable Outsourcing of Key Updates
Cloud Storage Auditing Protocol with Verifiable Outsourcing of Key Updates
 
Orcanos QPack ALM Tool
Orcanos QPack ALM ToolOrcanos QPack ALM Tool
Orcanos QPack ALM Tool
 
Mercury Testdirector8.0 using Slides
Mercury Testdirector8.0 using SlidesMercury Testdirector8.0 using Slides
Mercury Testdirector8.0 using Slides
 
Softwar tetesting basic
Softwar tetesting basicSoftwar tetesting basic
Softwar tetesting basic
 
Learn software testing with tech partnerz 1
Learn software testing with tech partnerz 1Learn software testing with tech partnerz 1
Learn software testing with tech partnerz 1
 
The Art of Unit Testing - Towards a Testable Design
The Art of Unit Testing - Towards a Testable DesignThe Art of Unit Testing - Towards a Testable Design
The Art of Unit Testing - Towards a Testable Design
 
Kraig Kottenstette 102016.doc
Kraig Kottenstette 102016.docKraig Kottenstette 102016.doc
Kraig Kottenstette 102016.doc
 
Amq Overview Continuous Quality Assurance
Amq Overview Continuous Quality AssuranceAmq Overview Continuous Quality Assurance
Amq Overview Continuous Quality Assurance
 
Automated Low Level Requirements Testing for DO-178C
Automated Low Level Requirements Testing for DO-178CAutomated Low Level Requirements Testing for DO-178C
Automated Low Level Requirements Testing for DO-178C
 
End-end tests as first class citizens - SeleniumConf 2020
End-end tests as first class citizens - SeleniumConf 2020End-end tests as first class citizens - SeleniumConf 2020
End-end tests as first class citizens - SeleniumConf 2020
 
Modern Testing Strategies for Evolving Ecosystems
Modern Testing Strategies for Evolving EcosystemsModern Testing Strategies for Evolving Ecosystems
Modern Testing Strategies for Evolving Ecosystems
 
Resume 2.0
Resume 2.0Resume 2.0
Resume 2.0
 
Resume 2.0
Resume 2.0Resume 2.0
Resume 2.0
 
puneet_pall_resume
puneet_pall_resumepuneet_pall_resume
puneet_pall_resume
 

Recently uploaded

The mythical technical debt. (Brooke, please, forgive me)
The mythical technical debt. (Brooke, please, forgive me)The mythical technical debt. (Brooke, please, forgive me)
The mythical technical debt. (Brooke, please, forgive me)Roberto Bettazzoni
 
Test Automation Design Patterns_ A Comprehensive Guide.pdf
Test Automation Design Patterns_ A Comprehensive Guide.pdfTest Automation Design Patterns_ A Comprehensive Guide.pdf
Test Automation Design Patterns_ A Comprehensive Guide.pdfkalichargn70th171
 
Navigation in flutter – how to add stack, tab, and drawer navigators to your ...
Navigation in flutter – how to add stack, tab, and drawer navigators to your ...Navigation in flutter – how to add stack, tab, and drawer navigators to your ...
Navigation in flutter – how to add stack, tab, and drawer navigators to your ...Flutter Agency
 
Workshop: Enabling GenAI Breakthroughs with Knowledge Graphs - GraphSummit Milan
Workshop: Enabling GenAI Breakthroughs with Knowledge Graphs - GraphSummit MilanWorkshop: Enabling GenAI Breakthroughs with Knowledge Graphs - GraphSummit Milan
Workshop: Enabling GenAI Breakthroughs with Knowledge Graphs - GraphSummit MilanNeo4j
 
COMPUTER AND ITS COMPONENTS PPT.by naitik sharma Class 9th A mittal internati...
COMPUTER AND ITS COMPONENTS PPT.by naitik sharma Class 9th A mittal internati...COMPUTER AND ITS COMPONENTS PPT.by naitik sharma Class 9th A mittal internati...
COMPUTER AND ITS COMPONENTS PPT.by naitik sharma Class 9th A mittal internati...naitiksharma1124
 
Automate your OpenSIPS config tests - OpenSIPS Summit 2024
Automate your OpenSIPS config tests - OpenSIPS Summit 2024Automate your OpenSIPS config tests - OpenSIPS Summit 2024
Automate your OpenSIPS config tests - OpenSIPS Summit 2024Andreas Granig
 
Optimizing Operations by Aligning Resources with Strategic Objectives Using O...
Optimizing Operations by Aligning Resources with Strategic Objectives Using O...Optimizing Operations by Aligning Resources with Strategic Objectives Using O...
Optimizing Operations by Aligning Resources with Strategic Objectives Using O...OnePlan Solutions
 
Weeding your micro service landscape.pdf
Weeding your micro service landscape.pdfWeeding your micro service landscape.pdf
Weeding your micro service landscape.pdftimtebeek1
 
BusinessGPT - Security and Governance for Generative AI
BusinessGPT  - Security and Governance for Generative AIBusinessGPT  - Security and Governance for Generative AI
BusinessGPT - Security and Governance for Generative AIAGATSoftware
 
architecting-ai-in-the-enterprise-apis-and-applications.pdf
architecting-ai-in-the-enterprise-apis-and-applications.pdfarchitecting-ai-in-the-enterprise-apis-and-applications.pdf
architecting-ai-in-the-enterprise-apis-and-applications.pdfWSO2
 
Effective Strategies for Wix's Scaling challenges - GeeCon
Effective Strategies for Wix's Scaling challenges - GeeConEffective Strategies for Wix's Scaling challenges - GeeCon
Effective Strategies for Wix's Scaling challenges - GeeConNatan Silnitsky
 
Anypoint Code Builder - Munich MuleSoft Meetup - 16th May 2024
Anypoint Code Builder - Munich MuleSoft Meetup - 16th May 2024Anypoint Code Builder - Munich MuleSoft Meetup - 16th May 2024
Anypoint Code Builder - Munich MuleSoft Meetup - 16th May 2024MulesoftMunichMeetup
 
^Clinic ^%[+27788225528*Abortion Pills For Sale In harare
^Clinic ^%[+27788225528*Abortion Pills For Sale In harare^Clinic ^%[+27788225528*Abortion Pills For Sale In harare
^Clinic ^%[+27788225528*Abortion Pills For Sale In hararekasambamuno
 
Team Transformation Tactics for Holistic Testing and Quality (NewCrafts Paris...
Team Transformation Tactics for Holistic Testing and Quality (NewCrafts Paris...Team Transformation Tactics for Holistic Testing and Quality (NewCrafts Paris...
Team Transformation Tactics for Holistic Testing and Quality (NewCrafts Paris...Lisi Hocke
 
GraphSummit Milan & Stockholm - Neo4j: The Art of the Possible with Graph
GraphSummit Milan & Stockholm - Neo4j: The Art of the Possible with GraphGraphSummit Milan & Stockholm - Neo4j: The Art of the Possible with Graph
GraphSummit Milan & Stockholm - Neo4j: The Art of the Possible with GraphNeo4j
 
UNI DI NAPOLI FEDERICO II - Il ruolo dei grafi nell'AI Conversazionale Ibrida
UNI DI NAPOLI FEDERICO II - Il ruolo dei grafi nell'AI Conversazionale IbridaUNI DI NAPOLI FEDERICO II - Il ruolo dei grafi nell'AI Conversazionale Ibrida
UNI DI NAPOLI FEDERICO II - Il ruolo dei grafi nell'AI Conversazionale IbridaNeo4j
 
Lessons Learned from Building a Serverless Notifications System.pdf
Lessons Learned from Building a Serverless Notifications System.pdfLessons Learned from Building a Serverless Notifications System.pdf
Lessons Learned from Building a Serverless Notifications System.pdfSrushith Repakula
 
Wired_2.0_CREATE YOUR ULTIMATE LEARNING ENVIRONMENT_JCON_16052024
Wired_2.0_CREATE YOUR ULTIMATE LEARNING ENVIRONMENT_JCON_16052024Wired_2.0_CREATE YOUR ULTIMATE LEARNING ENVIRONMENT_JCON_16052024
Wired_2.0_CREATE YOUR ULTIMATE LEARNING ENVIRONMENT_JCON_16052024SimonedeGijt
 

Recently uploaded (20)

The mythical technical debt. (Brooke, please, forgive me)
The mythical technical debt. (Brooke, please, forgive me)The mythical technical debt. (Brooke, please, forgive me)
The mythical technical debt. (Brooke, please, forgive me)
 
Test Automation Design Patterns_ A Comprehensive Guide.pdf
Test Automation Design Patterns_ A Comprehensive Guide.pdfTest Automation Design Patterns_ A Comprehensive Guide.pdf
Test Automation Design Patterns_ A Comprehensive Guide.pdf
 
Navigation in flutter – how to add stack, tab, and drawer navigators to your ...
Navigation in flutter – how to add stack, tab, and drawer navigators to your ...Navigation in flutter – how to add stack, tab, and drawer navigators to your ...
Navigation in flutter – how to add stack, tab, and drawer navigators to your ...
 
Workshop: Enabling GenAI Breakthroughs with Knowledge Graphs - GraphSummit Milan
Workshop: Enabling GenAI Breakthroughs with Knowledge Graphs - GraphSummit MilanWorkshop: Enabling GenAI Breakthroughs with Knowledge Graphs - GraphSummit Milan
Workshop: Enabling GenAI Breakthroughs with Knowledge Graphs - GraphSummit Milan
 
COMPUTER AND ITS COMPONENTS PPT.by naitik sharma Class 9th A mittal internati...
COMPUTER AND ITS COMPONENTS PPT.by naitik sharma Class 9th A mittal internati...COMPUTER AND ITS COMPONENTS PPT.by naitik sharma Class 9th A mittal internati...
COMPUTER AND ITS COMPONENTS PPT.by naitik sharma Class 9th A mittal internati...
 
Automate your OpenSIPS config tests - OpenSIPS Summit 2024
Automate your OpenSIPS config tests - OpenSIPS Summit 2024Automate your OpenSIPS config tests - OpenSIPS Summit 2024
Automate your OpenSIPS config tests - OpenSIPS Summit 2024
 
Abortion Pill Prices Germiston ](+27832195400*)[ 🏥 Women's Abortion Clinic in...
Abortion Pill Prices Germiston ](+27832195400*)[ 🏥 Women's Abortion Clinic in...Abortion Pill Prices Germiston ](+27832195400*)[ 🏥 Women's Abortion Clinic in...
Abortion Pill Prices Germiston ](+27832195400*)[ 🏥 Women's Abortion Clinic in...
 
Optimizing Operations by Aligning Resources with Strategic Objectives Using O...
Optimizing Operations by Aligning Resources with Strategic Objectives Using O...Optimizing Operations by Aligning Resources with Strategic Objectives Using O...
Optimizing Operations by Aligning Resources with Strategic Objectives Using O...
 
Weeding your micro service landscape.pdf
Weeding your micro service landscape.pdfWeeding your micro service landscape.pdf
Weeding your micro service landscape.pdf
 
Abortion Clinic In Polokwane ](+27832195400*)[ 🏥 Safe Abortion Pills in Polok...
Abortion Clinic In Polokwane ](+27832195400*)[ 🏥 Safe Abortion Pills in Polok...Abortion Clinic In Polokwane ](+27832195400*)[ 🏥 Safe Abortion Pills in Polok...
Abortion Clinic In Polokwane ](+27832195400*)[ 🏥 Safe Abortion Pills in Polok...
 
BusinessGPT - Security and Governance for Generative AI
BusinessGPT  - Security and Governance for Generative AIBusinessGPT  - Security and Governance for Generative AI
BusinessGPT - Security and Governance for Generative AI
 
architecting-ai-in-the-enterprise-apis-and-applications.pdf
architecting-ai-in-the-enterprise-apis-and-applications.pdfarchitecting-ai-in-the-enterprise-apis-and-applications.pdf
architecting-ai-in-the-enterprise-apis-and-applications.pdf
 
Effective Strategies for Wix's Scaling challenges - GeeCon
Effective Strategies for Wix's Scaling challenges - GeeConEffective Strategies for Wix's Scaling challenges - GeeCon
Effective Strategies for Wix's Scaling challenges - GeeCon
 
Anypoint Code Builder - Munich MuleSoft Meetup - 16th May 2024
Anypoint Code Builder - Munich MuleSoft Meetup - 16th May 2024Anypoint Code Builder - Munich MuleSoft Meetup - 16th May 2024
Anypoint Code Builder - Munich MuleSoft Meetup - 16th May 2024
 
^Clinic ^%[+27788225528*Abortion Pills For Sale In harare
^Clinic ^%[+27788225528*Abortion Pills For Sale In harare^Clinic ^%[+27788225528*Abortion Pills For Sale In harare
^Clinic ^%[+27788225528*Abortion Pills For Sale In harare
 
Team Transformation Tactics for Holistic Testing and Quality (NewCrafts Paris...
Team Transformation Tactics for Holistic Testing and Quality (NewCrafts Paris...Team Transformation Tactics for Holistic Testing and Quality (NewCrafts Paris...
Team Transformation Tactics for Holistic Testing and Quality (NewCrafts Paris...
 
GraphSummit Milan & Stockholm - Neo4j: The Art of the Possible with Graph
GraphSummit Milan & Stockholm - Neo4j: The Art of the Possible with GraphGraphSummit Milan & Stockholm - Neo4j: The Art of the Possible with Graph
GraphSummit Milan & Stockholm - Neo4j: The Art of the Possible with Graph
 
UNI DI NAPOLI FEDERICO II - Il ruolo dei grafi nell'AI Conversazionale Ibrida
UNI DI NAPOLI FEDERICO II - Il ruolo dei grafi nell'AI Conversazionale IbridaUNI DI NAPOLI FEDERICO II - Il ruolo dei grafi nell'AI Conversazionale Ibrida
UNI DI NAPOLI FEDERICO II - Il ruolo dei grafi nell'AI Conversazionale Ibrida
 
Lessons Learned from Building a Serverless Notifications System.pdf
Lessons Learned from Building a Serverless Notifications System.pdfLessons Learned from Building a Serverless Notifications System.pdf
Lessons Learned from Building a Serverless Notifications System.pdf
 
Wired_2.0_CREATE YOUR ULTIMATE LEARNING ENVIRONMENT_JCON_16052024
Wired_2.0_CREATE YOUR ULTIMATE LEARNING ENVIRONMENT_JCON_16052024Wired_2.0_CREATE YOUR ULTIMATE LEARNING ENVIRONMENT_JCON_16052024
Wired_2.0_CREATE YOUR ULTIMATE LEARNING ENVIRONMENT_JCON_16052024
 

Automated testing - back to the roots

  • 3. ✓ Product quality Frequency and severity of defects
  • 5. The authorization page ✓ should be at the correct url (3531ms) ✓ should display client_not_specified if client_id is missing as a parameter (2818ms) ✓ should display invalid_redirect_uri if wrong redirect_uri is sent as a parameter (2796ms) ✓ should display invalid_redirect_uri if client does not have a redirect_uri configured (2789ms) ✓ should redirect to the login page if the user is not logged in (2434ms) ✓ should redirect back to client with an access token on successful login (6149ms) ✓ should go back to client, when clicking on browser back button after successful login (5674ms) When the user is already logged in ✓ should redirect back to client with an access token (1975ms) ✓ should redirect back to client with an id_token if the requested scope includes openid (2036ms) ✓ should redirect back to client with an id_token that contains the provided nonce (2150ms) ✓ should redirect back to client with a code as a query parameter (2100ms) ✓ should redirect back to client with a code and id_token if response_type includes both (2232ms) ✓ should go back to client, when clicking on browser back button (2448ms) ✓ should redirect to the login page if the login state has expired (4210ms)
  • 6. ✓ Continuous integration and deployment Rapid cycles = early feedback Smaller scope = smaller risk
  • 9. Category Business value Product quality Frequency and severity of defects Continuous integration and deployment Rapid cycles Documentation Business requirements Efficiency of team communication Technical specification Effort for understanding the system Development Enables refactoring Cost of new features and bugfixes Modular design Cost of new features and bugfixes Reduce interactive debugging Cost of new features and bugfixes
  • 10. Component2 Component3 C3mock Component1 Unit1 Unit2 component test unit test U2mock unit test manual exploratory test end-to-end test acceptance test minutes / hours ~10 s / ~ 10 min ~10 ms / ~ 10 s ~30 s / ~ 2 min
  • 13. Unit tests - focus on describing the intention Coverage 100% Atomic Independent Aggressive maintenance Critical code review Production bug prevention Continuous integration and deployment Documentation Development support Business requirements Technical specification Enables refactoring Flexible design Reduce interactive debugging Unit ▫ ■ ■ ▪ ■ ■
  • 14. Component tests - focus on enabling refactoring Cover 100% interface Avoid referring internals Mock dependencies Production bug prevention Continuous integration and deployment Documentation Development support Business requirements Technical specification Enables refactoring Flexible design Reduce interactive debugging Component ▪ ■ ■ ■
  • 15. Recap - Code review is your only chance for testing the readability of the specification - Don’t let unit tests pile up and rot - Acceptance tests and contract tests for business requirements tracking - Unit tests for technical specification - Maintain component tests interface-coverage
  • 17.
  • 18. References Meszaros G. (2007). xUnit Test Patterns: Refactoring Test Code. Addison Wesley http://xunitpatterns.com/~gerard/xpau2003-test-automation-manifesto-paper.pdf http://xunitpatterns.com/~gerard/xunitTutorialSlides-V1.pdf Clemson T. (2014). Testing Strategies in a Microservice Architecture http://martinfowler.com/articles/microservice-testing/