SlideShare ist ein Scribd-Unternehmen logo
1 von 27
The power of automated testing
GLOBANT
We are
Is the process of operating a system or
component to evaluate specific aspects
under specific conditions, observing and
registering the results.
The process of executing a program
with the intention of certifying its
quality.
TESTING PROCESS
Testing is the art of destroying
something constructively
Why is it
necessary?
Because errors exist...and humans **** up things. Testing
helps us to:
Ensures product fits customer's requirements
Makes sure the code is reliable, helps improve developers
knowledge/skills and overall product quality
Reduce defects that can potentially reach Production
environments
Redefine the way things are done and how they work
Set projects up to success
As time passes, the cost of fixing a defect increases.
Approach Purpose Pros Cons
Black Box Tests what the software should do
Based on the module’s definitions and
specifications
Does not care about the program’s internals
Functional test, produced by data, inputs and
outputs
Unbiased
User based testing
Requirement
validation approach
Testing each/every input is unrealistic.
Insufficient time. Many paths go
untested
Hard to evaluate how much has been
tested
Suites grow fast. High maintenance of
automated tests
Test redundancy
White
Box
Tests what the software does
Test cases are designed considering the
software’s internal structure
Harder to validate requirements
Development skills needed
Cannot detect absence of functionality
or misinterpretations
Positive Verifies the ability of the system to implement a solution to the business needs under normal conditions
Negative Verifies the ability of the system to detect, document and resolve user errors or any other condition not
considered normal
Testing approaches
Generally described within the functional requirements
specification
Refers mostly to “what the system does”
These tests belong to the “Black Box” category
Smoke testing: Refers to the first tests that are executed to provide quick feedback to determine if system
under test is stable and won’t fail drastically
Sanity testing: Refers to the suite of tests that is executed to verify the main functions of a system are
working without errors to determine if it is reasonable to continue with further (more detailed) tests
Regression testing: Consist in testing a system after a modification has taken place to verify that no new
defects have been introduced or affected the previous correct functionality
FUNCTIONAL TESTING TYPES
May include:
Performance
Stress
Usability
Disaster/Error Recovery
Portability
NON FUNCTIONAL TESTING TYPES
Automation Engineering aims to improve productivity and quality of repetitive tasks that are normally
tackled by people.
Increased throughput or productivity.
Improved quality or increased predictability of quality.
Improved robustness (consistency), of processes or product
WHY DO WE AUTOMATE?
Faster time to market
Reduced cost of failure
Leverage
Cumulative coverage
BENEFITS
When is automating a
good idea?
Application stable
Tests that use multiple data values for the same cases
Tests that require detailed information about the internal state of the system (SQL, GUI, etc)
Tests run in several environments)
When is automating not a good idea?
Not final version of the app or systems in beta phase
Tests that will be run only once
Tests with little predictable results
Unstable applications
MANUAL
Manual testing vs Automated
testing
Success of the expertise of the performer
Difficult to document
Difficult to keep updated
Automated
The result does not depend on the performer
Self-documented
Auto-updatable if there are changes in the application
Record and playback
Data driven
Keyword driven
BDD and Hybrid
Selenium based frameworks. Do you want reinvent the wheel?
Generations of test
automation frameworks
Most popular Selenium IDE
No code needed
Hard to maintain
Record and playback
Data Driven Testing Framework helps the user segregate the test script logic and the test data from each
other
External data from databases, csv, text files
Data driven
Common functions to perform actions
keywords are stored in a step-by-step fashion with an associated object.
Object mapping
More in-depth programming knowledge
Keyword driven
Some of the top recognised automation QA engineers decided to crate frameworks “core” and share it with
the rest of the world
Much better to base your hybrid framework on them then reinventing the wheel.
Barely support
@Test
public void userCanLoginByUsername() {
open("/login");
$(By.name("user.name")).setValue("johny");
$("#submit").click();
$(".loading_progress").should(disappear); // Waits until element disappears
$("#username").shouldHave(text("Hello, Johny!")); // Waits until element gets text
}
Selenium based frameworks
Behavior Driven Development frameworks allow automation of functional validations in easily readable and
understandable format to Business Analysts, Developers, Testers, etc.
Combination of one or more than one above mentioned.
Users don’t necessarily need to be acquainted with programming.
Adapted to get the best results
Hybrid, the most popular approach nowadays
BDD and Hybrids frameworks
Automation framework
Group of libraries that define coding standard , concepts, processes to support automated testing. So we
can follow these guidelines while automating application to take advantages of various productive results.
Reuse, coding faster...
What is an Automation
framework
How does an automation
framework works?
Object mapping
Steps
Test cases
Schedule
How does an
automation framework
works?
Tools Commercial
Open Source
The page object is a design pattern for enhancing test maintenance and reducing code duplication
Page Object Model
Clean separation between test code and page specific code such as locators and layout.
Providing higher-level operations than the exposure of elements: for example, filling a form with a single
method that contains default values for most of the inputs.
It improves the readability and allows us to create interactive documentation
POM creates our testing code maintainable, reusable.
The PageFactory Class in Selenium is an extension to the Page Object design pattern. It is used to initialize
the elements of the Page Object or instantiate the Page Objects itself
Page Factory
we use annotations @FindBy to find WebElement.
We use initElements method to initialize web elements
Schedule
Q&A
WE HELP
YOU
STAY
RELEVANT

