An AI-led Insight Toward Democratizing the Software World
OpenAI’s ChatGPT is estimated to have gained a 100 million users within two months of its launch, making it the fastest-growing consumer application in computing history. However, while the excitement continues unabated, the question remains whether Artificial Intelligence (AI) is just yet another technology hype, or is it the ‘REAL’ next big thing?
The Journey: From ‘Hello World’ to Gen AI
Back in 1997-98, using Visual C++, Microsoft helped democratize the software development process. Unix and other languages had dominated the segment till then, with your coding ability being proportional to the VI editor skills. In Windows, you could now use a friendly code editor leveraging a simple template. It told you where to make application specific changes, then compiled the program and bingo, “Hello World” on a Windows application.
Was that AI? Or was it an instance of technology democratizing the world of coding?
Zoom to 2023, and the GitHub Copilot can writes a program for you based on just the comments you enter.
We have come a long way indeed
But Is This a Linear Trajectory?
However, the question that arises is where do you see Stack Overflow, which gained momentum around 2008 and is still going strong? Most coders today continue to leverage this useful platform for ready answers. While you do not just copy-paste the answer, the codes are often copied to a note pad, enhanced for originality, and then added to the program.
Whether we like it or not, tool such as Stack Overflow are also a great instance of the ongoing momentum toward democratizing software development.
Again, before one can jump to writing a program, we need to solve the logical challenges at hand, design the structure of the code, and fulfil several other criteria. Can AI help you write the logic? Questionable, unless your need is just to say “Hello World” in yet another programming language.
How Can AI Help?
Experience indicates that AI will help reduce the gap between great programmers, people who remember all syntax, know which instruction leads to less memory usage, etc., and the regular programmer whose job is to submit the code somehow and hit the bar.
To illustrate, let us take another role, that of a Program Manager. How will AI assist the Program Manager in their function?
AI can help generate automated status reports, create dashboards, and inform you the progress of the program. In short, it can automate and streamline the workflows even further, and reduce the chance of redundancies and delays due to human error. However, it will still be serving a well-defined, human-led role.
But if you have been a Program Manager, you would also know the gut feeling that tells you something is just not right. It is the thing that makes you keep asking questions, makes you slice and dice until you find out what the data is hiding, and then almost shouts out, “you will indeed get delayed if you continue as is.” And then you act upon it!
We feel that if a Program Manager constantly needs to look at status reports to truly know that the project is delayed, the scenario is just like a cricket batter watching how the wickets were broken in the TV replay. We are too late.
While AI will indeed help as a driver to democratize the software space, delivering enough decision tools and helping gather deep insights from the data, the final inference will still require a human touch.
The future, despite the premonitions to the contrary, is therefore not that bleak.
What Does This Mean For a Tester
Leveraging domain-specific Large Language Model (LLM), we can now almost instantaneously generate multiple test cases and scenarios based on a given format and domain knowledge, besides creating additional generic automation scripts. These will then need to be adjusted for specific design patterns required by the parameters of the test automation framework.
Further inference from the test results can be generated by AI, including how many tests ran at the same time, what was the concurrent time all the devices played, and so on. However, the knowledge of where the program will break will come from knowledge of what has broken in past, ad hoc testing, and more importantly – from a feel of where the errors arise. What we are witnessing is the rise of greater human-machine synergies.
Studies indicate that despite the need for a human touch, AI as a trend, will continue to expand its reach. So while AI is here to stay, does it mean that it will take tester jobs away? Perhaps yes.
But more than just technology replacing humans, it will be the individuals with the knowledge of and the ability to leverage these emerging solutions who will replace their peers and drive the next levels of technological democratization.
For the future, as indicated by the past, is truly the preserve of those bold enough to adopt and stay ahead of the curve.