SlideShare a Scribd company logo
Eradicate Flaky Tests
@BagmarAnand
Anand Bagmar
Software Quality Evangelist
Essence Of Testing
@BagmarAnand
About Me
Typical Architecture
@BagmarAnand
@BagmarAnand
Internet Internal
B2C
App
Product DB
DBMS
B2B
App
Caching System
Elastic Search
Authentication
Gateway
Service 3
Service 4
Service 7
Service 5
Service 6
Admin
User DB
Outgoing
Notification
Onboarding
Event
Consumer
Order DB
Reporting System
Admin
Portal
Support
Msg Q
Direct API
Service 2
Notification
Service 1
Event
Processor
Service 8
Payment Gateway
Credit System
Master Product
Warehouse
Royalty system
Offers
….
….
….

Recommended for you

Measuring Consumer Quality - The Missing Feedback Loop
Measuring Consumer Quality - The Missing Feedback LoopMeasuring Consumer Quality - The Missing Feedback Loop
Measuring Consumer Quality - The Missing Feedback Loop

Slides from my talk on Measuring Consumer Quality - The Missing Feedback Loop - delivered at PSTC 2018

analyticsbig dataconsumer
Patterns of a “good” test automation framework
Patterns of a “good” test automation frameworkPatterns of a “good” test automation framework
Patterns of a “good” test automation framework

This document discusses patterns for test automation frameworks. It begins by introducing common patterns like page objects, business layer, and factories. It then provides examples of page object and business layer page object patterns. The document also discusses test data patterns and different ways to specify test data and locators. Finally, it outlines advantages of using patterns like reduced complexity, reusability, and maintenance. The key message is that the best pattern depends on the specific test automation context.

software testingautomationtest data pattern
To Deploy or Not-To-Deploy - decide using TTA's Trend & Failure Analysis
To Deploy or Not-To-Deploy - decide using TTA's Trend & Failure AnalysisTo Deploy or Not-To-Deploy - decide using TTA's Trend & Failure Analysis
To Deploy or Not-To-Deploy - decide using TTA's Trend & Failure Analysis

Here are the slides from my recent talks on "To Deploy or Not-To-Deploy - decide using TTA's Trend and Failure Analysis" More information available from my blog: http://essenceoftesting.blogspot.com/search/label/tta

thoughtworkstest automationtta
Approach for
API Workflow & E2E Test
Execution
@BagmarAnand
API
workflow
Tests
E2E
Functional
UI Tests
@BagmarAnand
Internet Internal
B2C
App
Product DB
DBMS
B2B
App
Caching System
Elastic Search
Authentication
Gateway
Service 3
Service 4
Service 7
Service 5
Service 6
Admin
User DB
Outgoing
Notification
Onboarding
Event
Consumer
Order DB
Reporting System
Admin
Portal
Support
Msg Q
Direct API
Service 2
Notification
Service 1
Event
Processor
Service 8
Payment Gateway
Credit System
Master Product
Warehouse
Royalty system
Offers
….
….
….
• Long running scenarios
• Slow feedback
Challenges of E2E Test Automation
@BagmarAnand
• Limitations of automatable scenarios
• Error case / Edge case handling from dependent systems
• Triggers from external systems
Challenges of E2E Test Automation
@BagmarAnand

Recommended for you

Test Data - Food for your Test Automation Framework
Test Data - Food for your Test Automation FrameworkTest Data - Food for your Test Automation Framework
Test Data - Food for your Test Automation Framework

Slides from my talk in Selenium Conference 2016, Bangalore Blog post: http://essenceoftesting.blogspot.com/2016/06/test-data-food-for-test-automation.html Abstract: Building a Test Automation Framework is easy - there are so many resources / guides / blogs / etc. available to help you get started and help solve the issues you get along the journey. Teams already building 1000s of tests of various types - UI, web service-based, integration, unit, etc. is a proof of that. However, building a "good" Test Automation Framework is not very easy. There are a lot of principles and practices you need to use, in the right context, with a good set of skills required to make the Test Automation Framework maintainable, scalable and reusable. In this talk, we will focus on one of the critical aspects and patterns in building the Test Automation framework - Test Data! We will look at different data patterns as options and techniques how to create, manage, use, reuse Test Data in a way to keep the tests running in an reliable and deterministic way. We will also discuss what questions to ask, what things to think about in selecting your approach for Test Data! This discussion will be applicable for any type of Test Automation (web / mobile / desktop), but, we will focus primarily on UI automation frameworks, ex. using Selenium. Video & blog post will be linked soon!

contextsoftware testingautomation
Visual Validation - The Missing Tip of the Automation Pyramid
Visual Validation - The Missing Tip of the Automation PyramidVisual Validation - The Missing Tip of the Automation Pyramid
Visual Validation - The Missing Tip of the Automation Pyramid

The Test Automation Pyramid is not a new concept. The top of the pyramid is our UI / end-2-end functional tests - which should cover the breadth of the product. What the functional tests cannot capture though, is the aspects of UX validations that can only be seen and in some cases, captured by the human eye. This is where the new buzzwords of AI & ML can truly help. In this session, we will explore why Visual Validation is an important cog in the wheel of Test Automation and also different tools and techniques that can help achieve this. We will also see a demo of Applitools Eyes - and how it can be a good option to close this gap in automation!

testtestingsoftware testing
Role of Automation in Testing
Role of Automation in TestingRole of Automation in Testing
Role of Automation in Testing

Slides explaining the Agile process, and how Test Automation plays a key role in enabling teams to be successful in this fast moving process.

agileinterviewdistributed testing
• Pain of Cross Browser execution
• Slow, special handling for browsers, infrastructure cost /
maintenance
Challenges of E2E Test Automation
@BagmarAnand
• Flaky Tests
Challenges of E2E Test Automation
@BagmarAnand
Why are Tests Flaky?
@BagmarAnand
• Brittle / Flaky tests
• UI changes
• Downstream dependencies
• Data dependencies
• Network (speed) fluctuations
Challenges of E2E Test Automation
@BagmarAnand

Recommended for you

Enabling CD in Enterprises with Testing
Enabling CD in Enterprises with TestingEnabling CD in Enterprises with Testing
Enabling CD in Enterprises with Testing

Slides from my talk in Agile India 2015, Discuss Agile 2015 on "Enabling Continuous Delivery (CD) in Enterprises with Testing"

agileagile software developmentsoftware testing
An easy way to automate complex UI
An easy way to automate complex UIAn easy way to automate complex UI
An easy way to automate complex UI

This talk is a brief overview of how we deal with UI test architecture on our project. Complex backend, SPA as a frontend, 20+ different brands and 100+ features for each, more and more code. We will discuss: – fakes and test doubles, approaches how to build and maintain them; – development patterns, which help you to make your architecture more simple, stable and readable; – tips and tricks – how to make your life with UI tests easier.

#automation #testing #fake #double #patterns
Using The Page Object Pattern
Using The Page Object PatternUsing The Page Object Pattern
Using The Page Object Pattern

Creating automated functional tests of your web application with Selenium IDE is quick and easy, but leads to massive duplication in your test scripts. See why this duplication is a problem, and how to address it using a simple design pattern called the Page Object.

maintainabilitycodetests
Solutions / Way forward
@BagmarAnand
• Reduce number of UI tests
• Remove external dependencies via Intelligent Virtualization
• Use Visual Assertions instead of Functional Assertions
How to Reduce Flakiness in Tests?
@BagmarAnand
#1
Reduce the number of UI Tests
@BagmarAnand
Product Quality
@BagmarAnand

Recommended for you

Automating Web Analytics
Automating Web AnalyticsAutomating Web Analytics
Automating Web Analytics

Slides from workshop conducted at ThoughtWorks, Pune in vodQA, on Sat, 27th August, 2016. Workshop Facilitators - Anand Bagmar, Smriti Tuteja, Pallipuspa Samal, Rohit Singhal, S Ramalingam, Shilpa G More information about vodQA, and this workshop can be found from the following links - https://essenceoftesting.blogspot.com/2016/08/vodqa-pune-less-talk-only-action-agenda.html https://essenceoftesting.blogspot.com/search/label/vodQA https://essenceoftesting.blogspot.com/search/label/waat

vodqathoughtworkstest
Visual AI Testing Using Applitools
Visual AI Testing Using ApplitoolsVisual AI Testing Using Applitools
Visual AI Testing Using Applitools

The document discusses using Applitools for visual AI testing. It provides an overview of Applitools, which allows testing user interfaces through visual assertions rather than traditional code-based assertions. This avoids issues like managing locators and adjusting assertions. The document then demonstrates how to set up and implement visual AI testing using Applitools in Java, including configuring Eyes, setting up tests, and executing visual checks on elements and full pages. It concludes that while visual AI testing has advantages, a hybrid approach combining it with traditional testing may be best to avoid false positives.

applitoolscontinuous testingjava
Client-Side Performance Testing
Client-Side Performance TestingClient-Side Performance Testing
Client-Side Performance Testing

Slides from the workshop I conducted on "Client-side Performance Testing". Abstract of the workshop: In this workshop, we will see the different dimensions of Performance Testing and Performance Engineering, and focus on Client-side Performance Testing. Before we get to doing some Client-side Performance Testing activities, we will first understand how to look at client-side performance, and putting that in the context of the product under test. We will see, using a case study, the impact of caching on performance, the good & the bad! We will then experiment with some tools like WebPageTest and Page Speed to understand how to measure client-side performance. Lastly - just understanding the performance of the product is not sufficient. We will look at how to automate the testing for this activity - using WebPageTest (private instance setup), and experiment with yslow - as a low-cost, programatic alternative to WebPageTest.

vodqatestingperformance
#2
Intelligent Virtualization to
Eradicate Dependencies
@BagmarAnand
Typical Architecture
@BagmarAnand
@BagmarAnand
Internet Internal
B2C
App
Product DB
DBMS
B2B
App
Caching System
Elastic Search
Authentication
Gateway
Service 3
Service 4
Service 7
Service 5
Service 6
Admin
User DB
Outgoing
Notification
Onboarding
Event
Consumer
Order DB
Reporting System
Admin
Portal
Support
Msg Q
Direct API
Service 2
Notification
Service 1
Event
Processor
Service 8
Payment Gateway
Credit System
Master Product
Warehouse
Royalty system
Offers
….
….
….
Approach for API Workflow &
E2E Test Automation
@BagmarAnand

Recommended for you

What is Agile Testing? How does Automation help?
What is Agile Testing? How does Automation help?What is Agile Testing? How does Automation help?
What is Agile Testing? How does Automation help?

