Automated Testing of a Web ERP Application
Summary
INNERLUXES collaborates with a Finnish company on a comprehensive online ERP system that handles work logs and entry approvals, user and customer management, holiday and absence monitoring, reporting, and integration of reports with accounting systems for easy remuneration calculations. The ERP system is deployed in the Amazon environment. INNERLUXES focuses on bug fixing, new feature implementation, stabilization, and test automation.
About the Client
The Client is a Finnish company building a comprehensive online ERP system, distributed as SaaS to multiple end users on subscription.
The Challenge
The system is distributed as an online SaaS to multiple end users on subscription, so it must be flexible and scalable to meet the needs of businesses across different industries. Response time and stability are crucial for the web application. To achieve this, INNERLUXES used automated regression testing for the system and implemented a continuous integration model.
The Solution
A team of three INNERLUXES specialists — one Senior QA Engineer as Team Lead and two Test Automation Engineers — cooperated with the Client's developers using the web-based repository hosting service GitHub.
Due to a lack of system specifications, test cases for each feature and function were written from scratch in Java, then reviewed and deployed on the open-source continuous integration server Jenkins (CI), which was highly customized for the project's needs. Selenium WebDriver was the main tool used to create browser-based automated regression tests and to configure and distribute scripts across many environments.
The Results
- Four months after the project kickoff, over one-third of the system's 500 functions were covered with thorough test cases written in Java.
- New test cases are continuously added to the testing server and run automatically — triggered by predefined system events or on demand.
- The implemented solution makes the system reliable and allows for the addition and testing of new features, with operations running smoothly.
Technologies and Tools
Test automation and continuous integration: Selenium WebDriver, GitHub, Jenkins CI, Java.
Other technologies used in the project: PHP, AngularJS, Symfony 2, Apache Cordova, MySQL database, Bootstrap.js, Underscore.js, Hammer.js, jQuery, Grunt, Bower, fastClick.js.