If I may borrow Napoleon Hill’s words “Plan your work and work your plan” because nothing can be achieved without proper planning. Things become more difficult when you are working in an agile model as you need to be very efficient and at the same time you need to be very fast too. That is why people say that Agile is simple as well as complex process to follow.
At Quovantis Technologies, we follow lean principles of Scrum to develop products iteratively. Following agile has made us more effective in every phase of project development, including automation testing.
I found out that automating the testing processes helps a lot with projects having substantial scope. It saves a lot of productive hours while making the process quick to iterate.
To plan effective automation we should plan thoughtfully keeping the following methods in mind-
Discover the Most apt Features for Automation
The most important thing to consider before starting with the automation is to the look for the features that will be fruitful by doing automation. Some of the tests which can be automated are-
- Tests that need multiple and tedious data inputs.
- Tests for frequently used functionalities.
- Tests which take a lot of manual effort.
- Tests that run on several different hardware or software platforms and configurations.
- Tests which are done for the sanity purpose after the deployment on production.
Choose the Most suitable Automation Framework
After deciding the tests which would be targeted for automation, next thing which comes into play is the framework design.
Some of the frameworks that can be implemented for automation are:
- Data Driven Framework: Data Driven Testing Framework helps the user divide the test script logic and the test data from each other. The test data are stored separately in an external database like xml files, excel files, CSV files etc. So whenever there is a scenario in which a particular functionality is to be tested for different set of data, then the data driven framework helps a lot.
- Keyword Driven Framework: It is an extension of data driver framework, in which besides the test data, a certain set of code is also put separately into an external data file and the specific keywords are used to perform specific actions on the application.
- Modular Based Framework: The framework divides the entire tests into a number of logical and isolated modules. For each module, we have a separate and independent test case and combination of these test cases represent a test for a larger module.
- Hybrid Framework: Hybrid framework is a combination of more than one of the above mentioned frameworks and it leverages the benefits of all the frameworks.
So which framework to choose ?
Well, it depends on the project requirements. However some important things to keep in mind before selecting a particular framework are that the framework should be clear and understandable, should require less maintenance and should be scalable.
Feedback from the Team
Continuous feedback is always helpful in everything, so same goes for automation. It is highly recommended that the person who is working on the automation should discuss the approach that he/she is planning for automation with the team as every team member can come up with many other features which can also be targeted to be automated. Besides the features, team members can also come up with different approaches to automate different scenarios. So the feedback is very valuable.
Sprint Targets are the Most Important
It is very important to keep in mind the sprint targets as those should not be affected with the efforts that are put in automation. The sprint targets come first and then the automation. Although the person has to bear some pain during the initial sprints for the implementation of automation, but it would eventually make life simpler for the person and would help the whole team to achieve sprint targets more comfortably.
So these are some of the key points which if the person keeps in mind, then it would definitely help the person to work on the automation in a much more planned and efficient way and which would indeed help the team in achieving their goals with higher quality at an even faster speed.