Agile Methodology is not new. Many organisations / teams have already adopted Agile way of Software Development or are in the enablement journey for the same. What does this mean for Testing? There is no doubt that the Testing approach and mindset also needs to change to be in tune with the Agile Development methodology. Learn what does it mean to Test on Agile Projects. Also, learn how Test Automation approach needs to change for the team to be successful! Also, see the skills and capabilities required to make anyone in the Quality / Testing role add tremendous value to the team!

agileagile software developmentagile testing
Enabling CD in Enterprises with Testing
Enabling CD in Enterprises with TestingEnabling CD in Enterprises with Testing
Enabling CD in Enterprises with Testing

The key objectives of Organizations is to provide / derive value from the products / services they offer. To achieve this, they need to be able to deliver their offerings in the quickest time possible, and of good quality! In such a fast moving environment, CI (Continuous Integration) and CD (Continuous Delivery) are now a necessity and not a luxury! There are various practices that Organizations and Enterprises need to implement to enable CD. Testing (automation) is one of the important practices that needs to be setup correctly for CD to be successful. Testing in Organizations on the CD journey is tricky and requires a lot of discipline, rigor and hard work. In Enterprises, the Testing complexity and challenges increase exponentially. I am sharing my vision of the Test Vision and Strategy required to make successful the journey of an Enterprise on the path of implementing CD. Learn via a case study of an Enterprise, what does CD really means, and how and what Testing needs to be done in order to enable CD.

Meticulous Planning of Test Automation
Meticulous Planning of Test AutomationMeticulous Planning of Test Automation
Meticulous Planning of Test Automation

The document discusses test automation frameworks, applications, and challenges. It introduces topics around revisiting test automation approaches, evaluating the need for AI/ML in testing, ensuring a precise testing approach, and comparing licensed versus open source test automation solutions. The presentation aims to have an open discussion around improving test automation through meticulous planning.

software testingfunctional automationestimation
API
workflow
Tests
E2E
Functional
UI Tests
@BagmarAnand
Internet Internal
B2C
App
Product DB
DBMS
B2B
App
Caching System
Elastic Search
Authentication
Gateway
Service 3
Service 4
Service 7
Service 5
Service 6
Admin
User DB
Outgoing
Notification
Onboarding
Event
Consumer
Order DB
Reporting System
Admin
Portal
Support
Msg Q
Direct API
Service 2
Notification
Service 1
Event
Processor
Service 8
Payment Gateway
Credit System
Master Product
Warehouse
Royalty system
Offers
….
….
….
Example
@BagmarAnand
@BagmarAnand
Step #1:
• Test calls Service 2
Step #2:
• Service 2 calls the external
service, which may
(unexpectedly) take long
time to respond
Step #3:
• Service 2 gets an error back
from external service
• Returns an error to the test
Step #4:
• Test fails because of
external service
• We may get
incorrect error as
well!
Test Scenario
Challenge!
Scenarios having external
dependencies are flaky
@BagmarAnand

Recommended for you

Design patterns in test automation
Design patterns in test automationDesign patterns in test automation
Design patterns in test automation

Design patters exist for years in software development. Some developers love them, some think they are useless. But design patters has very clear goals: describe common solutions for common problems, create shared language for community, improve understanding and reuse of existing approaches. Test automation has its own set of problems, so there is a set of helpful design patterns for this area. In this talk I will run through all known patterns and describe them in details with several practical samples.

qatest automationselenium
Brace yourself from automation death trap
Brace yourself from automation death trapBrace yourself from automation death trap
Brace yourself from automation death trap

A session where we learn about the clues to keep in mind to not fall into a maintenance overhead autoamtion

software testingautomationagile
Eradicate Flaky Tests
Eradicate Flaky TestsEradicate Flaky Tests
Eradicate Flaky Tests

Slides from my talk on "Techniques to Eradicate Flaky Tests" at Testing Talks - The Reunion, Melbourne, Australia on 20th Oct 2022

flakyteststestingautomation
Solution
@BagmarAnand
Stub it out using Specmatic!
@BagmarAnand
specmatic.in github.com/znsio/Specmatic
• Inculcates Contract Driven Development
• Supports OpenAPI Spec
• Executable Contract spec
• Defines http method, path, header format, payload format, query parameter format, form field payload format
• Supports JSON, XML data formats
• Supports Kafka
• Dynamically generates and executes contract tests
• Apt for service virtualization
• Compares contracts to ascertain backward compatibility
• Manages contracts through versioning
• Integrates with CI/CD
Specmatic – Contract Driven Development
@BagmarAnand
• Decouples the ”producers” and “consumers”, with confidence!
Use Specmatic as part of Test execution
@BagmarAnand
Step #3:
• Test calls Service 2
Step #4:
• Service 2 calls the
stubbed external service
Step #2:
• Test sets expectations on Specmatic for
specific stubbed endpoint
• Http POST call on Specmatic server with
exact request & response as json payload
Step #5:
• If request matches set expectation, corresponding set
response is returned in response
• Service 2 processes response and responds to test
appropriately
Step #6:
• Test asserts on the
received response
• Test passes
Step #1. Specmatic as a Stub Server in your Test
Environment
• Specmatic Server is started in the Stub mode in
the Environment
• External services are stubbed out
• Internal services point to Specmatic stubbed-
endpoints instead of real external endpoints

Recommended for you

Streamlining End-to-End Testing Automation
Streamlining End-to-End Testing AutomationStreamlining End-to-End Testing Automation
Streamlining End-to-End Testing Automation

Streamlining End-to-End Testing Automation with Azure DevOps Build & Release Pipelines Automating end-to-end (e2e) test for Android and iOS native apps, and web apps, within Azure build and release pipelines, poses several challenges. This session dives into the key challenges and the repeatable solutions implemented across multiple teams at a leading Indian telecom disruptor, renowned for its affordable 4G/5G services, digital platforms, and broadband connectivity. Challenge #1. Ensuring Test Environment Consistency: Establishing a standardized test execution environment across hundreds of Azure DevOps agents is crucial for achieving dependable testing results. This uniformity must seamlessly span from Build pipelines to various stages of the Release pipeline. Challenge #2. Coordinated Test Execution Across Environments: Executing distinct subsets of tests using the same automation framework across diverse environments, such as the build pipeline and specific stages of the Release Pipeline, demands flexible and cohesive approaches. Challenge #3. Testing on Linux-based Azure DevOps Agents: Conducting tests, particularly for web and native apps, on Azure DevOps Linux agents lacking browser or device connectivity presents specific challenges in attaining thorough testing coverage. This session delves into how these challenges were addressed through: 1. Automate the setup of essential dependencies to ensure a consistent testing environment. 2. Create standardized templates for executing API tests, API workflow tests, and end-to-end tests in the Build pipeline, streamlining the testing process. 3. Implement task groups in Release pipeline stages to facilitate the execution of tests, ensuring consistency and efficiency across deployment phases. 4. Deploy browsers within Docker containers for web application testing, enhancing portability and scalability of testing environments. 5. Leverage diverse device farms dedicated to Android, iOS, and browser testing to cover a wide range of platforms and devices. 6. Integrate AI technology, such as Applitools Visual AI and Ultrafast Grid, to automate test execution and validation, improving accuracy and efficiency. 7. Utilize AI/ML-powered central test automation reporting server through platforms like reportportal.io, providing consolidated and real-time insights into test performance and issues. These solutions not only facilitate comprehensive testing across platforms but also promote the principles of shift-left testing, enabling early feedback, implementing quality gates, and ensuring repeatability. By adopting these techniques, teams can effectively automate and execute tests, accelerating software delivery while upholding high-quality standards across Android, iOS, and web applications.

seleniumseconfautomation
Change Tyres In A Moving Car - Make Functional Test Automation Effective Keynote
Change Tyres In A Moving Car - Make Functional Test Automation Effective KeynoteChange Tyres In A Moving Car - Make Functional Test Automation Effective Keynote
Change Tyres In A Moving Car - Make Functional Test Automation Effective Keynote

https://confengine.com/conferences/selenium-conf-2022/proposal/17141/changing-tyres-in-a-moving-car-making-functional-test-automation-effective In my experience, I have seen teams struggle with more than one, and in many cases, all of the above statements. On retrospection, I have realized, that most of these challenges are because of a combination of the following issues: Lack of holistic vision, understanding, skills, and capabilities for taking on this seemingly easy activity of functional test automation Lack of time for design, implementation, and maintenance of the automated test code In this session, I will share, with examples, the features & capabilities that are not used right in Test Automation implementation resulting in you answering “NO” to the above statements. These are anti-patterns of functional automation implementation and have a negative impact on the quality of feedback from your automated tests. More importantly, I will share approaches and solutions of how you can avoid these anti-patterns and evolve to answer “YES” to each of the above statements.

keynoteseconfseleniumconference
Mobile User Experience: Auto Drive through Performance Metrics
Mobile User Experience:Auto Drive through Performance MetricsMobile User Experience:Auto Drive through Performance Metrics
Mobile User Experience: Auto Drive through Performance Metrics

Believe it or not - 85% of mobile apps are removed after first usage! In this presentation - given at the APM Meetup in Singapore in April 2015 - I talked about the challenges, best practices and especially metrics to avoid this situation. Key Points of the Presentation The two key trends "Internet of Things" and "DevOps" play a big role in our life when we talk about User Experience and especially mobile user experience. In this presentation I tell you what metrics to use to make sure you deliver your ideas faster to your mobile end users but also ensuring the right quality and user experience so that your users stay loyal and dont delete the mobile app after first usage.

devopsmobileuser experience
Use Specmatic as part of Test execution
@BagmarAnand
Step #3:
• Test calls Service 2
Step #4:
• Service 2 calls the
stubbed external service
Step #2:
• Test sets expectations on Specmatic for
specific stubbed endpoint
• Http POST call on Specmatic server with
exact request & response as json payload
Step #5:
• If request matches set expectation, corresponding set
response is returned in response
• Service 2 processes response and responds to test
appropriately
Step #6:
• Test asserts on the
received response
• Test passes
Step #1. Specmatic as a Stub Server
• Specmatic Server is started in the Stub mode in
the Environment
• External services are stubbed out
• Internal services point to Specmatic stubbed-
endpoints instead of real external endpoints
Allows to simulate positive,
negative, edge-case responses –
allowing you to test your
implementation logic
#3
Visual Assertions instead of
Functional Assertions
@BagmarAnand
Automation
@BagmarAnand
Bugs still escape
@BagmarAnand
Traditional automated testing frameworks are not built for modern apps

Recommended for you

How to kill test flake in appium
How to kill test flake in appiumHow to kill test flake in appium
How to kill test flake in appium