Weitere ähnliche Inhalte

Was ist angesagt?

WSO2Con Asia 2014 - Effective Test Automation in an Agile Environment
WSO2Con Asia 2014 - Effective Test Automation in an Agile EnvironmentWSO2Con Asia 2014 - Effective Test Automation in an Agile Environment
WSO2Con Asia 2014 - Effective Test Automation in an Agile Environment
WSO2
 
Automation Framework Design
Automation Framework DesignAutomation Framework Design
Automation Framework Design
Kunal Saxena
 

Was ist angesagt? (20)

Performance Testing Using JMeter | Edureka
Performance Testing Using JMeter | EdurekaPerformance Testing Using JMeter | Edureka
Performance Testing Using JMeter | Edureka
 
Testing types functional and nonfunctional - Kati Holasz
Testing types   functional and nonfunctional - Kati HolaszTesting types   functional and nonfunctional - Kati Holasz
Testing types functional and nonfunctional - Kati Holasz
 
software testing technique
software testing techniquesoftware testing technique
software testing technique
 
Software Testing
Software TestingSoftware Testing
Software Testing
 
Testing web application
Testing web applicationTesting web application
Testing web application
 
functional testing
functional testing functional testing
functional testing
 
Functional testing patterns
Functional testing patternsFunctional testing patterns
Functional testing patterns
 
WSO2Con Asia 2014 - Effective Test Automation in an Agile Environment
WSO2Con Asia 2014 - Effective Test Automation in an Agile EnvironmentWSO2Con Asia 2014 - Effective Test Automation in an Agile Environment
WSO2Con Asia 2014 - Effective Test Automation in an Agile Environment
 
Functional Testing
Functional TestingFunctional Testing
Functional Testing
 
Basic interview questions for manual testing
Basic interview questions for manual testingBasic interview questions for manual testing
Basic interview questions for manual testing
 
Automated Testing vs Manual Testing
Automated Testing vs Manual TestingAutomated Testing vs Manual Testing
Automated Testing vs Manual Testing
 
Four schools of testing context driven school
Four schools of testing   context driven schoolFour schools of testing   context driven school
Four schools of testing context driven school
 
Developing a test automation strategy by Brian Bayer
Developing a test automation strategy by Brian BayerDeveloping a test automation strategy by Brian Bayer
Developing a test automation strategy by Brian Bayer
 
Automation Framework Design
Automation Framework DesignAutomation Framework Design
Automation Framework Design
 
Manual testing
Manual testingManual testing
Manual testing
 
Writing Test Cases in Agile
Writing Test Cases in AgileWriting Test Cases in Agile
Writing Test Cases in Agile
 
Alpha beta and acceptance testing
Alpha beta and acceptance testing Alpha beta and acceptance testing
Alpha beta and acceptance testing
 
Practical Software Testing Tools
Practical Software Testing ToolsPractical Software Testing Tools
Practical Software Testing Tools
 
Manual Testing Interview Questions | Edureka
Manual Testing Interview Questions | EdurekaManual Testing Interview Questions | Edureka
Manual Testing Interview Questions | Edureka
 
Software Compatibility testing
Software Compatibility testingSoftware Compatibility testing
Software Compatibility testing
 

Ähnlich wie Lightning Talks by Globant - Automation (This app runs by itself )

softwaretestingppt-120810095500-phpapp02 (1).pdf
softwaretestingppt-120810095500-phpapp02 (1).pdfsoftwaretestingppt-120810095500-phpapp02 (1).pdf
softwaretestingppt-120810095500-phpapp02 (1).pdf
BabaShaikh3
 
