Provided services
Test Automation Services, Manual Testing Services, IT Consulting, CI/CD Implementation & Modernization. DevOps Services
Client
Rightstep is a consulting and IT company that focuses exclusively on solving problems in planning and managing production and supply. The company has over 20 years’ experience and extensive knowledge of both manufacturing and information technology. It has successful experience in the installation and system implementation in numerous industrial plants.
Product
A fast-growing ERP system for accounting and cost planning at large manufacturing enterprises in the field of mechanical engineering.
The SPM (“Lean Supply Chain Management ERP”) of Rightstep is a web application designed to manage the production and logistics chains (internal and external) of industrial enterprises. It supports both Western and Eastern industrial models, including distributed production and cooperative interaction. Allows to build PS (Production Systems) based on concepts: MRP-II (structure of plans and objects), SCM (planning methods, optimization and chain management), Lean (pulling, kanban, visualization), TOC (planning and prioritization), APS (synchronized optimized planning of the production and logistic chain), monitoring through the “proportionality chart”), etc.
The SPM includes the specifics of modern aerospace industries (long cycles, cooperation), production of special vehicles (configuration), complex instrumentation (multi-item and multiple-production), shipbuilding (long cycles, parallel design-production-assembly, a huge number of components), machine tool industry and industrial equipment production. It is also confidently implemented and applied in relatively small (tens/hundreds of people) growing enterprises, allowing evolutionary development without changing the platform.
Challenge
The functionality of the IT solution constantly changes, but the client does not have enough resources for testing. The quality assurance process is not established; the project does not have the necessary specialists. Bugs are fixed only in the product lifecycle late stage as part of acceptance testing. It is too expensive for the customer and can negatively affect their reputation. The team is unable to independently ensure the high quality of the system by the date of delivery to the end customer.
The client wanted us to be involved in setting up and configuring testing, formalizing processes and proposals and implementing a testing culture. They also wanted us to share knowledge and adopt best practices in test automation. This was key to the quality and success of the product development process.
They required a detailed phased plan with timelines for each phase before we could start the project. We had the plan approved and started the transformation process.
Project Context
Before our team started the project, the client did not have a structured system testing process. This meant that the quality assurance process for the developed product was not organized or systematized.
Solution
We began transformations with the development of a detailed automated testing plan for the system and its subsequent implementation on the project. The plan involved the creation and implementation of over 60 integration tests and 158 smoke and regression tests. Such an approach to testing provided reliability of the product’s functionality and pointed to problems that were promptly solved.
On the client side, we implemented a Continuous Integration (CI) system to automate the process of code integration and testing. The activity included the setup of Jenkins and TestLink servers and development of a custom plugin to seamlessly integrate test results from Jenkins into TestLink. This has streamlined testing workflow and enabled us to identify and fix defects quickly, minimizing project risk.
Further, we worked out and applied the scheme of the job interaction order on Jenkins. During the project, automated tests were continuously refactored and analyzed in order to ensure that they were relevant and reliable. Automated test templates were developed so as to facilitate testing in the future.
Apart from the technical advances we also focused on the project organization and documentation. We used TestLink to organize the testing process. We also documented the testing process, created various important documents including checklists and test cases for manual testing, delivery (release) instructions, test case design requirements, release delivery responsibility checklist and step by step system testing algorithm. These documents helped in clear communication and coordination within the team and turned out to be very useful for maintaining quality and consistency throughout the project lifecycle.
Technological Overview
Managed through a user-friendly interface system provides functionality at different stages of user’s work:
- Reference data management (RDM) systems allow user to manage and import data for various aspects of user’s operations, including: data about products, parts, materials; about technological routes, providing design and technological services, logistic services, etc. with automated workstations.
- Planning and management of production and supply:
- Release management (long-term planning);
- Modeling of complex distributed production and inter-factory cooperation;
- Synchronized planning of development – production – supply – cooperation;
- Provision logistic services, inter-factory cooperation in production and supply;
- Operational planning and production management.
- Monitoring, KPI:
- On-line monitoring of production/supply throughout the chain. In the context of the order/contract/supplier/cooperator/workshop/section.
- From detailed (for a master) to consolidated (for a director), with the option of “drill-down” to details and operations.
- Monitoring of the overall synchronization of work of plants/supply chain, visualization of economy and work efficiency in terms of synchronism and timeliness of plans implementation.
- The reporting function enables users to collect and upload various types of information in formats like XLSX, providing valuable information to specialists and management.
- Openness and usability of common external reporting and business intelligence tools.
- The system supports a role-based access control model that allows user to flexibly manage access to different functions and data levels.
The System is a web application which consists of two parts:
- HTTP server services implemented in REST style using Scala.
- Frontend implemented using Vue.js.
When working with the System end users do not need to install any additional software, since the SPM works in web browsers.
Users interact with data presented both in tabular form and in the form of interactive infographics (diagrams). During this interaction, CRUD operations can be performed, as a result of which requests are generated and are sent as HTTP requests to the Backend.
Further, on the Backend side the analysis of data correctness and saving to the database is performed. A response with data, in a universal for application format, returns to the Frontend, which is converted to display interface forms on the user’s side (in Frontend).
When working, different parts of the application can be physically in different places, because Frontend is lightweight and can work on almost any configuration. Backend, on the contrary, is very demanding on resources, because all the business functions are performed on it.
Validation check of the data is carried out both on the Frontend side: the correctness of entered data, verification of mathematical operations, etc., and on the Backend side: the correctness of received data, calculations of the values of the business function, etc.
When starting the system in a new environment, it is possible to primarily initialize data, as well as restore data integrity in case of errors.
In view of the foregoing, the SPM developers have very high demands on the performance of both mathematical algorithms and interfaces: the volumes of calculated structures in real projects reach tens of millions of units in each object (complex products produced by enterprises at different time horizons, taking into account all operations and movements, as well as optimization algorithms to ensure resolution of “conflicts” in competition for resources).
Testimonial
Together with JazzTeam engineers, we set up manual and automated testing processes in the project of developing of a new version of our information system for planning and monitoring of production and supply (SPM).
We started from scratch, largely based on experience and competence of JazzTeam crew.
During work, JazzTeam guys were readily immersing into the subject area, without understanding of which a high-quality solution of problems would be impossible, were sharing their knowledge and experience. Involvement in the project and interest in the result made it possible to build work with colleagues not as a “Customer – Contractor”, but as a united project team.
I would like to note the high professional level of the team as a whole, both in technical fields and in common culture of project work conducting and communication.
Result
In a short period of time, our team conducted an audit of the SPM system. We instilled a culture on the project where the testing process became a mandatory part of each sprint and the development process as a whole. We then created a detailed plan for the implementation and automation of testing procedures with regard to the needs of the project. The system has undergone intensive testing by our team, both manual and automated, for stability and reliability. To improve testing efficiency, we designed and implemented a workflow for automated testing of new functionality and re-testing of fixed bugs. We created a series of documentation for the client’s team (manuals, release preparation instructions) to facilitate transparent communication and knowledge transfer.
Screenshots
Technologies
Databases: PostgreSQL.
Frontend: Vue.js, JavaScript, Mocha, Axios, Moment, Chai, Faker.js, log4js.
Backend: Java SE 8, Scala, Node.js, Selenium-Js.
Test Automation: Cucumber, Selenium WebDriver.
CI/CD and DevOps: Jenkins, Git.
Languages, Protocols, APIs, Network Tools: Java SE 8, Scala, Node.js, REST, Http.
Software Engineering and Management Tools: TestLink, Redmine, Confluence, IntelliJ IDEA.
Other Technologies: Chai, Faker.js, log4js.