The document discusses strategies for making mobile tests less flaky in 6 steps: 1. Use explicit waits instead of hardcoded waits 2. Use reliable locator strategies like accessibility IDs instead of XPath 3. Make tests faster by launching specific app screens or using deep links instead of full user flows 4. Mock API calls to avoid failures from changing backend services 5. Debug test failures by examining logs and error messages 6. Follow best practices like storing results and getting involved in app development to ensure testability

appiumautomationtest automation
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

This presentation shares expertise and insight on Automated Low Level Requirements Testing for DO-178C: • DO-178C SW Verification Process • Software Testing Activities • Software Testing Stages • Test Coverage Analysis • Software Testing Activities • Structural Coverage Analysis • Requirements Based Test Selection • Manual Test Generation • So…How to Automate? • Generation from Requirements • Generation from Code • AutoTest & Trace for DO-178C • AutoTest Generation • AutoTest Process • AutoTest DO-178C Use Cases For more information, please refer to: https://www.qa-systems.com/

"automated + requirements testing + do 178c""do-178c""qa systems"
Unlocking the Power of ChatGPT and AI in Testing - NextSteps, presented by Ap...
Unlocking the Power of ChatGPT and AI in Testing - NextSteps, presented by Ap...Unlocking the Power of ChatGPT and AI in Testing - NextSteps, presented by Ap...
Unlocking the Power of ChatGPT and AI in Testing - NextSteps, presented by Ap...

The document discusses AI tools for software testing such as ChatGPT, Github Copilot, and Applitools Visual AI. It provides an overview of each tool and how they can help with testing tasks like test automation, debugging, and handling dynamic content. The document also covers potential challenges with AI like data privacy issues and tools having superficial knowledge. It emphasizes that AI should be used as an assistance to humans rather than replacing them and that finding the right balance and application of tools is important.

chatgptai automationai testing
Bugs still Escape
@BagmarAnand
Bugs still Escape
@BagmarAnand
Bugs still Escape
@BagmarAnand
Bugs still Escape
@BagmarAnand

Recommended for you

Automated Acceptance Testing Example
Automated Acceptance Testing ExampleAutomated Acceptance Testing Example
Automated Acceptance Testing Example

Heard about Automated Acceptance Testing but not sure what to make of it. Check out this brief intro and demo of an automated acceptance test using Selenium Webdriver, Jasmine and Protractor.

lift web frameworkautomated acceptance testingjasmine
Accelerating Your Test Execution Pipeline
Accelerating Your Test Execution PipelineAccelerating Your Test Execution Pipeline
Accelerating Your Test Execution Pipeline

Learn how to accelerate your test execution pipeline with test frameworks, automation and parallel testing from our very own Bria Grangard, Product Marketing Manager.

testingsoftware testingtest automation.
the grinder testing certification
the grinder testing certificationthe grinder testing certification
the grinder testing certification

Vskills certification for The Grinder Testing Professional assesses the candidate as per the company’s need for load testing web applications. The certification tests the candidates on various areas in agents, workers, properties file, logging, console, TCPProxy, scripts, Jython, Clojure, instrumentation, script gallery, plug-ins, statistics, SSL and garbage collection.

the grinder testing certificationthe grinder testing certificatethe grinder testing certification in india
@BagmarAnand
Bugs escape because our
approach to testing is incorrect
@BagmarAnand
@BagmarAnand
Mundane
Error prone
Tedious
Running against Time
Approach to Testing is Incorrect
40
@BagmarAnand
Spot the Difference!

Recommended for you

DevOps: Find Solutions, Not More Defects
DevOps: Find Solutions, Not More DefectsDevOps: Find Solutions, Not More Defects
DevOps: Find Solutions, Not More Defects

The promise of DevOps is that we can push new ideas out to market faster while avoiding delivering serious defects into production. Andreas Grabner explains that testers are no longer measured by the number of defect reports they enter, nor are developers measured by the lines of code they write. As a team, you are measured by how fast you can deploy high quality functionality to the end user. Achieving this goal requires testers to increase their skills. It’s all about finding solutions—not just problems. Testers must transition from reporting “app crashes” to providing details such as “memory leak caused by bad cache implementation.” Instead of reporting “it’s slow,” testers must discover “wrong hibernate configuration causes too much traffic from the database.” Using three real-life examples, Andreas illustrates what it takes for testing teams to become part of the DevOps transformation—bringing more value to the entire organization.

devops
Getting Started with Visual Testing
Getting Started with Visual TestingGetting Started with Visual Testing
Getting Started with Visual Testing

Everyone wants to make quick releases, but the look-and-feel UX validation is a manual, slow, and error-prone activity. Any UX-related issues propping up cause huge brand-value and revenue loss, may lead to social-trolling, and, even worse, dilute your user base. This is an area where AI & ML can help. In this hands-on workshop, using examples, we will explore: the importance of automated visual validation how an AI-powered tool, Applitools Visual AI, can solve this problem. Integrate Applitools Visual AI in your Selenium-Java automation and learn by practice: The different AI algorithms various Applitools capabilities and features scale your automation using the Applitools Ultrafast Grid.

anand bagmarvisual testingapplitools ai
Building Efficient Software with Property Based Testing
Building Efficient Software with Property Based TestingBuilding Efficient Software with Property Based Testing
Building Efficient Software with Property Based Testing

This document explains Property Based Testing – a method beyond unit testing to help detect defects in codes during the development phase.

property based testingit healthcare
41
@BagmarAnand
Spot the Difference!
But, we are testing real
software products
@BagmarAnand
43
@BagmarAnand
Text, Images, Responsive-pages,
Form-factors, User-experience
Product has Context!
44
@BagmarAnand
Spot the Difference!

Recommended for you

Inside Kafka Streams—Monitoring Comcast’s Outside Plant
Inside Kafka Streams—Monitoring Comcast’s Outside Plant Inside Kafka Streams—Monitoring Comcast’s Outside Plant
Inside Kafka Streams—Monitoring Comcast’s Outside Plant

(Mike Graham + Dan Carroll, Comcast) Kafka Summit SF 2018 Comcast manages over 2 million miles of fiber and coax, and over 40 million in home devices. This “outside plant” is subject to adverse conditions from severe weather to power grid outages to construction-related disruptions. Maintaining the health of this large and important infrastructure requires a distributed, scalable, reliable and fast information system capable of real-time processing and rapid analysis and response. Using Apache Kafka and the Kafka Streams Processor API, Comcast built an innovative new system for monitoring, problem analysis, metrics reporting and action response for the outside plant. In this talk, you’ll learn how topic partitions, state stores, key mapping, source and sink topics and processors from the Kafka Streams Processor API work together to build a powerful dynamic system. We will dive into the details about the inner workings of the state store—how it is backed by a Kafka “changelog” topic, how it is scaled horizontally by partition and how the instances are rebuilt on startup or on processor failure. We will discuss how these state stores essentially become like materialized views in a SQL database but are updated incrementally as data flows through the system, and how this allows the developers to maintain the data in the optimal structures for performing the processing. The best part is that the data is readily available when needed by the processors. You will see how a REST API using Kafka Streams “interactive queries” can be used to retrieve the data in the state stores. We will explore the deployment and monitoring mechanisms used to deliver this system as a set of independently deployed components.

apachekafkasummit
Five Ways to Automate API Testing with Postman
Five Ways to Automate API Testing with PostmanFive Ways to Automate API Testing with Postman
Five Ways to Automate API Testing with Postman

You know it’s the right thing to automate testing, workflows, and tedious processes. Automation saves you time, reduces errors, and allows your team to work more quickly. But where do you get started? This talk covers five ways to automate API testing, which can then be applied to any API workflows. Learn about testing as part of your CI/CD pipeline, uptime monitoring, and other APIOps practices.

postmanautomationapi testing
AwareIM Custom plug ins
AwareIM Custom plug insAwareIM Custom plug ins
AwareIM Custom plug ins

The document discusses various options for creating plug-ins or extensions for the Aware IM software system. It describes five main options: 1. Database extensions to improve efficiency of CRUD operations by calling stored procedures. 2. Combining Aware IM with Java and a database, calling stored procedures from Java and implementing additional processing rules. 3. Implementing custom business logic in Java by passing data between Aware IM and a Java plugin. 4. Consuming REST APIs from within Aware IM by calling a Java plugin that builds requests, processes responses, and returns objects to Aware IM. 5. Enhancing Aware IM features using JavaScript APIs through the Advanced Script configuration.

awareimcustom pluginsawareim plugins
45
@BagmarAnand
Spot the Difference!
@BagmarAnand
The Way Forward!
@BagmarAnand
Computer Vision
that replicates
the human eye and brain
@BagmarAnand
Visual AI

Recommended for you

AppSphere 2016 - Automate performance testing with AppDynamics using continuo...
AppSphere 2016 - Automate performance testing with AppDynamics using continuo...AppSphere 2016 - Automate performance testing with AppDynamics using continuo...
AppSphere 2016 - Automate performance testing with AppDynamics using continuo...

As release velocity increases, teams are finding innovative ways to detect and resolve performance issues earlier in the development cycle. This session will explore how to integrate performance testing into a development lifecycle and why the practice is gaining popularity. Learn how to create a balanced test strategy that matches test type, coverage, environment, and defect target. Scale to deliver high-performing applications. Through continuous integration platforms, performance testing tools, and AppDynamics, see how automated performance testing can reduce time-to-market while increasing overall quality. Key takeaways: o How to get started with performance test automation o How to detect and resolve performance issues earlier in the development lifecycle with AppDynamics o How to maximize the quality and value of your performance test strategy Brad Stoner Senior Sales Engineer, AppDynamics Resources: KonaKart - http://www.konakart.com/ Adminer - https://www.adminer.org/ Jenkins - https://jenkins.io/ NeoLoad - http://www.neotys.com/neoload/overview AppDynamics - https://www.appdynamics.com/free-trial/ GitHub - https://github.com/ Docker Hub - https://hub.docker.com/

continuous integrationjenkinsappdynamics
API Testing with Frisby and Mocha
API Testing with Frisby and MochaAPI Testing with Frisby and Mocha
API Testing with Frisby and Mocha

Strong software testing process is a key to project success. This presentation helps to understand better how to improve the process by automating routine API endpoints testing.

node jsapiapi automation
Failure is an Option: Scaling Resilient Feature Delivery
Failure is an Option: Scaling Resilient Feature DeliveryFailure is an Option: Scaling Resilient Feature Delivery
Failure is an Option: Scaling Resilient Feature Delivery

Designing a perfect, failproof software delivery system is impossible. Failures will happen. What's more important is the speed and reliability of your recovery. Shipping with feature flags helps you limit your risk in the first place and recover faster when the unexpected happens. Today, with Optimizely Agent, companies that build their apps using service-oriented architectures can achieve production-scale faster with their feature delivery and experimentation platform.