MD Tareque Automation
MD Tareque AutomationMD Tareque Automation
MD Tareque Automation
MD Tareque
 
Emad Samy Mahmoud Mekdad
Emad Samy Mahmoud MekdadEmad Samy Mahmoud Mekdad
Emad Samy Mahmoud Mekdad
Emad
 

Ähnlich wie Lightning Talks by Globant - Automation (This app runs by itself ) (20)

softwaretestingppt-120810095500-phpapp02 (1).pdf
softwaretestingppt-120810095500-phpapp02 (1).pdfsoftwaretestingppt-120810095500-phpapp02 (1).pdf
softwaretestingppt-120810095500-phpapp02 (1).pdf
 
Getting Started With QA Automation
Getting Started With QA AutomationGetting Started With QA Automation
Getting Started With QA Automation
 
Software testing ppt
Software testing pptSoftware testing ppt
Software testing ppt
 
Software Testing - SDLC Model
Software Testing - SDLC ModelSoftware Testing - SDLC Model
Software Testing - SDLC Model
 
An Ultimate Guide to Continuous Testing in Agile Projects.pdf
An Ultimate Guide to Continuous Testing in Agile Projects.pdfAn Ultimate Guide to Continuous Testing in Agile Projects.pdf
An Ultimate Guide to Continuous Testing in Agile Projects.pdf
 
Software Quality and Test Strategies for Ruby and Rails Applications
Software Quality and Test Strategies for Ruby and Rails ApplicationsSoftware Quality and Test Strategies for Ruby and Rails Applications
Software Quality and Test Strategies for Ruby and Rails Applications
 
Incorporating Performance Testing in Agile Development Process
Incorporating Performance Testing in Agile Development ProcessIncorporating Performance Testing in Agile Development Process
Incorporating Performance Testing in Agile Development Process
 
MD Tareque Automation
MD Tareque AutomationMD Tareque Automation
MD Tareque Automation
 
Upstream testing.
Upstream testing.Upstream testing.
Upstream testing.
 
Nuevosoft Test Manager Overview
Nuevosoft Test Manager OverviewNuevosoft Test Manager Overview
Nuevosoft Test Manager Overview
 
Choosing right-automation-tool
Choosing right-automation-toolChoosing right-automation-tool
Choosing right-automation-tool
 
#DOAW16 - DevOps@work Roma 2016 - Testing your databases
#DOAW16 - DevOps@work Roma 2016 - Testing your databases#DOAW16 - DevOps@work Roma 2016 - Testing your databases
#DOAW16 - DevOps@work Roma 2016 - Testing your databases
 
Emad Samy Mahmoud Mekdad
Emad Samy Mahmoud MekdadEmad Samy Mahmoud Mekdad
Emad Samy Mahmoud Mekdad
 
Qa analyst training
Qa analyst training Qa analyst training
Qa analyst training
 
Future of QA
Future of QAFuture of QA
Future of QA
 
Futureofqa
FutureofqaFutureofqa
Futureofqa
 
Software testing
Software testingSoftware testing
Software testing
 
The Importance of Performance Testing Theory and Practice - QueBIT Consulting...
The Importance of Performance Testing Theory and Practice - QueBIT Consulting...The Importance of Performance Testing Theory and Practice - QueBIT Consulting...
The Importance of Performance Testing Theory and Practice - QueBIT Consulting...
 
Enhancing Software Quality
Enhancing Software QualityEnhancing Software Quality
Enhancing Software Quality
 
Testing Interview Questions.pdf
Testing Interview Questions.pdfTesting Interview Questions.pdf
Testing Interview Questions.pdf
 

Mehr von Globant

Navegando el desafío de transformación digital de los servicios financieros
Navegando el desafío de transformación digital de los servicios financierosNavegando el desafío de transformación digital de los servicios financieros
Navegando el desafío de transformación digital de los servicios financieros
Globant
 

Mehr von Globant (20)

Webinar MLOps: When AA gets serious.
Webinar MLOps: When AA gets serious.Webinar MLOps: When AA gets serious.
Webinar MLOps: When AA gets serious.
 
Google Cloud Spanner y NewSQL
Google Cloud Spanner y NewSQLGoogle Cloud Spanner y NewSQL
Google Cloud Spanner y NewSQL
 
Eventos Asíncronos como estrategia virtual
Eventos Asíncronos como estrategia virtualEventos Asíncronos como estrategia virtual
Eventos Asíncronos como estrategia virtual
 
