The COVID pandemic has not only altered the lives of millions of software professionals around the world, but it also has made many software companies think about various ways they can reduce costs and risks to preserve their production and exist in this highly competitive software industry.
It is a fact that now many companies have started to think about the different ways they can curtail their spending plans. But at the same time, they also have to ensure that their existing products and the new products that they are/will be launching in the market are of high quality, valuable to their clients/customers, and provide a great user experience. Thus they have to be cautious when it comes to Testing and Test Automation.
One of the ways by which companies can reduce their costs significantly is by adopting Open Source technologies. If we talk about Test Automation, Open Source Test Automation Frameworks can come to the rescue. Costs involved in Test Automation can have many facets and we will discuss those later in this article. But first, let’s understand what we mean by “Open Source”.
What is Open Source software and how is it different from Proprietary ones?
If any software (tool/platform/technology/framework) is referred to as “Open Source”, it means that its source-code/blueprint/design can be accessed, used, inspected, reviewed, modified, and distributed by anyone with its original rights and licenses. The reasons can be many and may vary from enhancing its functionalities by adding features in it, fixing its bugs, or providing entirely new functionalities by creating wrappers around it. It will mostly be available free of charge 🆓
On the other hand, if the software is “Proprietary” (or “Commercial”), it means that its source-code/blueprint/design is available only to the person(s)/organization(s) who have created it or own it. Only they can exclusively maintain, modify, and distribute it with its original rights and licenses. If anyone else (user/organization) wants to use that software, they usually need to sign a license agreement stating that they will not do anything with the software that its legal owner has not permitted.
Different ways Open Source Frameworks bring down Test Automation costs
With the widespread adoption of Agile and DevOps, the benefits provided by Test Automation are undoubtedly numerous. I will not go into the details of those benefits as I am sure you are already aware of them from personal experiences or from reading different articles/blog posts. But like all other things related to software, Test Automation also involves costs from various aspects. The total cost can be a summation of the individual cost involved in the setup of the Test Automation Framework, its maintenance, its training/knowledge transfer, its enhancement, test execution time, test execution result interpretation, the infrastructure/environment in which the tests will run, and so on. Let’s discuss them and see how adopting open source frameworks can help in reducing test automation costs:
1. Setup Cost
If we go for a commercial tool for our Test Automation initiative, then there will be some license fee and subscription charge to start with. The subscription charge may be based on the number of users who will be using that product and for a defined timeframe (monthly/yearly). On the other hand, an Open Source Test Automation framework, which can consist of and provide the functionalities of popular open-source libraries like WebDriver, Appium, RestAssured, etc. out-of-the-box will not require any such charges (license/subscription). Even if the number of users who will be using the framework increases in the future, it will not have a direct correlation to the cost associated with the framework setup. The setup cost will be one-time unless there is a significant change required and a need arises to rewrite the majority of the core part of the framework.
2. Maintenance Cost
Most of the Test Automation Engineers around the world are already working or have worked on most of the open-source technologies which make up the Open Source Test Automation frameworks. So if your team comprises skilled Test Automation Engineers, then the cost of maintaining the framework, can significantly go down compared to any commercial tool. Maintenance means to ensure that the framework continues to be relevant to the testing of the product-under-test and can provide value by revealing problems.
Suppose, there is an issue in the framework itself. Then the resolution time can turn out to be quite less since, for open source technologies, the test automation engineers in the team can themselves solve the issue as they are already skilled in those technologies. If the issue is related to some core part of the framework and they are not able to solve it, then they can directly raise the issue with the maintainers of that framework or it is also possible that the issue might have already been encountered by someone else in some other part of the world and the solution has already been put in some collaboration platform like GitHub, StackOverflow.
3. Training and Knowledge Transfer Cost
For commercial tools, there will always be some associated training and knowledge transfer costs. The tool knowledge has to be cascaded from the people who are already using the tool or from the tool provider to the people who will be the users of that tool. Since there will be limited learning resources available in the public domain, the engineers in the team would need some time to get themselves accustomed and become proficient in that tool/framework. For Open source frameworks, this will not be the case since all or most of the required learning resources will be publicly available which means that learning and becoming proficient in them will be much easier.
4. Execution Result Interpretation Cost
Whenever tests are run using a Test Automation tool or framework (be it open source or commercial), execution results get generated. The results can be in the form of simple stack traces, useful reports (HTML/PDF/JSON), logs, charts, and visualizations. Probably one of the most important aspects of Test Automation is the execution outcome in the form of generated results. A good clear detailed report/log can help the engineers quickly interpret and investigate the execution outcome which in turn can provide valuable insights on how the product is behaving under certain conditions.
In open-source frameworks, we can customize and tailor those generated execution results according to our needs, without spending any extra bucks to get those customized for us. Another benefit is that most of the open-source technologies which are created for reporting or monitoring purposes can be easily integrated with the Open Source automation frameworks and most of the time the integration processes (with step-by-step instructions) can be easily found on the net. Some tools also have out-of-the-box automatic test reports.
5. Infrastructure Cost
When we talk about the infrastructure required for a successful Test Automation implementation, we refer to configuring and maintaining the automation setups like the platforms in which the tests will run, the browsers, the environments, the libraries which will help to run the tests, the monitoring and management tools, the evidence-capture and video-recording tools, the version control systems where the automation code will be maintained, the CI servers, etc. Multiple open-source technologies can be leveraged to meet these infrastructural needs like Git, Jenkins, TestProject, Docker, Kubernetes, etc. and most of them are completely free or provide community versions that are free to use.
More and more companies have started to embrace open-source technologies to deliver high-quality products to the market. This adoption is a result of the dedication of thousands of open-source contributors/maintainers and the continuous trust that open-source is providing in terms of control, ease of training/knowledge transfer, stability, and help from a large supportive community in addition to significant cost benefits to the business. Being an open-source enthusiast and seeing the recent trends in Test Automation, it looks clear to me that the popularity and usage index of open-source frameworks will continue to rise in the coming years 🚀