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
The What, Why and How of (Web) Analytics Testing (Web, IoT, Big Data)Anand Bagmar
Learning Objectives:
The most used and heard about buzz words in the Software Industry today are … IoT and Big Data!
With IoT, with a creative mindset looking for opportunities and ways to add value, the possibilities are infinite. With each such opportunity, there is a huge volume of data being generated - which if analyzed and used correctly, can feed into creating more opportunities and increased value propositions.
There are 2 types of analysis that one needs to think about.
1. How is the end-user interacting with the product? This will give some level of understanding into how to re-position and focus on the true value add features for the product.
2. With the huge volume of data being generated by the end-user interactions, and the data being captured by all devices in the food-chain of the offering, it is important to identify patterns from what has happened, and find out new product / value opportunities based on usage patterns.
Learn what is Web Analytics, why is it important, and see some techniques how you can test it manually and and also automate that validation.
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
Sharing (less) Pain of using Protractor & WebDriverAnand Bagmar
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
To Deploy or Not-To-Deploy - decide using TTA's Trend & Failure AnalysisAnand Bagmar
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
Integration Testing in Enterprises using TaaSAnand Bagmar
Typically in organizations, there are multiple projects / products. These products may be of implemented using tech-stacks over many years. Yet - they interact with each other in some way. To manage the complexity around Test Automation, many organizations prefer to have a common Test Automation solution across these products in an effort to build, standardize and maintain the framework.
However, this is not a good idea! With this approach one potentially ends up having to compromise on the quality of automation that can be done for each product, limited by the toolset.
The better approach would be to use the tools and technologies that are "right" for each product. This does have other disadvantages, but you would ensure each product is well tested! The only missing piece that remains is that these different products talk with each other. You need to test the integration between them in an automated way to verify all is well.
"TaaS" is an open-source product solution that allows you do achieve the "correct" way of doing integration testing across a variety of products via Test Automation.
Example:
For one set of products, Selenium-based toolset may be the right choice, where as for legacy reasons, QTP may be used for some other product. With TaaS - you will be able to automate the Integration Testing between these products, by re-using the tests already implemented in the individual product suites.
The What, Why and How of Analytics TestingAnand Bagmar
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
What is Agile Testing? How does Automation help?Anand Bagmar
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!
The What, Why and How of (Web) Analytics Testing (Web, IoT, Big Data)Anand Bagmar
Learning Objectives:
The most used and heard about buzz words in the Software Industry today are … IoT and Big Data!
With IoT, with a creative mindset looking for opportunities and ways to add value, the possibilities are infinite. With each such opportunity, there is a huge volume of data being generated - which if analyzed and used correctly, can feed into creating more opportunities and increased value propositions.
There are 2 types of analysis that one needs to think about.
1. How is the end-user interacting with the product? This will give some level of understanding into how to re-position and focus on the true value add features for the product.
2. With the huge volume of data being generated by the end-user interactions, and the data being captured by all devices in the food-chain of the offering, it is important to identify patterns from what has happened, and find out new product / value opportunities based on usage patterns.
Learn what is Web Analytics, why is it important, and see some techniques how you can test it manually and and also automate that validation.
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
Sharing (less) Pain of using Protractor & WebDriverAnand Bagmar
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
To Deploy or Not-To-Deploy - decide using TTA's Trend & Failure AnalysisAnand Bagmar
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
Integration Testing in Enterprises using TaaSAnand Bagmar
Typically in organizations, there are multiple projects / products. These products may be of implemented using tech-stacks over many years. Yet - they interact with each other in some way. To manage the complexity around Test Automation, many organizations prefer to have a common Test Automation solution across these products in an effort to build, standardize and maintain the framework.
However, this is not a good idea! With this approach one potentially ends up having to compromise on the quality of automation that can be done for each product, limited by the toolset.
The better approach would be to use the tools and technologies that are "right" for each product. This does have other disadvantages, but you would ensure each product is well tested! The only missing piece that remains is that these different products talk with each other. You need to test the integration between them in an automated way to verify all is well.
"TaaS" is an open-source product solution that allows you do achieve the "correct" way of doing integration testing across a variety of products via Test Automation.
Example:
For one set of products, Selenium-based toolset may be the right choice, where as for legacy reasons, QTP may be used for some other product. With TaaS - you will be able to automate the Integration Testing between these products, by re-using the tests already implemented in the individual product suites.
The What, Why and How of Analytics TestingAnand Bagmar
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
What is Agile Testing? How does Automation help?Anand Bagmar
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!
Test Data - Food for your Test Automation FrameworkAnand Bagmar
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!
Visual Validation - The Missing Tip of the Automation PyramidAnand Bagmar
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!
Bhumika S, Anand Bagmar (Thoughtworks)
How many times do we test the same things at multiple layers, multiple levels, adding time to the build process and testing cycle, delaying the feedback?
We know what to test and how to test, but what is the right place to test it?
In this workshop, we will demonstrate how we, as QA’s, can identify which tests can be classified as unit tests, integration tests, and functional tests. Using a case study, we will see how each component can be tested as part of unit testing; the integration of different parts and the functioning of a software system as a whole, and how functional tests fit into this big picture. We will then bring all these tests together to understand and build the testing pyramid and how it enables us to build the right testing framework with fewer Selenium, i.e., functional tests.
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.
Page-Object pattern is very commonly used when implementing Automation frameworks. However, as the scale of the framework grows, there is a limitation on how much reusability really happens. It inherently becomes very difficult to separate the test intent from the business domain.
I talk about this problem, and the solution I have been using - Business Layer - Page-Object pattern, which has helped me keep my code DRY.
For more details (links to slides, etc.), see my blog: http://goo.gl/biRn4n
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.
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.
Design Patterns play a big role in helping achieve this goal of building a good and robust framework.
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!
Build the "right" regression suite using Behavior Driven Testing (BDT)Anand Bagmar
Slides from the workshop conducted in ThoughtWorks, vodQA Gurgaon on - "What is BDT, and how can you use this technique to identify the 'right' regression suite for your product"
Build the "right" regression suite using Behavior Driven Testing (BDT)Anand Bagmar
Behavior Driven Testing (BDT) is an evolved way of thinking about Testing. It helps in identifying the 'correct' scenarios, in form of user journeys, to build a good and effective (manual & automation) regression suite that validates the Business Goals.
Patterns of a “good” test automation frameworkAnand Bagmar
Slides from my talk in Phoenix, AZ at STPCon about Patterns of a “good” test automation framework. See my blog for more details - https://essenceoftesting.blogspot.com/2017/03/patterns-in-test-automation-framework.html
Enabling CD in Enterprises with TestingThoughtworks
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.
It is easy to measure code coverage when running unit tests.
However, very frequently the following questions come up:
- How can we measure API test coverage and e2e / UI test coverage?
- Does e2e / UI test coverage add value?
- If not, what other data can we look at to know if the e2e tests have good coverage?
This session is about understanding the above questions, and finding solutions for the same.
Slides from my talk on how to Eradicate Flaky Tests from AppiumConf 2021
https://confengine.com/conferences/appium-conf-2021/proposal/15581/eradicate-flaky-tests
Next Generation Functional & Visual Testing powered by AIAnand Bagmar
Slides from hands-on workshop at Agile India 2021.
Machine setup instructions are available in the proposal - https://confengine.com/conferences/agile-india-2021/proposal/15552/next-generation-functional-amp-visual-testing-powered-by-ai
In this workshop, using numerous examples, we will explore:
Why Automated Visual Validation is essential to be part of your Test Strategy
How Visual AI increases the coverage of your functional testing, while reducing the code, and increasing stability of your automated tests
Potential solutions / options for Automated Visual Testing, with pros & cons of each
How an AI-powered tool, Applitools Eyes, can solve this problem
Hands-on look at Applitools Visual AI and how to get started using it
Visual Validation - The missing tip of the automation pyramid @AgileIndia2020Anand Bagmar
https://confengine.com/agile-india-2020/proposal/11065/visual-validation-the-missing-tip-of-the-automation-pyramid
The top of the pyramid is our UI / end-2-end functional tests - which simulate end-user behavior and interactions with the product-under test.
While Automation helps validate functionality of your product, aspects of UX validations can only be seen and captured by the human eye and is hence mostly a manual activity. This is an area where AI & ML can truly help.
With everyone wanting to be Agile, make quick releases, the look & feel / UX validation, which is a slow, and error-prone activity, quickly becomes a huge bottleneck. In addition, with any UX related issues propping up cause huge brand-value and revenue loss, may lead to social-trolling and worse - dilute your user-base.
In this session, using numerous examples, we will explore:
Why Automated Visual Validation is essential to be part of your Test Strategy
Potential solutions / options for Automated Visual Testing, with pros & cons of each
How an AI-powered tool, Applitools Eyes, can solve this problem.
Presentation on monitoring the web, including synthetic, UEUM, web analytics, interaction analysis. Given at www.meshconference.com/meshu on May 20, 2008
Test Data - Food for your Test Automation FrameworkAnand Bagmar
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!
Visual Validation - The Missing Tip of the Automation PyramidAnand Bagmar
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!
Bhumika S, Anand Bagmar (Thoughtworks)
How many times do we test the same things at multiple layers, multiple levels, adding time to the build process and testing cycle, delaying the feedback?
We know what to test and how to test, but what is the right place to test it?
In this workshop, we will demonstrate how we, as QA’s, can identify which tests can be classified as unit tests, integration tests, and functional tests. Using a case study, we will see how each component can be tested as part of unit testing; the integration of different parts and the functioning of a software system as a whole, and how functional tests fit into this big picture. We will then bring all these tests together to understand and build the testing pyramid and how it enables us to build the right testing framework with fewer Selenium, i.e., functional tests.
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.
Page-Object pattern is very commonly used when implementing Automation frameworks. However, as the scale of the framework grows, there is a limitation on how much reusability really happens. It inherently becomes very difficult to separate the test intent from the business domain.
I talk about this problem, and the solution I have been using - Business Layer - Page-Object pattern, which has helped me keep my code DRY.
For more details (links to slides, etc.), see my blog: http://goo.gl/biRn4n
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.
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.
Design Patterns play a big role in helping achieve this goal of building a good and robust framework.
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!
Build the "right" regression suite using Behavior Driven Testing (BDT)Anand Bagmar
Slides from the workshop conducted in ThoughtWorks, vodQA Gurgaon on - "What is BDT, and how can you use this technique to identify the 'right' regression suite for your product"
Build the "right" regression suite using Behavior Driven Testing (BDT)Anand Bagmar
Behavior Driven Testing (BDT) is an evolved way of thinking about Testing. It helps in identifying the 'correct' scenarios, in form of user journeys, to build a good and effective (manual & automation) regression suite that validates the Business Goals.
Patterns of a “good” test automation frameworkAnand Bagmar
Slides from my talk in Phoenix, AZ at STPCon about Patterns of a “good” test automation framework. See my blog for more details - https://essenceoftesting.blogspot.com/2017/03/patterns-in-test-automation-framework.html
Enabling CD in Enterprises with TestingThoughtworks
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.
It is easy to measure code coverage when running unit tests.
However, very frequently the following questions come up:
- How can we measure API test coverage and e2e / UI test coverage?
- Does e2e / UI test coverage add value?
- If not, what other data can we look at to know if the e2e tests have good coverage?
This session is about understanding the above questions, and finding solutions for the same.
Slides from my talk on how to Eradicate Flaky Tests from AppiumConf 2021
https://confengine.com/conferences/appium-conf-2021/proposal/15581/eradicate-flaky-tests
Next Generation Functional & Visual Testing powered by AIAnand Bagmar
Slides from hands-on workshop at Agile India 2021.
Machine setup instructions are available in the proposal - https://confengine.com/conferences/agile-india-2021/proposal/15552/next-generation-functional-amp-visual-testing-powered-by-ai
In this workshop, using numerous examples, we will explore:
Why Automated Visual Validation is essential to be part of your Test Strategy
How Visual AI increases the coverage of your functional testing, while reducing the code, and increasing stability of your automated tests
Potential solutions / options for Automated Visual Testing, with pros & cons of each
How an AI-powered tool, Applitools Eyes, can solve this problem
Hands-on look at Applitools Visual AI and how to get started using it
Visual Validation - The missing tip of the automation pyramid @AgileIndia2020Anand Bagmar
https://confengine.com/agile-india-2020/proposal/11065/visual-validation-the-missing-tip-of-the-automation-pyramid
The top of the pyramid is our UI / end-2-end functional tests - which simulate end-user behavior and interactions with the product-under test.
While Automation helps validate functionality of your product, aspects of UX validations can only be seen and captured by the human eye and is hence mostly a manual activity. This is an area where AI & ML can truly help.
With everyone wanting to be Agile, make quick releases, the look & feel / UX validation, which is a slow, and error-prone activity, quickly becomes a huge bottleneck. In addition, with any UX related issues propping up cause huge brand-value and revenue loss, may lead to social-trolling and worse - dilute your user-base.
In this session, using numerous examples, we will explore:
Why Automated Visual Validation is essential to be part of your Test Strategy
Potential solutions / options for Automated Visual Testing, with pros & cons of each
How an AI-powered tool, Applitools Eyes, can solve this problem.
Presentation on monitoring the web, including synthetic, UEUM, web analytics, interaction analysis. Given at www.meshconference.com/meshu on May 20, 2008
WSO2Con EU 2015: An Introduction to the WSO2 Data Analytics PlatformWSO2
WSO2Con EU 2015: An Introduction to the WSO2 Data Analytics Platform
With Hadoop, we can easily process data from the disk, but this consumes a lot of time. The value of certain insights, such as a traffic alerts or heart attack alerts, degrades with time and handling this time sensitive data needs realtime technologies that can produce output within milliseconds. Moreover, some use cases need advanced analytics like machine learning.
In this talk, we will discuss about the WSO2 Data Analytics platform that brings together all the technologies into one platform. It lets you collect data through a one sensor API, process it using batch, realtime or predictive technologies and communicate your results all within a single platform and user experience.
Presenter:
Srinath Perera
Vice President – Research,
WSO2
Ruby on Rails Performance Tuning. Make it faster, make it better (WindyCityRa...John McCaffrey
(reposting with clearer title)
Performance tuning presentation from WindyCityRails 2010.
Why performance matters
The right way to approach it
Front end testing tools
Automated testing tools
Common problems and the ways to solve them in Rails
Rails specific tools
bullet
slim_scrooge
rack bug
request log analyzer
rails indexes
What to Do—Develop Your Own Automation or Use Crowdsourced Testing?TechWell
Modern software products tend to have a rich UI that supports many user workflows, all of which need to be covered in testing. Agile organizations quickly discover that manual end-to-end testing neither supports their velocity nor provides respectable regression coverage. A common progression is to move from fully manual testing to record/replay, then to Selenium IDE style tests, then to automation based on Selenium WebDriver, perhaps with a BDD overlay. Daria Mehra has practiced this approach and shares her experience. She compares the Selenium style of automation to an alternative—crowdsourced test execution— which provides all the benefits of test automation, including continuous integration. This approach allows non-coders to express test cases in natural language, avoids the dependency on UI implementation, adds a “human eye” advantage, and provides the ability to massively parallelize tests for fast execution. Learn the pros and cons of end-to-end, UI-based test automation via Selenium compared to crowdsourcing. Find out how you can assess the suitability of these testing approaches for your needs.
Systematic Load Testing of Web ApplicationsJürg Stuker
Talk held at the conference Coding Serbia in Novi Sad.
Performance of web applications is a crucial dissatisfier for users and thus an important quality criteria -- also used by Google to rank their result lists. As with other quality aspects, performance testing cannot be done at the end of a project but is an integral part of the development process.
The practice presentations submitted explains web performance testing along practical examples in order to better understand and judge cause and effect of behavior observed. Usually few causes have a disproportionate effect on bad performance. In addition, it is important to understand diverse load and test scenarios to optimize application behavior.
The presentation also introduces a methodology to systematically define and assess performance metrics of an application. The content is based on open source tools and the presentation includes live testing to illustrate the excellent cost benefit ratio of systematically white box testing of performance using an HTTP proxy.
I was meaning to put this talk up for grabs for some time now, but kept forgetting. I was invited to give the keynote speech for the Microstrategy World 2008 conference. The talk was very well received, so here it is.
Using Customer Development to get Traction in a Crowded SpaceOutlyer
How we used Customer Development at Dataloop.IO to get our initial customers and traction in the crowded monitoring space.
Presentation from Hacker News London Meetup - 9th October 2014
You can find the video recording here: http://youtu.be/iG8Gnf5CD9s
This talk given by Steve Caldwell, CEO/CTO of Strap, focused on how to add analytics to your Pebble app.
Day 2 - Video 3
If you're running a tech start-up, it's essential that you familiarize yourself with the fundamentals of web development. Ultimately knowing how to "talk to the talk" will help you communicate better with developers, and overall just look really cool.
Performance testing with your eyes wide open geekweek 2018Yoav Weiss
Performance testing 101
Real performance case is explained , performance testing a complex security solution based on EC2 & RDS
USE system as taken from Mark Schuetze
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!
Change Tyres In A Moving Car - Make Functional Test Automation Effective KeynoteAnand Bagmar
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.
Slides from my talk on "Rewrite Vs Refactor" given at Agile India 2021. https://confengine.com/conferences/agile-india-2021/proposal/15495/rewrite-vs-refactor
In this session, I will share various examples and experiences and as a result of being in such situations, the factors I looked at when enhancing the code-base to decide - should I refactor or rewrite the code-under-consideration to be able to move forward faster, while moving towards the long-term vision.
Though I will focus on various examples of Test Automation, this session is applicable for any role that writes / maintains code of any nature.
The Best Test Automation Framework is...Anand Bagmar
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/
Slides used in workshop on "Getting started with Appium 2.0" at AppiumConf 2021
https://confengine.com/conferences/appium-conf-2021/proposal/15634/getting-started-with-appium-20
Does your functional automation really add value?Anand Bagmar
We all know that automation is one of the key enablers for those on the CI-CD journey.
Most teams are:
• implementing automation
• talking about its benefits
• up-skilling themselves
• talking about tooling
• etc.
In my experience, unfortunately most of the functional automation that is built is:
• not optimal
• not fit-for-purpose
• does not run fast enough
• gives inconsistent feedback, hence unreliable
Hence, for the amount of effort invested in implementing automation, are you really getting the value from this activity?
In this talk, we will discuss these challenges and why it would lead to poor ROI of automation. More importantly, we will discuss the following techniques to make automation valuable:
• know the objective for the automation framework
• establish criteria for tests to be automated
• design your framework with proper abstraction layers
• develop using appropriate design patterns
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!
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
Test Automation - Principles and PracticesAnand Bagmar
Slides from my webinar for Sri Lanka Testing Community on - "Test Automation - Principles & Practices".
Details about the webinar can be found from my blog - http://essenceoftesting.blogspot.com
Providing Globus Services to Users of JASMIN for Environmental Data AnalysisGlobus
JASMIN is the UK’s high-performance data analysis platform for environmental science, operated by STFC on behalf of the UK Natural Environment Research Council (NERC). In addition to its role in hosting the CEDA Archive (NERC’s long-term repository for climate, atmospheric science & Earth observation data in the UK), JASMIN provides a collaborative platform to a community of around 2,000 scientists in the UK and beyond, providing nearly 400 environmental science projects with working space, compute resources and tools to facilitate their work. High-performance data transfer into and out of JASMIN has always been a key feature, with many scientists bringing model outputs from supercomputers elsewhere in the UK, to analyse against observational or other model data in the CEDA Archive. A growing number of JASMIN users are now realising the benefits of using the Globus service to provide reliable and efficient data movement and other tasks in this and other contexts. Further use cases involve long-distance (intercontinental) transfers to and from JASMIN, and collecting results from a mobile atmospheric radar system, pushing data to JASMIN via a lightweight Globus deployment. We provide details of how Globus fits into our current infrastructure, our experience of the recent migration to GCSv5.4, and of our interest in developing use of the wider ecosystem of Globus services for the benefit of our user community.
Cyaniclab : Software Development Agency Portfolio.pdfCyanic lab
CyanicLab, an offshore custom software development company based in Sweden,India, Finland, is your go-to partner for startup development and innovative web design solutions. Our expert team specializes in crafting cutting-edge software tailored to meet the unique needs of startups and established enterprises alike. From conceptualization to execution, we offer comprehensive services including web and mobile app development, UI/UX design, and ongoing software maintenance. Ready to elevate your business? Contact CyanicLab today and let us propel your vision to success with our top-notch IT solutions.
Developing Distributed High-performance Computing Capabilities of an Open Sci...Globus
COVID-19 had an unprecedented impact on scientific collaboration. The pandemic and its broad response from the scientific community has forged new relationships among public health practitioners, mathematical modelers, and scientific computing specialists, while revealing critical gaps in exploiting advanced computing systems to support urgent decision making. Informed by our team’s work in applying high-performance computing in support of public health decision makers during the COVID-19 pandemic, we present how Globus technologies are enabling the development of an open science platform for robust epidemic analysis, with the goal of collaborative, secure, distributed, on-demand, and fast time-to-solution analyses to support public health.
Strategies for Successful Data Migration Tools.pptxvarshanayak241
Data migration is a complex but essential task for organizations aiming to modernize their IT infrastructure and leverage new technologies. By understanding common challenges and implementing these strategies, businesses can achieve a successful migration with minimal disruption. Data Migration Tool like Ask On Data play a pivotal role in this journey, offering features that streamline the process, ensure data integrity, and maintain security. With the right approach and tools, organizations can turn the challenge of data migration into an opportunity for growth and innovation.
Software Engineering, Software Consulting, Tech Lead.
Spring Boot, Spring Cloud, Spring Core, Spring JDBC, Spring Security,
Spring Transaction, Spring MVC,
Log4j, REST/SOAP WEB-SERVICES.
In software engineering, the right architecture is essential for robust, scalable platforms. Wix has undergone a pivotal shift from event sourcing to a CRUD-based model for its microservices. This talk will chart the course of this pivotal journey.
Event sourcing, which records state changes as immutable events, provided robust auditing and "time travel" debugging for Wix Stores' microservices. Despite its benefits, the complexity it introduced in state management slowed development. Wix responded by adopting a simpler, unified CRUD model. This talk will explore the challenges of event sourcing and the advantages of Wix's new "CRUD on steroids" approach, which streamlines API integration and domain event management while preserving data integrity and system resilience.
Participants will gain valuable insights into Wix's strategies for ensuring atomicity in database updates and event production, as well as caching, materialization, and performance optimization techniques within a distributed system.
Join us to discover how Wix has mastered the art of balancing simplicity and extensibility, and learn how the re-adoption of the modest CRUD has turbocharged their development velocity, resilience, and scalability in a high-growth environment.
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...Shahin Sheidaei
Games are powerful teaching tools, fostering hands-on engagement and fun. But they require careful consideration to succeed. Join me to explore factors in running and selecting games, ensuring they serve as effective teaching tools. Learn to maintain focus on learning objectives while playing, and how to measure the ROI of gaming in education. Discover strategies for pitching gaming to leadership. This session offers insights, tips, and examples for coaches, team leads, and enterprise leaders seeking to teach from simple to complex concepts.
Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...Anthony Dahanne
Les Buildpacks existent depuis plus de 10 ans ! D’abord, ils étaient utilisés pour détecter et construire une application avant de la déployer sur certains PaaS. Ensuite, nous avons pu créer des images Docker (OCI) avec leur dernière génération, les Cloud Native Buildpacks (CNCF en incubation). Sont-ils une bonne alternative au Dockerfile ? Que sont les buildpacks Paketo ? Quelles communautés les soutiennent et comment ?
Venez le découvrir lors de cette session ignite
Designing for Privacy in Amazon Web ServicesKrzysztofKkol1
Data privacy is one of the most critical issues that businesses face. This presentation shares insights on the principles and best practices for ensuring the resilience and security of your workload.
Drawing on a real-life project from the HR industry, the various challenges will be demonstrated: data protection, self-healing, business continuity, security, and transparency of data processing. This systematized approach allowed to create a secure AWS cloud infrastructure that not only met strict compliance rules but also exceeded the client's expectations.
Prosigns: Transforming Business with Tailored Technology SolutionsProsigns
Unlocking Business Potential: Tailored Technology Solutions by Prosigns
Discover how Prosigns, a leading technology solutions provider, partners with businesses to drive innovation and success. Our presentation showcases our comprehensive range of services, including custom software development, web and mobile app development, AI & ML solutions, blockchain integration, DevOps services, and Microsoft Dynamics 365 support.
Custom Software Development: Prosigns specializes in creating bespoke software solutions that cater to your unique business needs. Our team of experts works closely with you to understand your requirements and deliver tailor-made software that enhances efficiency and drives growth.
Web and Mobile App Development: From responsive websites to intuitive mobile applications, Prosigns develops cutting-edge solutions that engage users and deliver seamless experiences across devices.
AI & ML Solutions: Harnessing the power of Artificial Intelligence and Machine Learning, Prosigns provides smart solutions that automate processes, provide valuable insights, and drive informed decision-making.
Blockchain Integration: Prosigns offers comprehensive blockchain solutions, including development, integration, and consulting services, enabling businesses to leverage blockchain technology for enhanced security, transparency, and efficiency.
DevOps Services: Prosigns' DevOps services streamline development and operations processes, ensuring faster and more reliable software delivery through automation and continuous integration.
Microsoft Dynamics 365 Support: Prosigns provides comprehensive support and maintenance services for Microsoft Dynamics 365, ensuring your system is always up-to-date, secure, and running smoothly.
Learn how our collaborative approach and dedication to excellence help businesses achieve their goals and stay ahead in today's digital landscape. From concept to deployment, Prosigns is your trusted partner for transforming ideas into reality and unlocking the full potential of your business.
Join us on a journey of innovation and growth. Let's partner for success with Prosigns.
top nidhi software solution freedownloadvrstrong314
This presentation emphasizes the importance of data security and legal compliance for Nidhi companies in India. It highlights how online Nidhi software solutions, like Vector Nidhi Software, offer advanced features tailored to these needs. Key aspects include encryption, access controls, and audit trails to ensure data security. The software complies with regulatory guidelines from the MCA and RBI and adheres to Nidhi Rules, 2014. With customizable, user-friendly interfaces and real-time features, these Nidhi software solutions enhance efficiency, support growth, and provide exceptional member services. The presentation concludes with contact information for further inquiries.
How Recreation Management Software Can Streamline Your Operations.pptxwottaspaceseo
Recreation management software streamlines operations by automating key tasks such as scheduling, registration, and payment processing, reducing manual workload and errors. It provides centralized management of facilities, classes, and events, ensuring efficient resource allocation and facility usage. The software offers user-friendly online portals for easy access to bookings and program information, enhancing customer experience. Real-time reporting and data analytics deliver insights into attendance and preferences, aiding in strategic decision-making. Additionally, effective communication tools keep participants and staff informed with timely updates. Overall, recreation management software enhances efficiency, improves service delivery, and boosts customer satisfaction.
TROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERRORTier1 app
Even though at surface level ‘java.lang.OutOfMemoryError’ appears as one single error; underlyingly there are 9 types of OutOfMemoryError. Each type of OutOfMemoryError has different causes, diagnosis approaches and solutions. This session equips you with the knowledge, tools, and techniques needed to troubleshoot and conquer OutOfMemoryError in all its forms, ensuring smoother, more efficient Java applications.
Modern design is crucial in today's digital environment, and this is especially true for SharePoint intranets. The design of these digital hubs is critical to user engagement and productivity enhancement. They are the cornerstone of internal collaboration and interaction within enterprises.
17. TESTING AT THE REPORT LEVEL
Pros
¨ Ensure report is setup correctly
Cons
¨ May not capture “true data”
¨ Licensing
¨ Reports not yet setup
¨ Validate all requests are sent / captured
29. WHAT DOES WAAT DO FOR ME?
q Plugs into existing test framework
q With minimal changes
q Web Analytic tool independent
q UI Driver framework independent
q Browser independent
31. WAAT-JAVA
q Original flavor
q Supports 2 plugins
q Omniture Debugger
q Proxy
q HttpSniffer
q JsSniffer
q Available on github
Will be eventually available as a Maven Dependency!
32. WAAT-RUBY
q Ruby gem implemented over WAAT-Java
q Uses RJB – Ruby-Java-Bridge
q Supports 2 plugins
q HttpSniffer
q JsSniffer
q Available on github and rubygems.org
Will be changing soon!
34. OMNITURE DEBUGGER
Pros
q OS independent
q Run using the regular test-user
Cons
q Browser dependent – need to implement ScriptRunner
for the UI-driver in use
q Web-Analytic solution dependent – Adobe Marketing
Cloud / Omniture SiteCatalyst
36. JSSNIFFER
Pros
q Web-analytic solution independent
q Browser independent
q HTTPs supported out-of-the-box
q No dependency on any 3
rd
party library
Cons
q Need to write JavaScript to get the URL from the browser
q UI-driver dependent
38. PROXY DEBUGGER
Pros
q Web-analytic solution independent
q Browser independent
q UI-driver dependent
q HTTPs supported out-of-the-box
q No dependency on any 3
rd
party library
Cons
q May not work easily for Mobile
49. IOT – BIGGER CHALLENGES
¨ Too many devices
¨ Lots of data
50. BIG DATA …. IS GETTING BIGGER
¨ Volumes of data generated
¨ A jet engine generates 1TB of data per flight.
¨ A large refinery generates 1TB of raw data per day.
¨ As cars get smarter, the number of sensors is projected to reach as many as 200
per car.
¨ Sensors of all types will generate immense amounts of data. In fact, analysts
estimate that by 2020, 40 percent of all data will come from sensors.
¨ IoT leads to massive volumes of data
http://www.cisco.com/web/solutions/trends/iot/docs/iot-data-analytics-white-paper
54. TESTING OPPORTUNITIES
We need to build capabilities to validate –
¨ Data collection is working well
¨ From all sources
¨ Analyzing data, capturing patterns and trends
¨ Optimize business value
¨ Create new opportunities and value propositions