Provided services
Product Development, Backend Development, Custom Software Development, Frontend Development, Test Automation Services, Manual Testing Services, IT Consulting, Project Management, CI/CD Implementation & Modernization. DevOps Services, Early-Stage Innovation, R&D Services, Software Reengineering, Refactoring and Modernization. Cloud Migration, Software Integration Services, Software Maintenance and Support Services
Client
Our client is a large telecom solutions provider with his ecosystem developed for any needs of end customers. European market leader for Telecom Management Technology.
Product
The XML2Selenium product is an extensible, plugin-based platform for creating and managing automated tests utilizing Java technology. XML2Selenium features integration with JUnit and operates on top of Selenium. It enables the creation of automated tests in a format that is simple and understandable even to QA engineers without programming skills. XML2Selenium also allows for the management of all stages of working with automated tests, from creation to test management. It addresses all key issues of test automation and offers an elegant and straightforward solution—using XML as the test scripting language. XML2Selenium is integrated with Maven, Jenkins, JUnit, Selenium, and BrowserStack.
Challenge
One of the key objectives of our project was to develop a SaaS version of the XML2Selenium framework, enabling clients to save resources and time by avoiding the need for manual configuration of the working environment. This sparked special interest among both existing and potential clients keen on maximizing the efficiency of the framework’s use without incurring additional costs for a full enterprise license. The challenge was to provide a comprehensive SaaS solution while minimizing development costs and ensuring quick user access to the product.
Given the limited budget, the main challenge lay in developing a simple yet functional SaaS solution without turning it into a lengthy project of creating a complex system with an extensive web interface.
Solution
To implement our SaaS solution, we made a strategic decision to utilize open-source components, which significantly reduced our development costs. We chose Jenkins as the basis for our user interface due to its flexibility and extensive customization options. This allowed us to adapt Jenkins in such a way that it effectively served as the central element of our SaaS solution’s user interface.
A key part of the solution was creating a system for managing remote servers with Jenkins and XML2Selenium pre-installed and configured, simplifying the initial setup process for our users. We automated the process of adding an XML2Selenium test project to the repository, ensuring a smooth start with a demo project and speeding up the customer integration process with our service.
To enhance the capabilities of our SaaS solution and improve usability, we integrated with a licensing service and Infobox Cloud. This integration allowed us to offer more flexible and attractive terms of use for XML2Selenium to our clients and simplified resource management through the cloud platform.
Additionally, we developed a server template configuration with Jenkins pre-installed for the Infobox Cloud system, which significantly simplified the process of deploying new servers. The use of SVN API for programmatic interaction with the repository enabled us to automate updates and management of test projects, further increasing the efficiency of our SaaS solution.
The user dashboard we developed provides an intuitive interface for server management, viewing statistics and logs, and the ability to disconnect or delete servers. Users also have the option to download the product for local use, adding flexibility to the approach to working with our solution.
Result
Thus, through the use of open-source components, close integration with external services and the cloud, as well as the development of a user-friendly interface, we managed to provide a comprehensive SaaS solution that minimizes development costs and offers quick access to the product, while still meeting our client’s high demands for convenience and functionality.
This approach allowed us not only to significantly reduce development expenses but also to ensure the rapid creation of a demo version of the product for the customer, which in turn accelerated the implementation of initial tasks and confirmed our ability to effectively address the challenges we face. Thus, we demonstrated that even with a limited budget, it is possible to create a high-quality and efficient SaaS solution that meets customer needs and saves their time and resources.
Technologies
Databases: MySql
Frontend: Angular JS, Bootstrap
Backend: Spring MVC, Hibernate, Quartz, Infobox Cloud
CI/CD and DevOps: Jenkins, Nexus
Languages, Protocols, APIs, Network Tools: Java
Software Engineering and Management Tools: SVN