Evolution of Testing (QA) in IT
Beginning of Functional QA
QA (Quality Assurance) has been the most integral part of the IT process when we talk about software's, its development and testing the product has been the core mandate since the beginning of development life cycle. Earlier developers used to sit at their own code and perform testing for their code and cross team/ cross developer code testing use to be performed. Soon they realized this process is tedious and hair pulling indeed to test your own code and mostly how to find the bugs in your own code? It’s like finding issues in your own existence and accepting you screwed up somewhere. haha. :)
This entire process has changed with the need to spend more time in finding the bugs, logging it and fixing. Hence the need and demand for the QA in SDLC (Software development Life Cycle). Manual QA’s or functional QA’s came into existence and with it the need to involved QA in SDLC. QA got new tools in place to write the test cases, plan test strategies etc. commonly termed test plan.
Executing the test plans and reporting bugs became a day-to-day activity with more features being build, and this created many different models of SDLC like waterfall model, V-shape model etc. Along with SDLC testing community gained their own process as STLC (Software Testing Life Cycle)
Introduction to QA Automation
With the constant running of same tests on every release manually created a overhead, it was time consuming, resource/people consuming, and the error rate of missing a test case was also increasing. To avoid such burden with every release came in existence the need to Automate the process of execution of the test cases and reporting the results.
The most popular tools used to conduct such test with the most widely accepted languages was Selenium with Java programming language. Initially Thoughtworks created the Selenium IDE, play and record tool where we can create a script by manually executing the test case and use the Selenium IDE recorder to record every step.
Later, Thoughtworks created Selenium WebDriver which totally changed how we look at the testing process especially for functional end to end. This has helped many a developer to write their selenium code and run it as a package for every release or feature. Testers enabled themselves to learn the process of coding and logic building around core Java and transitioned themselves from regular manual/functional tester to automation tester and as we move further with more experience, the less time it took it to automate the test cases and run in pipelines along with the development projects.
With recent development and boom in the automation testing in past decade, many a tool has made their way in the market. the integration of JavaScript with the Automation tools like Cypress, Protractors, Playwright to name a few.
With the AI development and usage its safe to say that Automation testing is moving far ahead then what it was a deaced ago. Now we have tools that can do that same job of finding the web-elements and locators (which is a major part of the automation test case) much easier than we use to do it manually. Tools like Katalon studio, browser stack has add ons AI powered engines to perform the overhead tasks of creating a web locator and managing the tests, recording them, running them in different browsers.
With recent development in AI and AI enabled models, there are testing framework available in python to scale up the testing. We can teach a model, and it will learn on it as to what test data to be used to conduct software testing as we see it.
This technological advancement raises questions, curiosity as well as doubt as to what the future looks like. Will there be tools that can perform automation on its own by learning about the product? Creating test cases, maintaining them, reporting bugs can they all be a part of some AI learning process and QA Automation will be cast out as another redundant job? Well, the answer is difficult to provide, but I would say that we have long way to go in the process of QA Automation evolution, we are not there yet to cast out the role and give it to the AIs yet.