Time to opt for matured Test Automation Processes
Test Automation is a very specialized branch of QA and requires significant Technical expertise. Test Automation like all other forms of Quality Engineering has evolved over the years.
Back in the early days when automated software testing services were conceptualized, the Automation process involved record and play of the Test Scenarios and no or very little Technical expertise was required. All one needed to know was how to use the Test Automation tool and rest was taken care of it. While this continued to happen, with the increasing complexity of Web Applications, it was no longer just a record and play game. The Tools became more advanced and some Open source solutions also came into the picture, where the Test Engineer needed to use more programming knowledge for Scripting work. However, we were still scripting at the GUI level. The next stage came in when some professionals started wondering if Test Automation can in fact be started at the very initial stage along with development even before the UI was in place. This led to the advent of Test Automation at API level.Things did not just stop here. With the changing needs to Application which started becoming available on Smart phones and Tablet devices, the need for Testing and performing Test Automation also grew accordingly. Nowadays, with research into this area, it's been made possible to automate test scripts for Mobile Apps and Optimized versions of Web Applications running on Smart devices.
As an emerging part of technology used over the years covers a part profusely known as Automation, terminology evolved for automating things in IT world we call it as Test Automation. When we are talking about advancement growth and Factual results we needed something which can emerge as overpopulated data that can run several times without hampering the work and provide no assistance or very less of all with minimum of manual used.Over these past few years when IT world has become so mammoth lots of tools came into existence which can empower the process with minimal effort, these processes have matured in a vast set. Era has been on a continuous change and so do the process and when process are a verge existence and being made time to time, these Test automation has also helped IT world to grow as a supreme.
Earlier all the task was done on the paper then several gadgets were introduced over the period and still they are being introduced with higher maturity levels i.e higher lever/version used. Likewise all the automation tools, process have been on a continuous change.
We can get deep down to the changes how these technology helped and highlighted the processes but if we generally go through it we can manage to get some idea how it does changed over several years and how it will be changing accordingly.Two major tools which helps automating things in better and secure way tells how a task or repetitive task can be done with one time efforts.
1) Open source (Selenium)
2) Licensed (QTP)With time test automation processes have matured with the advent of different tools and techniques in the market.
The evolution of test automation is divided into 3 generations:
First generation:This approach was based on recording feature which required minimal coding skills and people from little or no coding knowledge were able to write basic automation codes. But one couldn't survive on these coding scripts as they were redundant and got very clumsy for large scripts. Also there were so many restrictions in script execution like environment, supported languages etc.
Then came the next generation which was obviously smarter than the previous one.
Second generation: Test automation took a giant leap forward as it offered script based approach by using automation frameworks. Automation frameworks were developed to re-use the same code for multiple similar executions instead of writing it again altogether. Tools of this generation supported more languages and environments for execution, though it needed the technical skills to use them.
Script based test automation tools are present since early 90's like Microsoft's Visual Test 1.0. The genesis of today's test automation tools like QTP, Rational Functional Tester, Winrunner and many others is from that era.Software Test automation process have been going through a series of major changes in last few decades to mature enough to provide robust and reliable test scripts. The paradigm shift from manual testing to test automation has minimized the maintenance overhead once the project enters into maintenance phase.Various Phases in the evolution of Software Test Automation are:
1. Record and Playback:To generate test scripts we used to record the test and then run as many times as we want. But then the more tests we record the more tests needed to be maintained which added to the overhead and the reason why this faded by the time.
2. Data Driven: Test data is stored in separate files and scripts use to dig out data from these files and used it as input to application under test.
3. Keyword Driven: In this phase Scripts were replaced by Keywords. Each keyword specify a script to run a series of events.
4. Code less Test Automation: Now, test automation has gone codeless by implementing the use of dropdown for choosing Objects and Actions to be performed.