Friday, May 25, 2018

10 BEST PRACTICES AND STRATEGIES FOR TEST AUTOMATION

  1. Detailed understanding of the Application to be tested:
Before starting the automation make yourself familiar with the product as the tool selection is largely dependent on the technologies that the product uses. For a desktop application, one should be clear about the language it supports. Similarly when it comes to web application, the supported browsers should be known beforehand.
           Learn Software Testing Training in Chennai


  1. Hiring a motivated and experienced team or Automation Engineer for the job:
The unfortunate mistake that one often makes is to award the task to the manual inexperienced testers who would start working without having any technical knowledge for the subject. Even many a times Engineers find it hard to deal together. Test automation requires full dedication and time. Proper guidance from technical person is a must and inevitable.


  1. Requirement of resources (Automation Tools):
The success of automation testing has huge dependence on the tool that one selects for the purpose. Thus selecting a right tool is a pre requisite for automation testing and should be taken care of. Proper dedicated time should be spent while choosing the right tool. So, one has to choose the tool after reviewing, that would cater to the needs, from the various tools that are available currently in the market. This may sound tedious task at the beginning but as the project concludes, you will definitely realize the importance of one time and long term investment of choosing the right resources at the very starting.


  1. Adherence to Automation Tools & Tool Selection:
As discussed, the selection of the right tools is crucial but it is not the only thing to be taken care of when dealing in Automation Testing. Skilled workforce is equally necessary for efficient task completion. The harsh reality is that these tools can not cover every situation. It is at the discretion of the Engineer or the Manager who is handling the project to cope with the real time stresses. The tool selected should cover development process of the intended application. The tool bought should have the minimum learning curve so as to avoid unnecessary time consumption in language learning process.

  1. Importance of good manual test cases:
A good and strong manual test case will help you to save your time. One should start the process of automation testing by making the test cases in the manual form. The best approach would be to gather all system requirements first and then testing data in steps. The objectives should be crystal clear and avoid performing unnecessary test cases. It is only when one combines the strong manual cases, efforts and automation that results in fruitful outcomes.


          Learn Software Testing Training in Chennai
  1. Similarity with Software Development:
The process of automation closely resembles with that of software development. So, it requires proper design of framework, adopting quality practices, proper and timely code reviews and reporting of the bugs. So, in a nutshell, the process of automation testing is as crucial as the software development process.


  1. Automation with Test Techniques:
The test techniques that mentioned in International Software Testing Qualifications Board (ISTQB), are equally applicable for testing automation. Techniques such as Boundary Value Analysis, Equivalence Partitioning, State Transition Testing, Pair wise Testing are beneficial in automated testing.


  1. Prompt Feedback:
When one goes for automated testing the main objective that is aimed at is quick feedback with least latency or delay. This helps the developers to be sure that the project works and the designed functionality is consistent. To get this quick feedback loop, the tests need to be automated at the component or Application Programming Interface (API) layer without relying on the User Interface (UI).Tests that run on UI are very slow and highly prone to error because of Graphic User Interface (GUI) changes. This means that the functionality may still work as expected but the tests would fail due to changes in the User Interface, thus making them unreliable.


  1. Opportunities in Software Testing:
Always try to take the best out of the automated testing. Expand the scope of the manual test case to explore the opportunities inherent in this field. As an example, if you want to login to a web page, you can expand the manual test case by making it data driven by listing all the possible conditions for the required login like invalid password, duplicated password, unauthorized access, invalid username, invalid email, empty username, checkbox not checked, etc. Following that just mention the possible scenarios along with their intended results in an excel file and put this excel file as a data source to your test case. Now this one manual test case, if test automated, can test all the possible scenarios in a single step. Always look for opportunities that can be done with the help of automation, but would be very difficult and time consuming if done manually.


  1. Possibilities with Automation:
Never try to compare manual testing with that of automation. Both are interdependent but the working capabilities and areas of the both are restricted by certain constraints. Manual testing may be of advantage for a certain task while it might not be possible to do the same in other job which requires automation testing. The meaning of the word Automation is to run fewer tests more often. You must start small by attacking the smoke tests first. Then cover up your build acceptance tests. Then move onto the frequently performed tests, followed by the tests that may eat up a huge time. But be sure that every test you automate, it saves time for a manual tester to focus on more important things. Automation is not and even can never replace manual tests. The primary role of automation is to take away the repeated and tedious time consuming work from the manual testers so that they can use their concentration and strength in finding new testing scenarios and bugs.




To conclude - One should automate few tests that might be valuable and time savers or difficult (impossible) to be done by manual testers. If one does that, the very task of automation is done successfully.

1 comment:

3 Best Practices and Strategies for Test Automation

Test Automation increases the efficiency and quality of the testing. Manual Testing takes a long time to finish the project. It is time t...