feature flagsfeature managementcontinuous delivery
@BagmarAnand
Visual AI detects bugs, not browser render
diffs
@BagmarAnand
Pixel comparisons waste time with false
positives
Visual AI should work across all Platforms
PDF, Web, Native Mobile
@BagmarAnand
Perfection Across All Screens, Browsers and
Viewports
Tests run local - Applitools
SDKs available for all major
testing frameworks DOM & CSS sent to
Applitools Ultrafast Grid
Applitools Eyes
Visual AI analysis
Ultrafast Grid renders
DOM snapshots in parallel
Login to Eyes to
view test results
53
.
Firewall

Recommended for you

POST/CON 2019 Workshop: Testing, Automated Testing, and Reporting APIs with P...
POST/CON 2019 Workshop: Testing, Automated Testing, and Reporting APIs with P...POST/CON 2019 Workshop: Testing, Automated Testing, and Reporting APIs with P...
POST/CON 2019 Workshop: Testing, Automated Testing, and Reporting APIs with P...

This document provides an agenda and overview for a workshop on testing, automation, and reporting with Postman. The workshop will cover testing concepts and practical exercises, advanced testing techniques like dynamic variables and Chai assertions, automation with the Collection Runner and Newman, and creating reports. Speakers Trent McCann and Danny Dainton will present on prerequisites, testing modules, breaks, automation, and workshop wrap-up.

Automating the real-user scenarios across multi-apps, and multi-devices
Automating the real-user scenarios across multi-apps, and multi-devicesAutomating the real-user scenarios across multi-apps, and multi-devices
Automating the real-user scenarios across multi-apps, and multi-devices

This document discusses teswiz, an open source framework for automating real-user scenarios across multiple apps, devices, users, and platforms. It can simulate user actions and behavior to test web, mobile web, Android, iOS, Windows, MacOS and Linux applications. Teswiz uses Cucumber, Appium, Selenium and other tools and supports features like multi-device testing, visual testing with Applitools, and generating reports with ReportPortal. The document provides instructions on getting started with teswiz and links to its GitHub page.

androidiosweb
Visual Validation - The missing tip of the automation pyramid @GoT2022
Visual Validation - The missing tip of the automation pyramid @GoT2022Visual Validation - The missing tip of the automation pyramid @GoT2022
Visual Validation - The missing tip of the automation pyramid @GoT2022

The document discusses visual validation testing as a missing piece of the automation testing pyramid. Visual testing is important but challenging as it is typically done manually, which is tedious, error-prone, and difficult to scale. Automating visual testing can help by taking screenshots of expected user interfaces and comparing them to actual screenshots. However, automating also poses challenges around false positives/negatives, maintaining baselines, and accounting for product changes. The document promotes using artificial intelligence in visual test automation to help address these challenges and advocates for including visual testing in an organization's overall quality and automation strategy.

testingsoftware testingtest automation
Example
@BagmarAnand
@BagmarAnand
Application under test
Login
Get list of users
Edit User
Test Scenario
Login 1
Get list of users 2
Internet
Return dynamic
list of users
3
4
Edit User 5
Verify User
Details
6
Return dynamic
list of users
Test Scenario
Example Scenario
Website with rest services in
backend hosted on local machine
Login
Get list of users
Edit User
Test Scenario
Functional
& Visual
Assertions
using
Applitools
Login 1
Get list of users
3
Verify User
Details
7
Edit User
6
4
5
Test Environment
Return dynamic
list of users
Stubbed
using
Specmatic
Static
Random
Dynamic
Expectations
@BagmarAnand
2. Test sets “dynamic
expectation” in context
of the scenario
Example Scenario using Specmatic
I
n
t
e
r
n
e
t
@BagmarAnand
Example Scenario using Specmatic
Website with rest services in
backend hosted on local machine
Login
Get list of users
Edit User
Test Scenario
Functional
& Visual
Assertions
using
Applitools
Login 1
Get list of users
3
Verify User
Details
7
Edit User
6
4
5
Test Environment
Return dynamic
list of users
Stubbed
using
Specmatic
Static
Random
Dynamic
Expectations
2. Test sets “dynamic
expectation” in context
of the scenario
I
n
t
e
r
n
e
t
Return dynamic
list of users
Test Scenario

Recommended for you

Design Patterns in Automation
Design Patterns in AutomationDesign Patterns in Automation
Design Patterns in Automation

In this talk, we will talk about, and see examples of various types of patterns you can use for: - Build your Test Automation Framework - Test Data Management - Locators / IDs (for finding / interacting with elements in the browser / app) Using these patterns you will be able to build a good framework, that will help keep your tests running fast, and reliably in your CI / CD setup!

patterndesign patterntest data pattern
The Best Test Automation Framework is...
The Best Test Automation Framework is...The Best Test Automation Framework is...
The Best Test Automation Framework is...

I had the privilege of delivering the opening keynote at the recent Future Of Testing event focused on Test Automation Frameworks on 30th September 2021. My topic was “The best test automation framework is …”. Here is the mind map I used in my keynote presentation. https://applitools.com/future-of-testing-frameworks-north-america-2021/

testingsoftware testingtest automation
Visual validation - The missing tip of the automation pyramid @ QA Symposium
Visual validation - The missing tip of the automation pyramid @ QA SymposiumVisual validation - The missing tip of the automation pyramid @ QA Symposium
Visual validation - The missing tip of the automation pyramid @ QA Symposium

Slides from my talk on "Visual Validation - The missing tip of the automation pyramid", given at QA Symposium, Feb 2020

aitestingautomation
Demo
@BagmarAnand
Summary
@BagmarAnand
• Reduce number of UI tests – Test Pyramid
• Use Visual Assertions instead of Functional Assertions
• Remove external dependencies via Intelligent Virtualization
Make your Automation Intelligent!
@BagmarAnand
• Move granular tests to lower layers of pyramid
• Get faster feedback
• Reduce flakiness / brittleness due to UI changes
Reduce UI tests
@BagmarAnand

Recommended for you

Collaboration - A Taboo!
Collaboration - A Taboo!Collaboration - A Taboo!
Collaboration - A Taboo!

When one has fun at work, work becomes fun. However, daily pressures, metrics, KPIs, and what not, have dissolved the fun, and made work drudgery in various ways. This creates stress for individuals, in teams, and across teams, there is mistrust, unnecessary competition, blame, finger-pointing ….What better way to learn, and re-learn the basics of life, work, team-work - than to play a game, have fun, and correlate it with how life and work indeed should be treated as a game, and we should have fun in this journey. Only then can people truly succeed, and so can organisations.Here, we will play a game – “Collaboration - A Taboo!” – where you will –Re-learn collaboration techniques via a game!Learning applicable for individuals & teams, in small or big organisationsRe-live your childhood when playing this gameBe prepared for a twist which will leave you thinking!

agileagileindia2019collaboration
The What, Why and How of Analytics Testing
The What, Why and How of Analytics TestingThe What, Why and How of Analytics Testing
The What, Why and How of Analytics Testing

Here are slides from my talk on "What, Why and How of Analytics Testing" at Selenium Conference, Berlin 2017. This talk focusses on Analytics related to Browser & Mobile Native apps, with impact on / of IoT (Internet of Things) and Big Data. See my blog for more details - https://essenceoftesting.blogspot.com/2017/10/analytics-forgotten-child.html

analyticswaatmobile
Client-Side Performance Testing
Client-Side Performance TestingClient-Side Performance Testing
Client-Side Performance Testing

Slides from my 4-hour workshop on Client-Side Performance Testing conducted at Phoenix, AZ in STPCon 2017 (March). Workshop Takeaways: Understand difference between is Performance Testing and Performance Engineering. Hand’s on experience of some open-source tools to monitor, measure and automate Client-side Performance Testing. Examples / code walk-through of some ways to automate Client-side Performance Testing. See blog for more details - https://essenceoftesting.blogspot.com/2017/03/workshop-client-side-performance.html

testingperformance_testingwebpagetest
• A single assertion for complete
functional coverage
• Bonus: validates the UI
• Does not break when the UI changes
• No coding skills required to maintain
baselines
• Validate UX at scale for all supported
browsers
Use Visual Assertions
@BagmarAnand
Run once, validate everywhere
@BagmarAnand
Ultrafast Grid
@BagmarAnand
Corporate Firewall
Ultrafast Grid
new page resources
checkpoint images
visual assertions
Application under test
Test / Build machine
Lab VM / containers
• Covers all environments at the speed of running a single local test
• Much more robust and stable
• Full functional and visual coverage
• No security vulnerabilities
• Reduce test data preparation and consumption
• Does not load the corporate network
• Costs much less
Run once, validate everywhere
@BagmarAnand

Recommended for you

Sharing (less) Pain of using Protractor & WebDriver
Sharing (less) Pain of using Protractor & WebDriverSharing (less) Pain of using Protractor & WebDriver
Sharing (less) Pain of using Protractor & WebDriver

Slides from my talk in Selenium Conference London 2016 about "Sharing (Less) Pain with Protractor & Selenium WebDriver" See blog for more information - http://essenceoftesting.blogspot.com/2016/11/shared-relatively-less-pain-of-using.html My blog: https://essenceoftesting.blogspot.com

software testingautomationmaps
Sharing the pain using Protractor
Sharing the pain using ProtractorSharing the pain using Protractor
Sharing the pain using Protractor

Slides from my talk in Selenium Conference 2016 about "Sharing the pain with Protractor & Selenium WebDriver" See blog for more information - http://essenceoftesting.blogspot.com/2016/06/sharing-pain-using-protractor.html My blog: http://essenceoftesting.blogspot.com

patterntestingtest automation
Test Automation - Principles and Practices
Test Automation - Principles and PracticesTest Automation - Principles and Practices
Test Automation - Principles and Practices

This document discusses principles and practices for test automation. It covers topics like different levels of testing from unit to integration to UI, the importance of testing non-functional requirements, using a test pyramid approach with more unit and component tests than UI tests. It also discusses practices like continuous integration, test automation framework design considerations, sample framework architectures, and page object patterns. The overall goal is to provide guidance on building quality into software through effective test automation practices.

automationpracticespune
• Test environment independent of external dependencies
• Tests set dynamic expectations based on context of the
test execution
• Stubbed service should be able to give static responses /
random responses
Virtualize Dependencies at Runtime
@BagmarAnand
• Visual AI using Applitools
• Getting Started with Visual Testing - https://testautomationu.applitools.com/automated-
visual-testing-a-fast-path-to-test-automation-success/
• Modern Functional Test Automation Through Visual AI -
https://testautomationu.applitools.com/modern-functional-testing/
• Intelligent Virtualization using Specmatic
• https://specmatic.in/
• https://github.com/znsio/specmatic
• Test Automation University - https://testautomationu.applitools.com/
• Test Pyramid - https://martinfowler.com/articles/practical-test-pyramid.html
Resources
@BagmarAnand
@BagmarAnand
Thank you