Cultura y valores 4.0 para líderes 4.0
Cultura y valores 4.0 para líderes 4.0Cultura y valores 4.0 para líderes 4.0
Cultura y valores 4.0 para líderes 4.0
 
Tech Insiders Salesforce: SFDX e Integración Continua
Tech Insiders Salesforce: SFDX e Integración ContinuaTech Insiders Salesforce: SFDX e Integración Continua
Tech Insiders Salesforce: SFDX e Integración Continua
 
Como impulsar tu carrera Salesforce
Como impulsar tu carrera SalesforceComo impulsar tu carrera Salesforce
Como impulsar tu carrera Salesforce
 
3D Programming Basics: WebGL
3D Programming Basics: WebGL3D Programming Basics: WebGL
3D Programming Basics: WebGL
 
Converge augmented report
Converge augmented reportConverge augmented report
Converge augmented report
 
Sistema de recomendación entiempo real usando Delta Lake
Sistema de recomendación entiempo real usando Delta LakeSistema de recomendación entiempo real usando Delta Lake
Sistema de recomendación entiempo real usando Delta Lake
 
Kubeflow: Machine Learning en Cloud para todos
Kubeflow: Machine Learning en Cloud para todosKubeflow: Machine Learning en Cloud para todos
Kubeflow: Machine Learning en Cloud para todos
 
Orquestando Pipelines de Datosen AWS con Step Function y AWS Glue
Orquestando Pipelines de Datosen AWS con Step Function y AWS GlueOrquestando Pipelines de Datosen AWS con Step Function y AWS Glue
Orquestando Pipelines de Datosen AWS con Step Function y AWS Glue
 
Apache Beam: Lote portátil y procesamiento de transmisión
Apache Beam: Lote portátil y procesamiento de transmisiónApache Beam: Lote portátil y procesamiento de transmisión
Apache Beam: Lote portátil y procesamiento de transmisión
 
Navegando el desafío de transformación digital de los servicios financieros
Navegando el desafío de transformación digital de los servicios financierosNavegando el desafío de transformación digital de los servicios financieros
Navegando el desafío de transformación digital de los servicios financieros
 
Converge 2020
Converge 2020 Converge 2020
Converge 2020
 
Converge 2020
Converge 2020Converge 2020
Converge 2020
 
Tendencias de tecnología para el recién egresado
Tendencias de tecnología para el recién egresadoTendencias de tecnología para el recién egresado
Tendencias de tecnología para el recién egresado
 
SRE: ¿Qué es y cómo gestionar el Toil?
SRE: ¿Qué es y cómo gestionar el Toil?SRE: ¿Qué es y cómo gestionar el Toil?
SRE: ¿Qué es y cómo gestionar el Toil?
 
Monitoreo en tiempo real para la mejora continua de una aplicación
Monitoreo en tiempo real para la mejora continua de una aplicaciónMonitoreo en tiempo real para la mejora continua de una aplicación
Monitoreo en tiempo real para la mejora continua de una aplicación
 
¿Cómo automatizar pruebas de infraestructura y no morir en el intento?
¿Cómo automatizar pruebas de infraestructura y no morir en el intento?¿Cómo automatizar pruebas de infraestructura y no morir en el intento?
¿Cómo automatizar pruebas de infraestructura y no morir en el intento?
 
Automatización en AWS con Chatbot Serverless (Amazon Lex)
Automatización en AWS con Chatbot Serverless (Amazon Lex)Automatización en AWS con Chatbot Serverless (Amazon Lex)
Automatización en AWS con Chatbot Serverless (Amazon Lex)
 

Kürzlich hochgeladen

Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
WSO2
 

Kürzlich hochgeladen (20)

[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
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...
 
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
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
Vector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxVector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptx
 
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...
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityPlatformless Horizons for Digital Adaptability
Platformless Horizons for Digital Adaptability
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
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
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
 
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)
 
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
 

