Automated Testing of a Web ERP Application
ScienceSoft is currently collaborating with a Finnish Customer in developing a comprehensive online ERP system. It performs such functions as work log and entry approvals, user and customer management, holiday and absence monitoring, reporting and integration of the reports with the accounting systems for easy remuneration calculations. The ERP system itself is deployed in the Amazon environment.
ScienceSoft focus within this project is on bug fixing, new feature implementation, stabilization and test automation. The system is distributed as an online SaaS to multiple end-users on subscription, so it has to be flexible and scalable to meet the needs of businesses from different industries. Also the response time and stability are crucial for this web application. To ensure all these features ScienceSoft team use automated regression testing for the system and implement the continuous integration model.
The team of 3 ScienceSoft specialists (1 Senior QA Engineer as Team Lead and 2 Test Automation Engineers) have been cooperating with the Customer’s developers using a web-based repository hosting service GitHub.
Due to the lack of system specifications, test cases for each feature and function are written from scratch on Java, then they are reviewed and deployed on the open-source continuous integration server Jenkins (CI) which has been highly customized for the project needs.
Selenium WebDriver is the main tool to create browser-based automated regression tests and to configure and distribute scripts across many environments.
Currently, 4 months after the project kickoff, over one third of 500 system functions have been covered with thorough test cases written on Java. New test cases are continuously being added to the testing server and run either automatically or triggered by the pre-defined system events or on demand. The implemented solution makes the system reliable and allows for new features being added and tested with the operations running smoothly.
Technologies and Tools
For test automation and continuous integration: Selenium WebDriver; GitHub; Jenkins CI; Java.
Other technologies used in the project: PHP; AngularJS; Symphony2; Apache Cordova; MySQL database; Bootstrap.js; Underscore.js; Hammer.js; jQuery; Grunt; Bower; fastClick.js.