More Related Content

What's hot

Perils of Page-Object Pattern
Perils of Page-Object PatternPerils of Page-Object Pattern
Perils of Page-Object Pattern
Anand Bagmar
 
Appium vs Appium with Perfecto
Appium vs Appium with PerfectoAppium vs Appium with Perfecto
Appium vs Appium with Perfecto
Lizzy Guido (she/her)
 
Patterns in Test Automation
Patterns in Test AutomationPatterns in Test Automation
Patterns in Test Automation
Anand Bagmar
 
Measuring Consumer Quality - The Missing Feedback Loop
Measuring Consumer Quality - The Missing Feedback LoopMeasuring Consumer Quality - The Missing Feedback Loop
Measuring Consumer Quality - The Missing Feedback Loop
Anand Bagmar
 
Patterns of a “good” test automation framework
Patterns of a “good” test automation frameworkPatterns of a “good” test automation framework
Patterns of a “good” test automation framework
Anand Bagmar
 
To Deploy or Not-To-Deploy - decide using TTA's Trend & Failure Analysis
To Deploy or Not-To-Deploy - decide using TTA's Trend & Failure AnalysisTo Deploy or Not-To-Deploy - decide using TTA's Trend & Failure Analysis
To Deploy or Not-To-Deploy - decide using TTA's Trend & Failure Analysis
Anand Bagmar
 
Test Data - Food for your Test Automation Framework
Test Data - Food for your Test Automation FrameworkTest Data - Food for your Test Automation Framework
Test Data - Food for your Test Automation Framework
Anand Bagmar
 
Visual Validation - The Missing Tip of the Automation Pyramid
Visual Validation - The Missing Tip of the Automation PyramidVisual Validation - The Missing Tip of the Automation Pyramid
Visual Validation - The Missing Tip of the Automation Pyramid
Anand Bagmar
 
Role of Automation in Testing
Role of Automation in TestingRole of Automation in Testing
Role of Automation in Testing
Anand Bagmar
 
Enabling CD in Enterprises with Testing
Enabling CD in Enterprises with TestingEnabling CD in Enterprises with Testing
Enabling CD in Enterprises with Testing
Anand Bagmar
 
An easy way to automate complex UI
An easy way to automate complex UIAn easy way to automate complex UI
An easy way to automate complex UI
Ivan Pashko
 
Using The Page Object Pattern
Using The Page Object PatternUsing The Page Object Pattern
Using The Page Object Pattern
Dante Briones
 
Automating Web Analytics
Automating Web AnalyticsAutomating Web Analytics
Automating Web Analytics
Anand Bagmar
 
Visual AI Testing Using Applitools
Visual AI Testing Using ApplitoolsVisual AI Testing Using Applitools
Visual AI Testing Using Applitools
Mikhail Laptev
 
Client-Side Performance Testing
Client-Side Performance TestingClient-Side Performance Testing
Client-Side Performance Testing
Anand Bagmar
 
What is Agile Testing? How does Automation help?
What is Agile Testing? How does Automation help?What is Agile Testing? How does Automation help?
What is Agile Testing? How does Automation help?
Anand Bagmar
 
Enabling CD in Enterprises with Testing
Enabling CD in Enterprises with TestingEnabling CD in Enterprises with Testing
Enabling CD in Enterprises with Testing
Thoughtworks
 
Meticulous Planning of Test Automation
Meticulous Planning of Test AutomationMeticulous Planning of Test Automation
Meticulous Planning of Test Automation
ssuser2e8d4b
 
Design patterns in test automation
Design patterns in test automationDesign patterns in test automation
Design patterns in test automation
Mikalai Alimenkou
 
Brace yourself from automation death trap
Brace yourself from automation death trapBrace yourself from automation death trap
Brace yourself from automation death trap
Prasad Kalgutkar
 

What's hot (20)

Perils of Page-Object Pattern
Perils of Page-Object PatternPerils of Page-Object Pattern
Perils of Page-Object Pattern
 
Appium vs Appium with Perfecto
Appium vs Appium with PerfectoAppium vs Appium with Perfecto
Appium vs Appium with Perfecto
 
Patterns in Test Automation
Patterns in Test AutomationPatterns in Test Automation
Patterns in Test Automation
 
Measuring Consumer Quality - The Missing Feedback Loop
Measuring Consumer Quality - The Missing Feedback LoopMeasuring Consumer Quality - The Missing Feedback Loop
Measuring Consumer Quality - The Missing Feedback Loop
 
Patterns of a “good” test automation framework
Patterns of a “good” test automation frameworkPatterns of a “good” test automation framework
Patterns of a “good” test automation framework
 
To Deploy or Not-To-Deploy - decide using TTA's Trend & Failure Analysis
To Deploy or Not-To-Deploy - decide using TTA's Trend & Failure AnalysisTo Deploy or Not-To-Deploy - decide using TTA's Trend & Failure Analysis
To Deploy or Not-To-Deploy - decide using TTA's Trend & Failure Analysis
 
Test Data - Food for your Test Automation Framework
Test Data - Food for your Test Automation FrameworkTest Data - Food for your Test Automation Framework
Test Data - Food for your Test Automation Framework
 
Visual Validation - The Missing Tip of the Automation Pyramid
Visual Validation - The Missing Tip of the Automation PyramidVisual Validation - The Missing Tip of the Automation Pyramid
Visual Validation - The Missing Tip of the Automation Pyramid
 
Role of Automation in Testing
Role of Automation in TestingRole of Automation in Testing
Role of Automation in Testing
 
Enabling CD in Enterprises with Testing
Enabling CD in Enterprises with TestingEnabling CD in Enterprises with Testing
Enabling CD in Enterprises with Testing
 
An easy way to automate complex UI
An easy way to automate complex UIAn easy way to automate complex UI
An easy way to automate complex UI
 
Using The Page Object Pattern
Using The Page Object PatternUsing The Page Object Pattern
Using The Page Object Pattern
 
Automating Web Analytics
Automating Web AnalyticsAutomating Web Analytics
Automating Web Analytics
 
Visual AI Testing Using Applitools
Visual AI Testing Using ApplitoolsVisual AI Testing Using Applitools
Visual AI Testing Using Applitools
 
Client-Side Performance Testing
Client-Side Performance TestingClient-Side Performance Testing
Client-Side Performance Testing
 
What is Agile Testing? How does Automation help?
What is Agile Testing? How does Automation help?What is Agile Testing? How does Automation help?
What is Agile Testing? How does Automation help?
 
Enabling CD in Enterprises with Testing
Enabling CD in Enterprises with TestingEnabling CD in Enterprises with Testing
Enabling CD in Enterprises with Testing
 
Meticulous Planning of Test Automation
Meticulous Planning of Test AutomationMeticulous Planning of Test Automation
Meticulous Planning of Test Automation
 
Design patterns in test automation
Design patterns in test automationDesign patterns in test automation
Design patterns in test automation
 
Brace yourself from automation death trap
Brace yourself from automation death trapBrace yourself from automation death trap
Brace yourself from automation death trap
 

Similar to Eradicate Flaky Tests - AppiumConf 2021

Eradicate Flaky Tests
Eradicate Flaky TestsEradicate Flaky Tests
Eradicate Flaky Tests
Anand Bagmar
 
Streamlining End-to-End Testing Automation
Streamlining End-to-End Testing AutomationStreamlining End-to-End Testing Automation
Streamlining End-to-End Testing Automation
Anand Bagmar
 
Change Tyres In A Moving Car - Make Functional Test Automation Effective Keynote
Change Tyres In A Moving Car - Make Functional Test Automation Effective KeynoteChange Tyres In A Moving Car - Make Functional Test Automation Effective Keynote
Change Tyres In A Moving Car - Make Functional Test Automation Effective Keynote
Anand Bagmar
 
Mobile User Experience: Auto Drive through Performance Metrics
Mobile User Experience:Auto Drive through Performance MetricsMobile User Experience:Auto Drive through Performance Metrics
Mobile User Experience: Auto Drive through Performance Metrics
Andreas Grabner
 
How to kill test flake in appium
How to kill test flake in appiumHow to kill test flake in appium
How to kill test flake in appium
Gaurav Singh
 
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
QA Systems
 
Unlocking the Power of ChatGPT and AI in Testing - NextSteps, presented by Ap...
Unlocking the Power of ChatGPT and AI in Testing - NextSteps, presented by Ap...Unlocking the Power of ChatGPT and AI in Testing - NextSteps, presented by Ap...
Unlocking the Power of ChatGPT and AI in Testing - NextSteps, presented by Ap...
Applitools
 
Automated Acceptance Testing Example
Automated Acceptance Testing ExampleAutomated Acceptance Testing Example
Automated Acceptance Testing Example
Hani Massoud
 
Accelerating Your Test Execution Pipeline
Accelerating Your Test Execution PipelineAccelerating Your Test Execution Pipeline
Accelerating Your Test Execution Pipeline
SmartBear
 
the grinder testing certification
the grinder testing certificationthe grinder testing certification
the grinder testing certification
Vskills
 
DevOps: Find Solutions, Not More Defects
DevOps: Find Solutions, Not More DefectsDevOps: Find Solutions, Not More Defects
DevOps: Find Solutions, Not More Defects
TechWell
 
Getting Started with Visual Testing
Getting Started with Visual TestingGetting Started with Visual Testing
Getting Started with Visual Testing
Applitools
 
Building Efficient Software with Property Based Testing
Building Efficient Software with Property Based TestingBuilding Efficient Software with Property Based Testing
Building Efficient Software with Property Based Testing
CitiusTech
 
Inside Kafka Streams—Monitoring Comcast’s Outside Plant
Inside Kafka Streams—Monitoring Comcast’s Outside Plant Inside Kafka Streams—Monitoring Comcast’s Outside Plant
Inside Kafka Streams—Monitoring Comcast’s Outside Plant
confluent
 
Five Ways to Automate API Testing with Postman
Five Ways to Automate API Testing with PostmanFive Ways to Automate API Testing with Postman
Five Ways to Automate API Testing with Postman
Postman
 
AwareIM Custom plug ins
AwareIM Custom plug insAwareIM Custom plug ins
AwareIM Custom plug ins
Manoj Pipersania
 
AppSphere 2016 - Automate performance testing with AppDynamics using continuo...
AppSphere 2016 - Automate performance testing with AppDynamics using continuo...AppSphere 2016 - Automate performance testing with AppDynamics using continuo...
AppSphere 2016 - Automate performance testing with AppDynamics using continuo...
Brad Stoner
 
