If yes, then read my blog post on Automating Functional / End-2-End Tests Across Multiple Platforms
which shares details on the thought process & criteria involved in
creating a solution that includes how to write the tests, and run it
across the multiple platforms without any code change.
Lastly, the open-sourced solution - teswiz
also has examples on how to implement a test that orchestrates the
simulation between multiple devices / browsers to simulate multiple
users interacting with each other as part of the same test.
Showing posts with label applitools. Show all posts
Showing posts with label applitools. Show all posts
Wednesday, June 2, 2021
Automating Functional / End-2-End Tests Across Multiple Platforms
Do you want to know more about an
approach to Functional (end-to-end) Test Automation that works for a
product available on multiple platforms?
Friday, January 22, 2021
Visual Assertions - not another buzzword
Visual Testing and Visual Assertions may seem like yet another buzzword in the Software industry.
Being curious, I did an experiment using Applitools Visual AI to see if this is something that can genuinely help, or if it is a buzzword. You can read about this experiment, refer to the code and see the resulting data from this post - "Visual Assertions - Hype or Reality?".
Sunday, December 6, 2020
Long time no see? Where have I been
It has been a few months since I published anything on my blog. Does not mean
I have not been learning or experimenting with new ideas. In fact, in the past
few months I have been privileged to have my articles published on
Applitools and
Test Project blogs.
Below is the link to all those articles, for which I have received very kind reviews and comments on LinkedIn and Twitter.
Apart from this, I have also been contributing to open source - namely - Selenium, AppiumTestDistribution and building an open-source kickstarter project for API testing using Karate and for end-2-end testing for Android, iOS, Windows, Mac & Web.
Lastly, I have also been speaking in virtual conferences, webinars and last week I also recorded a podcast, which will be available soon.
Below is the link to all those articles, for which I have received very kind reviews and comments on LinkedIn and Twitter.
Apart from this, I have also been contributing to open source - namely - Selenium, AppiumTestDistribution and building an open-source kickstarter project for API testing using Karate and for end-2-end testing for Android, iOS, Windows, Mac & Web.
Lastly, I have also been speaking in virtual conferences, webinars and last week I also recorded a podcast, which will be available soon.
The end of Smoke, Sanity and Regression
https://applitools.com/blog/end-smoke-sanity-regression/
Do we need Smoke, Sanity, Regression suites?
Do we need Smoke, Sanity, Regression suites?
- Do not blindly start with classifying your tests in different categories. Challenge yourself to do better!
- Have a Test Automation strategy and know your test automation framework objective & criteria (“Test Automation in the World of AI & ML” highlights various criteria to be considered to build a good Test Automation Framework)
- Choose the toolset wisely
- After all the correct (subjective) approaches taken, if your test execution (in a single browser) is still taking more than say, 10 min for execution, then you can run your tests in parallel, and subsequently, split the test suite into smaller suites which can give you progressive indication of quality
- Applitools with its AI-power algorithms can make your functional tests lean, simple, robust and includes UI / UX validation
- Applitools Ultrafast Grid will remove the need for Cross-Browser testing, and instead with a single test execution run, validate functionality & UI / Visual rendering for all supported Browsers & Viewports
Design Patterns in Test Automation
Criteria for building a Test Automation Framework
Writing code is easy, but writing good code is not as easy. Here are the reasons why I say this:
Similarly, implementing automated test cases is easy (as seen from the getting started example shared earlier). However, scaling this up to be able to implement and run a huge number of tests quickly and efficiently, against an evolving product is not easy!
I refer to a few principles when building a Test Automation Framework. They are:
Writing code is easy, but writing good code is not as easy. Here are the reasons why I say this:
- “Good” is subjective.
- “Good” depends on the context & overall objective.
Similarly, implementing automated test cases is easy (as seen from the getting started example shared earlier). However, scaling this up to be able to implement and run a huge number of tests quickly and efficiently, against an evolving product is not easy!
I refer to a few principles when building a Test Automation Framework. They are:
- Based on the context & (current + upcoming) functionality of your product-under-test, define the overall objective of Automation Testing.
- Based on the objective defined above, determine the criteria and requirements from your Test Automation Framework. Refer to my post on “Test Automation in the World of AI & ML” for details on various aspects you need to consider to build a robust Test Automation Framework. Also, you might find these articles interesting to learn how to select the best tool for your requirements:
- Criteria for Selecting the Right Functional Testing Tools
- How to Select the Best Tool – Research Process
- How To Select The Right Test Automation Tool
Stop the Retries in Tests & Reruns of Failing Tests
Takeaways
- Recognise reasons why tests could be flaky / intermittent
- Critique band-aid approach to fixing flakiness in tests
- Discuss techniques to identify reasons for test flakiness
- Fix the root-cause, not the symptoms to make your tests stable, robust and scalable!
Measuring Code Coverage from API Workflow & Functional UI Tests
Why is the Functional Coverage important?
I choose an approach keeping the 80-20 rule in mind. The information the
report provides should be sufficient to understand the current state, and take
decisions on “what’s next”. For areas that need additional clarity, I can then
talk with the team, explore the code to get to the next level of details. This
makes it a very collaborative way of working, and joint-ownership of quality!
🚀
You can choose your own way to implement Functional Coverage – based on your context of team, skills, capability, tech-stack, etc.
You can choose your own way to implement Functional Coverage – based on your context of team, skills, capability, tech-stack, etc.
Wednesday, September 25, 2019
Analytics - The Brain of the Software
An Analogy
I am not a doctor, nor did I enjoy biology too much in my curriculum as a student. However, I do know that the body has many organs and each organ plays a vital role in the well being of the individual.
Each organ has to:
- function correctly (movement, senses, core functions, etc.)
- has to perform as per expectations in different conditions the individual may be going through (walking, running, swimming, etc.)
- has to be secure from external parameters (heat, cold, rain, what we eat / drink, etc.)
- has to have a proper user experience (ex: if the human hands had webs like ducks, would we be able to hold a pen correctly to write?
- I would like to think of the brain as the super computer which keeps track of what is going on in the body, if each piece playing its part correctly, or not. And if there is something unexpected going on, then there are mechanisms of giving that feedback internally and externally so that course correction would be possible.
How does this relate to software?
Software is similar in some ways. For any software product to work, the following needs to be done:
Functionality works as expected
- The architecture, testability of the system will allow for various types of testing activities to be performed on the software to ensure everything works as expected
- Test Automation practices will give you quick feedback
There is a plethora of open-source and commercial tools in this space to help in this regard - the most popular open-source tools being Selenium and Appium.
Software is performant
Software is secure
- Building and testing for security is critical as you do not want user information to be leaked or manipulated and neither do you want to allow external forces to control / manipulate your product behaviour and control
- The Test Automation Pyramid hence also includes NFRs
User experience is validated, and consistent
- In the age of CD (Continuous Delivery & Continuous Deployment), you need to ensure your user experience across all your software delivery means (browsers, mobile-browsers, native apps for mobiles and tablets, etc.) is consistent and users do not face the brunt of UI / look-and-feel issues in the software at the cost of new features
- This is a relatively new domain - but there are already many tools to help in this spaces as well - the most popular one (in terms of integration, usage and features) being the AI-powered Applitools
Visual Validation is the new tip of the Test Automation Pyramid!
What is the brain of the software?
The above is all good, and known in various ways. But what is the "brain" of the software? How does one know if everything is working fine or not? Who will receive the feedback and how do we take corrective action on this?
Analytics is that piece in the Software product that functions as the brain. It keeps collecting data about each important piece of software, and provides feedback on the same.
I have come across some extreme examples of Business / Organizations who have all their eggs in one basket - in terms of
Analytics is that piece in the Software product that functions as the brain. It keeps collecting data about each important piece of software, and provides feedback on the same.
I have come across some extreme examples of Business / Organizations who have all their eggs in one basket - in terms of
- understand their Consumers (engagement / usage / patterns / etc.),
- understand usage of product features, and,
- do all revenue-related book-keeping
This is all done purely on Analytics! Hence, to say “Business runs on Analytics, and it may be OK for some product / user features to not work correctly, but Analytics should always work” - is not a myth!
What this means is Analytics is more important now, than before.
Unfortunately, Analytics is not known much to the Software Dev + Test community. We know it very superficially - and do what is required to implement it and quickly test it out. But what is analytics? Why is it important? What is the impact of this not working well? Not many think about this.
I have been testing Analytics since 2010 ... and the kind of insights I have been able to get about the product have been huge! I have been able to contribute back to the team and help build better quality software as a result.
But I have to be honest - it is painful to test Analytics. And that is why I created an open-source framework - WAAT - to help automate some of this testing activities.
I also do workshops to help people learn more about Analytics, its importance, and how they can automate this as well.
In the workshop, I do not assume anything and approach is to discuss and learn by example and practice, the following
- How does Analytics works (for Web and Mobile)?
- Test Analytics manually in different ways
- Test Analytics via the final reports
- Why some Automation strategies will work, and some WILL NOT WORK (based on my experience)!
- We will see a demo of the Automation running for the same.
- Time permitting, we will setup running some Automation scripts on your machine to validate the same
Takeaways from the workshop
We will learn by practicing the following:
- What is Analytics?
- Techniques to test analytics manually.
- How to automate the validation of analytics, via a demo, and if time permits, run the automation from your machine as well.
Hope this post helps you understand the importance of Analytics and why you need to know more about it. Do reach out to me if you want to learn more about it.
Next upcoming Analytics workshop is in TestBash Australia 2019. Let me know if you would be interested in attending the same
Next upcoming Analytics workshop is in TestBash Australia 2019. Let me know if you would be interested in attending the same
Labels:
analytics,
appium,
applitools,
automation,
automation_framework,
conference,
opensource,
selenium,
test_automation,
testbash,
testing_conference,
waat,
web analytics,
webanalytics,
workshop
Monday, June 3, 2019
Visual Validation - The Missing Tip of the Automation Pyramid at QuaNTA NXT at Globant
I spoke about Visual Validation - The Missing Tip of the Automation Pyramid at QuaNTA NXT event organised by Globant India Pvt. Ltd.
With everyone wanting to be Agile, doing quick releases, this look & feel / UX validation becomes the bottleneck, and also is a very error-prone activity which causes brand, revenue and leads diluting your user-base.
In this session, we will explore why Automated Visual Validation is now essential in your Automation Strategy and also look at how an AI-powered tool - Applitools Eyes, can solve this problem.
The event was very well organised and I had the opportunity to interact with a full house, and also later meet and talk with a lot of interesting people - curious about current state of testing, test automation and how AI can impact it in the future.
Agenda:
Below is the abstract of my talk:
The Test Automation Pyramid is not a new concept. While Automation helps validate functionality of your product, the look & feel / user-experience (UX) validation is still mostly manual.With everyone wanting to be Agile, doing quick releases, this look & feel / UX validation becomes the bottleneck, and also is a very error-prone activity which causes brand, revenue and leads diluting your user-base.
In this session, we will explore why Automated Visual Validation is now essential in your Automation Strategy and also look at how an AI-powered tool - Applitools Eyes, can solve this problem.
Recording from the talk:
Some pictures:
.
Saturday, March 16, 2019
Visual validation - The Missing Tip of the Automation Pyramid
At yet-another-vodQA at ThoughtWorks, this time in the Pune edition on 16th March 2019, I spoke about Visual validation - The Missing Tip of the Automation Pyramid
Abstract:
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!
Slides are available from here
Video is available here:
Thanks to Priyank Shah for this pic!
I also received some awesome feedback for the same.
Thanks vodQA Team! Till next time, adios!
Monday, February 11, 2019
Test Automation in the World of AI and ML
My article on "Test Automation in the World of AI & ML" recently got published on InfoQ.
Here are the key takeaways mentioned in the article -
Here are the key takeaways mentioned in the article -
- There are many criteria to be considered before building framework / selecting tools for Functional Test Automation
- It is very important to prioritise framework / tools capabilities needed for the software-under-test
- A good, scalable Test Automation Framework that provides fast and reliable feedback to the team enables collaboration and CI/CD
- Debugging / RCA (root cause analysis) and support for libraries / tools used is an afterthought in most cases. Do not fall in that trap.
- There are some promising commercial tools that fit seamlessly in the Agile way of working. Depending on the complete context, these tools may be a good choice over building your own framework for Functional Automation.
You can read the full article from here.
Looking forward to comments on the same!
.
Subscribe to:
Posts (Atom)