Hey guys, in this article I will not talk about automation tools or automation frameworks, but I will talk about how to set the strategy and choose the key scenarios and priorities to build your automation strategy.
Who is most interested to have automation tests running ? Quality Assurance team.
Why ? Because the regression tests that are always performed by the QA engineers will now be performed by automated scripts. They use the automation to run detailed, repetitive, and data-intensive tests automatically.
It helps to improve software quality and make the most of their always-limited testing resources. Automated testing will shorten your development cycles, avoid repetitive tasks and help improve software quality.
Why should we implement an automation test project ?
- It helps to test faster (Failures will be reported ASAP to be fixed)
- Allows them to test substantially more code (Able to build deeper tests)
- Improves test accuracy (Avoid human mistakes)
- Frees up QA engineers so they can focus on tests that require manual attention and their unique human skills (Exploratory tests)
For a manual testing project the cost consuming factors are:
- Tools – Test/defect management
- Infrastructure – environment
For an automation project, in addition to the above items it needs also:
- Automation tools
- Add-in for test management tool integration
- Add-in to support AUT (like SAP, oracle etc)
- Framework set up
- Tool specific training
What determines the success of your automation ?
“Are you able to generate a better ROI (Return on Investment) in comparison to the manual route”? – If not immediately, eventually.
- Decide what Test Cases to Automate
- Setup a Continuous Integration Box
- Select the Right Automated Testing Tool
- Divide your Automated Testing Efforts
- Create Good, Quality Test Data
- Create Automated Tests that are Resistant to Changes in the UI
- Add repetitive tests that run for multiple builds.
- Add tests that tend to cause human error.
- Add tests that require multiple data sets.
- Add frequently used functionality that introduces high risk conditions.
- Add tests that are impossible to perform manually.
- Add tests that run on several different hardware or software platforms and configurations.
- Add tests that take a lot of effort and time when manual testing.
- Divide your projects in phases and prioritise them.
- Name convention
- Select the right automation tool
- Browsers and its versions, desktop or mobile size (Layout responsive)
- Platforms (Windows, Mac, Linux)
- Multiple mobile devices (Portrait and landscape)
- Continuous integration (Frequency which you will run the tests)
- Locations for test assets to be stored
Hey guys, today I will post about one of the approaches for web automation. This is a general strategy, which I always try to follow, but depending of the situation you need to adjust and change some priorities.
What should come first ?
- Critical scenarios
Critical or basic scenarios should come first, so before you even start to think about if the validation message when you type negative time is working as expected, you should check, for instance, if the login is working properly.
So, choose the basic/critical scenario which is the MVP first and implement it. After all the basic scenarios are implemented you can start to think about the others.Doing this, it will save time when doing the regression tests. Separate your automation in phases like, first phase, basic scenarios, second phase, second priority scenarios and so on. So, you don’t get annoyed by taking so much time trying to implement one complete feature. You do the basic things, let the automation working and move to the second phase.
How much effort does it take to adjust test scripts to the changed requirements, interfaces, data structure, accounts, platforms etc ? You should worry about this since the start, but we know that not everybody thinks the same and even that you have aligned this in the beginning it is common that people forget.
So, this is the time that you can go back and change/add little things to improve your automation. For example, if your scenarios are not independent, you can implement some checks and make them run by themselves. This will save time when you run a single scenario.
- Browsers compatibility
This depends of what is the most used browser by your clients. You can start implement your automation for all browsers or you can focus on the most used browser and then you adjust the automation to run on all the other browsers. If you choose to run the automation on all browsers since the beginning you need to be aware of you will spend more time implementing the same scenario. Your automation will be done for all browsers, but all other scenarios will be behind schedule since you need to spend more time on one scenario.
So, you need to be aware of what is more important, choose the most used and delivery the automation in a short time or take more time to delivery the automation and it will be ready for all browsers already.In my opinion, I prefer to focus on the most used browsers and then implement other browsers in the next phase. When you are implementing one scenario for all browsers, it could be hard to focus and find the issue, since every time you run, it will be running on different browser instances. Same for mobile browsers, this should be done in another step. But again, this depends of the priorities of your project.
Is it easy to test your automation on another environment ? This is one of the things you need to be aware of. It could be an improvement task, since you will already have the automation and this can be implemented in the next phase of your automation.
Thank you guys ! See you next week !