API Testing with Frisby and Mocha
API Testing with Frisby and MochaAPI Testing with Frisby and Mocha
API Testing with Frisby and Mocha
Lyudmila Anisimova
 
Failure is an Option: Scaling Resilient Feature Delivery
Failure is an Option: Scaling Resilient Feature DeliveryFailure is an Option: Scaling Resilient Feature Delivery
Failure is an Option: Scaling Resilient Feature Delivery
Optimizely
 
POST/CON 2019 Workshop: Testing, Automated Testing, and Reporting APIs with P...
POST/CON 2019 Workshop: Testing, Automated Testing, and Reporting APIs with P...POST/CON 2019 Workshop: Testing, Automated Testing, and Reporting APIs with P...
POST/CON 2019 Workshop: Testing, Automated Testing, and Reporting APIs with P...
Postman
 

Similar to Eradicate Flaky Tests - AppiumConf 2021 (20)

Eradicate Flaky Tests
Eradicate Flaky TestsEradicate Flaky Tests
Eradicate Flaky Tests
 
Streamlining End-to-End Testing Automation
Streamlining End-to-End Testing AutomationStreamlining End-to-End Testing Automation
Streamlining End-to-End Testing Automation
 
Change Tyres In A Moving Car - Make Functional Test Automation Effective Keynote
Change Tyres In A Moving Car - Make Functional Test Automation Effective KeynoteChange Tyres In A Moving Car - Make Functional Test Automation Effective Keynote
Change Tyres In A Moving Car - Make Functional Test Automation Effective Keynote
 
Mobile User Experience: Auto Drive through Performance Metrics
Mobile User Experience:Auto Drive through Performance MetricsMobile User Experience:Auto Drive through Performance Metrics
Mobile User Experience: Auto Drive through Performance Metrics
 
How to kill test flake in appium
How to kill test flake in appiumHow to kill test flake in appium
How to kill test flake in appium
 
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
 
Unlocking the Power of ChatGPT and AI in Testing - NextSteps, presented by Ap...
Unlocking the Power of ChatGPT and AI in Testing - NextSteps, presented by Ap...Unlocking the Power of ChatGPT and AI in Testing - NextSteps, presented by Ap...
Unlocking the Power of ChatGPT and AI in Testing - NextSteps, presented by Ap...
 
Automated Acceptance Testing Example
Automated Acceptance Testing ExampleAutomated Acceptance Testing Example
Automated Acceptance Testing Example
 
Accelerating Your Test Execution Pipeline
Accelerating Your Test Execution PipelineAccelerating Your Test Execution Pipeline
Accelerating Your Test Execution Pipeline
 
the grinder testing certification
the grinder testing certificationthe grinder testing certification
the grinder testing certification
 
DevOps: Find Solutions, Not More Defects
DevOps: Find Solutions, Not More DefectsDevOps: Find Solutions, Not More Defects
DevOps: Find Solutions, Not More Defects
 
Getting Started with Visual Testing
Getting Started with Visual TestingGetting Started with Visual Testing
Getting Started with Visual Testing
 
Building Efficient Software with Property Based Testing
Building Efficient Software with Property Based TestingBuilding Efficient Software with Property Based Testing
Building Efficient Software with Property Based Testing
 
Inside Kafka Streams—Monitoring Comcast’s Outside Plant
Inside Kafka Streams—Monitoring Comcast’s Outside Plant Inside Kafka Streams—Monitoring Comcast’s Outside Plant
Inside Kafka Streams—Monitoring Comcast’s Outside Plant
 
Five Ways to Automate API Testing with Postman
Five Ways to Automate API Testing with PostmanFive Ways to Automate API Testing with Postman
Five Ways to Automate API Testing with Postman
 
AwareIM Custom plug ins
AwareIM Custom plug insAwareIM Custom plug ins
AwareIM Custom plug ins
 
AppSphere 2016 - Automate performance testing with AppDynamics using continuo...
AppSphere 2016 - Automate performance testing with AppDynamics using continuo...AppSphere 2016 - Automate performance testing with AppDynamics using continuo...
AppSphere 2016 - Automate performance testing with AppDynamics using continuo...
 
API Testing with Frisby and Mocha
API Testing with Frisby and MochaAPI Testing with Frisby and Mocha
API Testing with Frisby and Mocha
 
Failure is an Option: Scaling Resilient Feature Delivery
Failure is an Option: Scaling Resilient Feature DeliveryFailure is an Option: Scaling Resilient Feature Delivery
Failure is an Option: Scaling Resilient Feature Delivery
 
POST/CON 2019 Workshop: Testing, Automated Testing, and Reporting APIs with P...
POST/CON 2019 Workshop: Testing, Automated Testing, and Reporting APIs with P...POST/CON 2019 Workshop: Testing, Automated Testing, and Reporting APIs with P...
POST/CON 2019 Workshop: Testing, Automated Testing, and Reporting APIs with P...
 

More from Anand Bagmar

Automating the real-user scenarios across multi-apps, and multi-devices
Automating the real-user scenarios across multi-apps, and multi-devicesAutomating the real-user scenarios across multi-apps, and multi-devices
Automating the real-user scenarios across multi-apps, and multi-devices
Anand Bagmar
 
Visual Validation - The missing tip of the automation pyramid @GoT2022
Visual Validation - The missing tip of the automation pyramid @GoT2022Visual Validation - The missing tip of the automation pyramid @GoT2022
Visual Validation - The missing tip of the automation pyramid @GoT2022
Anand Bagmar
 
Design Patterns in Automation
Design Patterns in AutomationDesign Patterns in Automation
Design Patterns in Automation
Anand Bagmar
 
The Best Test Automation Framework is...
The Best Test Automation Framework is...The Best Test Automation Framework is...
The Best Test Automation Framework is...
Anand Bagmar
 
Visual validation - The missing tip of the automation pyramid @ QA Symposium
Visual validation - The missing tip of the automation pyramid @ QA SymposiumVisual validation - The missing tip of the automation pyramid @ QA Symposium
Visual validation - The missing tip of the automation pyramid @ QA Symposium
Anand Bagmar
 
Collaboration - A Taboo!
Collaboration - A Taboo!Collaboration - A Taboo!
Collaboration - A Taboo!
Anand Bagmar
 
The What, Why and How of Analytics Testing
The What, Why and How of Analytics TestingThe What, Why and How of Analytics Testing
The What, Why and How of Analytics Testing
Anand Bagmar
 
Client-Side Performance Testing
Client-Side Performance TestingClient-Side Performance Testing
Client-Side Performance Testing
Anand Bagmar
 
Sharing (less) Pain of using Protractor & WebDriver
Sharing (less) Pain of using Protractor & WebDriverSharing (less) Pain of using Protractor & WebDriver
Sharing (less) Pain of using Protractor & WebDriver
Anand Bagmar
 
Sharing the pain using Protractor
Sharing the pain using ProtractorSharing the pain using Protractor
Sharing the pain using Protractor
Anand Bagmar
 
Test Automation - Principles and Practices
Test Automation - Principles and PracticesTest Automation - Principles and Practices
Test Automation - Principles and Practices
Anand Bagmar
 
The What, Why and How of (Web) Analytics Testing (Web, IoT, Big Data)
The What, Why and How of (Web) Analytics Testing (Web, IoT, Big Data)The What, Why and How of (Web) Analytics Testing (Web, IoT, Big Data)
The What, Why and How of (Web) Analytics Testing (Web, IoT, Big Data)
Anand Bagmar
 
Integration Testing in Enterprises using TaaS
Integration Testing in Enterprises using TaaSIntegration Testing in Enterprises using TaaS
Integration Testing in Enterprises using TaaS
Anand Bagmar
 

More from Anand Bagmar (13)

Automating the real-user scenarios across multi-apps, and multi-devices
Automating the real-user scenarios across multi-apps, and multi-devicesAutomating the real-user scenarios across multi-apps, and multi-devices
Automating the real-user scenarios across multi-apps, and multi-devices
 
Visual Validation - The missing tip of the automation pyramid @GoT2022
Visual Validation - The missing tip of the automation pyramid @GoT2022Visual Validation - The missing tip of the automation pyramid @GoT2022
Visual Validation - The missing tip of the automation pyramid @GoT2022
 
Design Patterns in Automation
Design Patterns in AutomationDesign Patterns in Automation
Design Patterns in Automation
 
The Best Test Automation Framework is...
The Best Test Automation Framework is...The Best Test Automation Framework is...
The Best Test Automation Framework is...
 
Visual validation - The missing tip of the automation pyramid @ QA Symposium
Visual validation - The missing tip of the automation pyramid @ QA SymposiumVisual validation - The missing tip of the automation pyramid @ QA Symposium
Visual validation - The missing tip of the automation pyramid @ QA Symposium
 
Collaboration - A Taboo!
Collaboration - A Taboo!Collaboration - A Taboo!
Collaboration - A Taboo!
 
The What, Why and How of Analytics Testing
The What, Why and How of Analytics TestingThe What, Why and How of Analytics Testing
The What, Why and How of Analytics Testing
 
Client-Side Performance Testing
Client-Side Performance TestingClient-Side Performance Testing
Client-Side Performance Testing
 
Sharing (less) Pain of using Protractor & WebDriver
Sharing (less) Pain of using Protractor & WebDriverSharing (less) Pain of using Protractor & WebDriver
Sharing (less) Pain of using Protractor & WebDriver
 
Sharing the pain using Protractor
Sharing the pain using ProtractorSharing the pain using Protractor
Sharing the pain using Protractor
 
Test Automation - Principles and Practices
Test Automation - Principles and PracticesTest Automation - Principles and Practices
Test Automation - Principles and Practices
 
The What, Why and How of (Web) Analytics Testing (Web, IoT, Big Data)
The What, Why and How of (Web) Analytics Testing (Web, IoT, Big Data)The What, Why and How of (Web) Analytics Testing (Web, IoT, Big Data)
The What, Why and How of (Web) Analytics Testing (Web, IoT, Big Data)
 
Integration Testing in Enterprises using TaaS
Integration Testing in Enterprises using TaaSIntegration Testing in Enterprises using TaaS
Integration Testing in Enterprises using TaaS
 

Recently uploaded

20240705 QFM024 Irresponsible AI Reading List June 2024
20240705 QFM024 Irresponsible AI Reading List June 202420240705 QFM024 Irresponsible AI Reading List June 2024
20240705 QFM024 Irresponsible AI Reading List June 2024
Matthew Sinclair
 