Lightning Talks by Globant - Automation (This app runs by itself )

  • 1. The power of automated testing GLOBANT We are
  • 2. Is the process of operating a system or component to evaluate specific aspects under specific conditions, observing and registering the results. The process of executing a program with the intention of certifying its quality. TESTING PROCESS Testing is the art of destroying something constructively
  • 3. Why is it necessary? Because errors exist...and humans **** up things. Testing helps us to: Ensures product fits customer's requirements Makes sure the code is reliable, helps improve developers knowledge/skills and overall product quality Reduce defects that can potentially reach Production environments Redefine the way things are done and how they work Set projects up to success As time passes, the cost of fixing a defect increases.
  • 4. Approach Purpose Pros Cons Black Box Tests what the software should do Based on the module’s definitions and specifications Does not care about the program’s internals Functional test, produced by data, inputs and outputs Unbiased User based testing Requirement validation approach Testing each/every input is unrealistic. Insufficient time. Many paths go untested Hard to evaluate how much has been tested Suites grow fast. High maintenance of automated tests Test redundancy White Box Tests what the software does Test cases are designed considering the software’s internal structure Harder to validate requirements Development skills needed Cannot detect absence of functionality or misinterpretations Positive Verifies the ability of the system to implement a solution to the business needs under normal conditions Negative Verifies the ability of the system to detect, document and resolve user errors or any other condition not considered normal Testing approaches
  • 5. Generally described within the functional requirements specification Refers mostly to “what the system does” These tests belong to the “Black Box” category Smoke testing: Refers to the first tests that are executed to provide quick feedback to determine if system under test is stable and won’t fail drastically Sanity testing: Refers to the suite of tests that is executed to verify the main functions of a system are working without errors to determine if it is reasonable to continue with further (more detailed) tests Regression testing: Consist in testing a system after a modification has taken place to verify that no new defects have been introduced or affected the previous correct functionality FUNCTIONAL TESTING TYPES
  • 7. Automation Engineering aims to improve productivity and quality of repetitive tasks that are normally tackled by people. Increased throughput or productivity. Improved quality or increased predictability of quality. Improved robustness (consistency), of processes or product WHY DO WE AUTOMATE?
  • 8. Faster time to market Reduced cost of failure Leverage Cumulative coverage BENEFITS
  • 9. When is automating a good idea? Application stable Tests that use multiple data values for the same cases Tests that require detailed information about the internal state of the system (SQL, GUI, etc) Tests run in several environments)
  • 10. When is automating not a good idea? Not final version of the app or systems in beta phase Tests that will be run only once Tests with little predictable results Unstable applications
  • 11. MANUAL Manual testing vs Automated testing Success of the expertise of the performer Difficult to document Difficult to keep updated Automated The result does not depend on the performer Self-documented Auto-updatable if there are changes in the application
  • 12. Record and playback Data driven Keyword driven BDD and Hybrid Selenium based frameworks. Do you want reinvent the wheel? Generations of test automation frameworks
  • 13. Most popular Selenium IDE No code needed Hard to maintain Record and playback
  • 14. Data Driven Testing Framework helps the user segregate the test script logic and the test data from each other External data from databases, csv, text files Data driven
  • 15. Common functions to perform actions keywords are stored in a step-by-step fashion with an associated object. Object mapping More in-depth programming knowledge Keyword driven
  • 16. Some of the top recognised automation QA engineers decided to crate frameworks “core” and share it with the rest of the world Much better to base your hybrid framework on them then reinventing the wheel. Barely support @Test public void userCanLoginByUsername() { open("/login"); $(By.name("user.name")).setValue("johny"); $("#submit").click(); $(".loading_progress").should(disappear); // Waits until element disappears $("#username").shouldHave(text("Hello, Johny!")); // Waits until element gets text } Selenium based frameworks
  • 17. Behavior Driven Development frameworks allow automation of functional validations in easily readable and understandable format to Business Analysts, Developers, Testers, etc. Combination of one or more than one above mentioned. Users don’t necessarily need to be acquainted with programming. Adapted to get the best results Hybrid, the most popular approach nowadays BDD and Hybrids frameworks
  • 19. Group of libraries that define coding standard , concepts, processes to support automated testing. So we can follow these guidelines while automating application to take advantages of various productive results. Reuse, coding faster... What is an Automation framework
  • 20. How does an automation framework works?
  • 21. Object mapping Steps Test cases Schedule How does an automation framework works?
  • 23. The page object is a design pattern for enhancing test maintenance and reducing code duplication Page Object Model Clean separation between test code and page specific code such as locators and layout. Providing higher-level operations than the exposure of elements: for example, filling a form with a single method that contains default values for most of the inputs. It improves the readability and allows us to create interactive documentation POM creates our testing code maintainable, reusable.
  • 24. The PageFactory Class in Selenium is an extension to the Page Object design pattern. It is used to initialize the elements of the Page Object or instantiate the Page Objects itself Page Factory we use annotations @FindBy to find WebElement. We use initElements method to initialize web elements
  • 26. Q&A