Software developers find automated testing as an important testing activity as it provides quick feedback to the team whenever anything new is developed. Automated testing also removes extra burden from the QA team to repeat the run regression tests which emerges as a great time-saver and QA gets enough time to focus on other testing activities. Test automation, if done in a right way, benefits the team a lot. Here we provide some very useful tips for best practices in automation of testing.
Tip No. 1:
You shouldn\’t opt for any comparison between manual and automated testing. Both are needed as each serves a different purpose. Automated persons are a set of instructions which are written by a person to do a specific task. During a manual testing tester\’s brain is engaged and it can spot failures in the system.
Tip No. 2:
Do you know why do you need to automate a test? Because you want to execute the test repeatedly on every new release. If the test is executed only once then the efforts for test automation would outweigh the benefits. Regression tests are needed mostly as the software under testing keeps evolving. This task is quite time consuming and boring. Regression tests are good for test automation.
Tip No. 3:
If you create the test cases and scenarios before automating the tests then it\’s really a good practice. It helps in identifying defects. Also make sure that you don’t reduce the scope of testing just to make the test work or pass.
Tip No. 4:
Automated testing needs to give consistent results anyhow so that you can be certain that something is definitely wrong whenever a test fails. If an automated test passes once and fails next time, without any changes made, then we cannot be certain why the failure has taken place, whether for some application or any other factor. When failures happen we need to analyse the results to see what went wrong. Don\’t hesitate to remove unstable tests from regression packs.
Tip No. 5:
There are several outdated automated tests around you. You can jump into the automation process without spending much time before planning on what needs to be done and you need to design good test scenarios too. It\’s an additional benefit if you have a colleague who can review the automated tests\’ validity and sanity. Just make sure that your tests are up to date completely.
Tip No. 6:
Many things go wrong when a new feature or a functionality is developed. The feature may no longer be applicable as the business requirements have changed. If you automated the test when the features were developed then the test will require several updates. Worst of all, if the feature is no more applicable then all efforts are wasted. So it\’s best to automate a functionality after it is stabilised.
Tip No. 7:
Test automation is primarily done to save QA\’s time and for to improve confidence of the team that the application is still in good order though new changes have happened. Don\’t expect that automation will find lot of bugs. Manual and exploratory testing are much better than automated one to find bugs.
Tip No. 8:
Whenever a new functionality is delivered, automation regression tests build confidence among the team and the team starts relying on the tests as a safety net. But it\’s best that automated tests are always accompanied by exploratory testing. Sometimes a change in the software may fail a test but in other successful tests it means that the fault cannot be spotted. So the defect goes unnoticed several times.
Tip No. 9:
Automated tests aim at receiving quick feedback as developers are keen to know what they have developed is functional or not. To get this quick feedback loop the test should be automated at component or API layer without any dependence on the UI. Tests which run on UI are slower and prone to error. It means the functionality factor still works as expected.
Tip No. 10:
The test techniques learnt in ISTQB are not only for manual testing but for automated testing too. Techniques like Boundary Value Analysis, Equivalence Partitioning, State Transition Testing, Pairwise Testing can provide a lot of benefits in automated testing.
Reposted from http://www.efytimes.com/e1/fullnews.asp?edid=147692