Understanding Insider Security Threats: Types, Examples, Effects, and Mitigat...
Understanding Insider Security Threats: Types, Examples, Effects, and Mitigat...Understanding Insider Security Threats: Types, Examples, Effects, and Mitigat...
Understanding Insider Security Threats: Types, Examples, Effects, and Mitigat...
Bert Blevins
 
Comparison Table of DiskWarrior Alternatives.pdf
Comparison Table of DiskWarrior Alternatives.pdfComparison Table of DiskWarrior Alternatives.pdf
Comparison Table of DiskWarrior Alternatives.pdf
Andrey Yasko
 
Details of description part II: Describing images in practice - Tech Forum 2024
Details of description part II: Describing images in practice - Tech Forum 2024Details of description part II: Describing images in practice - Tech Forum 2024
Details of description part II: Describing images in practice - Tech Forum 2024
BookNet Canada
 
Paradigm Shifts in User Modeling: A Journey from Historical Foundations to Em...
Paradigm Shifts in User Modeling: A Journey from Historical Foundations to Em...Paradigm Shifts in User Modeling: A Journey from Historical Foundations to Em...
Paradigm Shifts in User Modeling: A Journey from Historical Foundations to Em...
Erasmo Purificato
 
WhatsApp Image 2024-03-27 at 08.19.52_bfd93109.pdf
WhatsApp Image 2024-03-27 at 08.19.52_bfd93109.pdfWhatsApp Image 2024-03-27 at 08.19.52_bfd93109.pdf
WhatsApp Image 2024-03-27 at 08.19.52_bfd93109.pdf
ArgaBisma
 
Recent Advancements in the NIST-JARVIS Infrastructure
Recent Advancements in the NIST-JARVIS InfrastructureRecent Advancements in the NIST-JARVIS Infrastructure
Recent Advancements in the NIST-JARVIS Infrastructure
KAMAL CHOUDHARY
 
Scaling Connections in PostgreSQL Postgres Bangalore(PGBLR) Meetup-2 - Mydbops
Scaling Connections in PostgreSQL Postgres Bangalore(PGBLR) Meetup-2 - MydbopsScaling Connections in PostgreSQL Postgres Bangalore(PGBLR) Meetup-2 - Mydbops
Scaling Connections in PostgreSQL Postgres Bangalore(PGBLR) Meetup-2 - Mydbops
Mydbops
 
Observability For You and Me with OpenTelemetry
Observability For You and Me with OpenTelemetryObservability For You and Me with OpenTelemetry
Observability For You and Me with OpenTelemetry
Eric D. Schabell
 
Best Practices for Effectively Running dbt in Airflow.pdf
Best Practices for Effectively Running dbt in Airflow.pdfBest Practices for Effectively Running dbt in Airflow.pdf
Best Practices for Effectively Running dbt in Airflow.pdf
Tatiana Al-Chueyr
 
BT & Neo4j: Knowledge Graphs for Critical Enterprise Systems.pptx.pdf
BT & Neo4j: Knowledge Graphs for Critical Enterprise Systems.pptx.pdfBT & Neo4j: Knowledge Graphs for Critical Enterprise Systems.pptx.pdf
BT & Neo4j: Knowledge Graphs for Critical Enterprise Systems.pptx.pdf
Neo4j
 
RPA In Healthcare Benefits, Use Case, Trend And Challenges 2024.pptx
RPA In Healthcare Benefits, Use Case, Trend And Challenges 2024.pptxRPA In Healthcare Benefits, Use Case, Trend And Challenges 2024.pptx
RPA In Healthcare Benefits, Use Case, Trend And Challenges 2024.pptx
SynapseIndia
 
20240702 Présentation Plateforme GenAI.pdf
20240702 Présentation Plateforme GenAI.pdf20240702 Présentation Plateforme GenAI.pdf
20240702 Présentation Plateforme GenAI.pdf
Sally Laouacheria
 
Pigging Solutions Sustainability brochure.pdf
Pigging Solutions Sustainability brochure.pdfPigging Solutions Sustainability brochure.pdf
Pigging Solutions Sustainability brochure.pdf
Pigging Solutions
 
UiPath Community Day Kraków: Devs4Devs Conference
UiPath Community Day Kraków: Devs4Devs ConferenceUiPath Community Day Kraków: Devs4Devs Conference
UiPath Community Day Kraków: Devs4Devs Conference
UiPathCommunity
 
What’s New in Teams Calling, Meetings and Devices May 2024
What’s New in Teams Calling, Meetings and Devices May 2024What’s New in Teams Calling, Meetings and Devices May 2024
What’s New in Teams Calling, Meetings and Devices May 2024
Stephanie Beckett
 
Advanced Techniques for Cyber Security Analysis and Anomaly Detection
Advanced Techniques for Cyber Security Analysis and Anomaly DetectionAdvanced Techniques for Cyber Security Analysis and Anomaly Detection
Advanced Techniques for Cyber Security Analysis and Anomaly Detection
Bert Blevins
 
BLOCKCHAIN FOR DUMMIES: GUIDEBOOK FOR ALL
BLOCKCHAIN FOR DUMMIES: GUIDEBOOK FOR ALLBLOCKCHAIN FOR DUMMIES: GUIDEBOOK FOR ALL
BLOCKCHAIN FOR DUMMIES: GUIDEBOOK FOR ALL
Liveplex
 
[Talk] Moving Beyond Spaghetti Infrastructure [AOTB] 2024-07-04.pdf
[Talk] Moving Beyond Spaghetti Infrastructure [AOTB] 2024-07-04.pdf[Talk] Moving Beyond Spaghetti Infrastructure [AOTB] 2024-07-04.pdf
[Talk] Moving Beyond Spaghetti Infrastructure [AOTB] 2024-07-04.pdf
Kief Morris
 
Coordinate Systems in FME 101 - Webinar Slides
Coordinate Systems in FME 101 - Webinar SlidesCoordinate Systems in FME 101 - Webinar Slides
Coordinate Systems in FME 101 - Webinar Slides
Safe Software
 

Recently uploaded (20)

20240705 QFM024 Irresponsible AI Reading List June 2024
20240705 QFM024 Irresponsible AI Reading List June 202420240705 QFM024 Irresponsible AI Reading List June 2024
20240705 QFM024 Irresponsible AI Reading List June 2024
 
Understanding Insider Security Threats: Types, Examples, Effects, and Mitigat...
Understanding Insider Security Threats: Types, Examples, Effects, and Mitigat...Understanding Insider Security Threats: Types, Examples, Effects, and Mitigat...
Understanding Insider Security Threats: Types, Examples, Effects, and Mitigat...
 
Comparison Table of DiskWarrior Alternatives.pdf
Comparison Table of DiskWarrior Alternatives.pdfComparison Table of DiskWarrior Alternatives.pdf
Comparison Table of DiskWarrior Alternatives.pdf
 
Details of description part II: Describing images in practice - Tech Forum 2024
Details of description part II: Describing images in practice - Tech Forum 2024Details of description part II: Describing images in practice - Tech Forum 2024
Details of description part II: Describing images in practice - Tech Forum 2024
 
Paradigm Shifts in User Modeling: A Journey from Historical Foundations to Em...
Paradigm Shifts in User Modeling: A Journey from Historical Foundations to Em...Paradigm Shifts in User Modeling: A Journey from Historical Foundations to Em...
Paradigm Shifts in User Modeling: A Journey from Historical Foundations to Em...
 
WhatsApp Image 2024-03-27 at 08.19.52_bfd93109.pdf
WhatsApp Image 2024-03-27 at 08.19.52_bfd93109.pdfWhatsApp Image 2024-03-27 at 08.19.52_bfd93109.pdf
WhatsApp Image 2024-03-27 at 08.19.52_bfd93109.pdf
 
Recent Advancements in the NIST-JARVIS Infrastructure
Recent Advancements in the NIST-JARVIS InfrastructureRecent Advancements in the NIST-JARVIS Infrastructure
Recent Advancements in the NIST-JARVIS Infrastructure
 
Scaling Connections in PostgreSQL Postgres Bangalore(PGBLR) Meetup-2 - Mydbops
Scaling Connections in PostgreSQL Postgres Bangalore(PGBLR) Meetup-2 - MydbopsScaling Connections in PostgreSQL Postgres Bangalore(PGBLR) Meetup-2 - Mydbops
Scaling Connections in PostgreSQL Postgres Bangalore(PGBLR) Meetup-2 - Mydbops
 
Observability For You and Me with OpenTelemetry
Observability For You and Me with OpenTelemetryObservability For You and Me with OpenTelemetry
Observability For You and Me with OpenTelemetry
 
Best Practices for Effectively Running dbt in Airflow.pdf
Best Practices for Effectively Running dbt in Airflow.pdfBest Practices for Effectively Running dbt in Airflow.pdf
Best Practices for Effectively Running dbt in Airflow.pdf
 
BT & Neo4j: Knowledge Graphs for Critical Enterprise Systems.pptx.pdf
BT & Neo4j: Knowledge Graphs for Critical Enterprise Systems.pptx.pdfBT & Neo4j: Knowledge Graphs for Critical Enterprise Systems.pptx.pdf
BT & Neo4j: Knowledge Graphs for Critical Enterprise Systems.pptx.pdf
 
RPA In Healthcare Benefits, Use Case, Trend And Challenges 2024.pptx
RPA In Healthcare Benefits, Use Case, Trend And Challenges 2024.pptxRPA In Healthcare Benefits, Use Case, Trend And Challenges 2024.pptx
RPA In Healthcare Benefits, Use Case, Trend And Challenges 2024.pptx
 
20240702 Présentation Plateforme GenAI.pdf
20240702 Présentation Plateforme GenAI.pdf20240702 Présentation Plateforme GenAI.pdf
20240702 Présentation Plateforme GenAI.pdf
 
Pigging Solutions Sustainability brochure.pdf
Pigging Solutions Sustainability brochure.pdfPigging Solutions Sustainability brochure.pdf
Pigging Solutions Sustainability brochure.pdf
 
UiPath Community Day Kraków: Devs4Devs Conference
UiPath Community Day Kraków: Devs4Devs ConferenceUiPath Community Day Kraków: Devs4Devs Conference
UiPath Community Day Kraków: Devs4Devs Conference
 
What’s New in Teams Calling, Meetings and Devices May 2024
What’s New in Teams Calling, Meetings and Devices May 2024What’s New in Teams Calling, Meetings and Devices May 2024
What’s New in Teams Calling, Meetings and Devices May 2024
 
Advanced Techniques for Cyber Security Analysis and Anomaly Detection
Advanced Techniques for Cyber Security Analysis and Anomaly DetectionAdvanced Techniques for Cyber Security Analysis and Anomaly Detection
Advanced Techniques for Cyber Security Analysis and Anomaly Detection
 
BLOCKCHAIN FOR DUMMIES: GUIDEBOOK FOR ALL
BLOCKCHAIN FOR DUMMIES: GUIDEBOOK FOR ALLBLOCKCHAIN FOR DUMMIES: GUIDEBOOK FOR ALL
BLOCKCHAIN FOR DUMMIES: GUIDEBOOK FOR ALL
 
[Talk] Moving Beyond Spaghetti Infrastructure [AOTB] 2024-07-04.pdf
[Talk] Moving Beyond Spaghetti Infrastructure [AOTB] 2024-07-04.pdf[Talk] Moving Beyond Spaghetti Infrastructure [AOTB] 2024-07-04.pdf
[Talk] Moving Beyond Spaghetti Infrastructure [AOTB] 2024-07-04.pdf
 
Coordinate Systems in FME 101 - Webinar Slides
Coordinate Systems in FME 101 - Webinar SlidesCoordinate Systems in FME 101 - Webinar Slides
Coordinate Systems in FME 101 - Webinar Slides
 

Eradicate Flaky Tests - AppiumConf 2021

  • 1. Eradicate Flaky Tests @BagmarAnand Anand Bagmar Software Quality Evangelist Essence Of Testing
  • 4. @BagmarAnand Internet Internal B2C App Product DB DBMS B2B App Caching System Elastic Search Authentication Gateway Service 3 Service 4 Service 7 Service 5 Service 6 Admin User DB Outgoing Notification Onboarding Event Consumer Order DB Reporting System Admin Portal Support Msg Q Direct API Service 2 Notification Service 1 Event Processor Service 8 Payment Gateway Credit System Master Product Warehouse Royalty system Offers …. …. ….
  • 5. Approach for API Workflow & E2E Test Execution @BagmarAnand
  • 6. API workflow Tests E2E Functional UI Tests @BagmarAnand Internet Internal B2C App Product DB DBMS B2B App Caching System Elastic Search Authentication Gateway Service 3 Service 4 Service 7 Service 5 Service 6 Admin User DB Outgoing Notification Onboarding Event Consumer Order DB Reporting System Admin Portal Support Msg Q Direct API Service 2 Notification Service 1 Event Processor Service 8 Payment Gateway Credit System Master Product Warehouse Royalty system Offers …. …. ….
  • 7. • Long running scenarios • Slow feedback Challenges of E2E Test Automation @BagmarAnand
  • 8. • Limitations of automatable scenarios • Error case / Edge case handling from dependent systems • Triggers from external systems Challenges of E2E Test Automation @BagmarAnand
  • 9. • Pain of Cross Browser execution • Slow, special handling for browsers, infrastructure cost / maintenance Challenges of E2E Test Automation @BagmarAnand
  • 10. • Flaky Tests Challenges of E2E Test Automation @BagmarAnand
  • 11. Why are Tests Flaky? @BagmarAnand
  • 12. • Brittle / Flaky tests • UI changes • Downstream dependencies • Data dependencies • Network (speed) fluctuations Challenges of E2E Test Automation @BagmarAnand
  • 13. Solutions / Way forward @BagmarAnand
  • 14. • Reduce number of UI tests • Remove external dependencies via Intelligent Virtualization • Use Visual Assertions instead of Functional Assertions How to Reduce Flakiness in Tests? @BagmarAnand
  • 15. #1 Reduce the number of UI Tests @BagmarAnand
  • 17. #2 Intelligent Virtualization to Eradicate Dependencies @BagmarAnand
  • 19. @BagmarAnand Internet Internal B2C App Product DB DBMS B2B App Caching System Elastic Search Authentication Gateway Service 3 Service 4 Service 7 Service 5 Service 6 Admin User DB Outgoing Notification Onboarding Event Consumer Order DB Reporting System Admin Portal Support Msg Q Direct API Service 2 Notification Service 1 Event Processor Service 8 Payment Gateway Credit System Master Product Warehouse Royalty system Offers …. …. ….
  • 20. Approach for API Workflow & E2E Test Automation @BagmarAnand
  • 21. API workflow Tests E2E Functional UI Tests @BagmarAnand Internet Internal B2C App Product DB DBMS B2B App Caching System Elastic Search Authentication Gateway Service 3 Service 4 Service 7 Service 5 Service 6 Admin User DB Outgoing Notification Onboarding Event Consumer Order DB Reporting System Admin Portal Support Msg Q Direct API Service 2 Notification Service 1 Event Processor Service 8 Payment Gateway Credit System Master Product Warehouse Royalty system Offers …. …. ….
  • 23. @BagmarAnand Step #1: • Test calls Service 2 Step #2: • Service 2 calls the external service, which may (unexpectedly) take long time to respond Step #3: • Service 2 gets an error back from external service • Returns an error to the test Step #4: • Test fails because of external service • We may get incorrect error as well! Test Scenario
  • 27. • Inculcates Contract Driven Development • Supports OpenAPI Spec • Executable Contract spec • Defines http method, path, header format, payload format, query parameter format, form field payload format • Supports JSON, XML data formats • Supports Kafka • Dynamically generates and executes contract tests • Apt for service virtualization • Compares contracts to ascertain backward compatibility • Manages contracts through versioning • Integrates with CI/CD Specmatic – Contract Driven Development @BagmarAnand • Decouples the ”producers” and “consumers”, with confidence!
  • 28. Use Specmatic as part of Test execution @BagmarAnand Step #3: • Test calls Service 2 Step #4: • Service 2 calls the stubbed external service Step #2: • Test sets expectations on Specmatic for specific stubbed endpoint • Http POST call on Specmatic server with exact request & response as json payload Step #5: • If request matches set expectation, corresponding set response is returned in response • Service 2 processes response and responds to test appropriately Step #6: • Test asserts on the received response • Test passes Step #1. Specmatic as a Stub Server in your Test Environment • Specmatic Server is started in the Stub mode in the Environment • External services are stubbed out • Internal services point to Specmatic stubbed- endpoints instead of real external endpoints
  • 29. Use Specmatic as part of Test execution @BagmarAnand Step #3: • Test calls Service 2 Step #4: • Service 2 calls the stubbed external service Step #2: • Test sets expectations on Specmatic for specific stubbed endpoint • Http POST call on Specmatic server with exact request & response as json payload Step #5: • If request matches set expectation, corresponding set response is returned in response • Service 2 processes response and responds to test appropriately Step #6: • Test asserts on the received response • Test passes Step #1. Specmatic as a Stub Server • Specmatic Server is started in the Stub mode in the Environment • External services are stubbed out • Internal services point to Specmatic stubbed- endpoints instead of real external endpoints Allows to simulate positive, negative, edge-case responses – allowing you to test your implementation logic
  • 30. #3 Visual Assertions instead of Functional Assertions @BagmarAnand
  • 32. Bugs still escape @BagmarAnand Traditional automated testing frameworks are not built for modern apps
  • 38. Bugs escape because our approach to testing is incorrect @BagmarAnand
  • 39. @BagmarAnand Mundane Error prone Tedious Running against Time Approach to Testing is Incorrect
  • 42. But, we are testing real software products @BagmarAnand
  • 49. @BagmarAnand Visual AI detects bugs, not browser render diffs
  • 50. @BagmarAnand Pixel comparisons waste time with false positives
  • 51. Visual AI should work across all Platforms PDF, Web, Native Mobile @BagmarAnand
  • 52. Perfection Across All Screens, Browsers and Viewports Tests run local - Applitools SDKs available for all major testing frameworks DOM & CSS sent to Applitools Ultrafast Grid Applitools Eyes Visual AI analysis Ultrafast Grid renders DOM snapshots in parallel Login to Eyes to view test results 53 . Firewall
  • 54. @BagmarAnand Application under test Login Get list of users Edit User Test Scenario Login 1 Get list of users 2 Internet Return dynamic list of users 3 4 Edit User 5 Verify User Details 6 Return dynamic list of users Test Scenario Example Scenario
  • 55. Website with rest services in backend hosted on local machine Login Get list of users Edit User Test Scenario Functional & Visual Assertions using Applitools Login 1 Get list of users 3 Verify User Details 7 Edit User 6 4 5 Test Environment Return dynamic list of users Stubbed using Specmatic Static Random Dynamic Expectations @BagmarAnand 2. Test sets “dynamic expectation” in context of the scenario Example Scenario using Specmatic I n t e r n e t
  • 56. @BagmarAnand Example Scenario using Specmatic Website with rest services in backend hosted on local machine Login Get list of users Edit User Test Scenario Functional & Visual Assertions using Applitools Login 1 Get list of users 3 Verify User Details 7 Edit User 6 4 5 Test Environment Return dynamic list of users Stubbed using Specmatic Static Random Dynamic Expectations 2. Test sets “dynamic expectation” in context of the scenario I n t e r n e t Return dynamic list of users Test Scenario
  • 59. • Reduce number of UI tests – Test Pyramid • Use Visual Assertions instead of Functional Assertions • Remove external dependencies via Intelligent Virtualization Make your Automation Intelligent! @BagmarAnand
  • 60. • Move granular tests to lower layers of pyramid • Get faster feedback • Reduce flakiness / brittleness due to UI changes Reduce UI tests @BagmarAnand
  • 61. • A single assertion for complete functional coverage • Bonus: validates the UI • Does not break when the UI changes • No coding skills required to maintain baselines • Validate UX at scale for all supported browsers Use Visual Assertions @BagmarAnand
  • 62. Run once, validate everywhere @BagmarAnand
  • 63. Ultrafast Grid @BagmarAnand Corporate Firewall Ultrafast Grid new page resources checkpoint images visual assertions Application under test Test / Build machine Lab VM / containers
  • 64. • Covers all environments at the speed of running a single local test • Much more robust and stable • Full functional and visual coverage • No security vulnerabilities • Reduce test data preparation and consumption • Does not load the corporate network • Costs much less Run once, validate everywhere @BagmarAnand
  • 65. • Test environment independent of external dependencies • Tests set dynamic expectations based on context of the test execution • Stubbed service should be able to give static responses / random responses Virtualize Dependencies at Runtime @BagmarAnand
  • 66. • Visual AI using Applitools • Getting Started with Visual Testing - https://testautomationu.applitools.com/automated- visual-testing-a-fast-path-to-test-automation-success/ • Modern Functional Test Automation Through Visual AI - https://testautomationu.applitools.com/modern-functional-testing/ • Intelligent Virtualization using Specmatic • https://specmatic.in/ • https://github.com/znsio/specmatic • Test Automation University - https://testautomationu.applitools.com/ • Test Pyramid - https://martinfowler.com/articles/practical-test-pyramid.html Resources @BagmarAnand