Project summary: this project represents an automated procurement management system, starting with the creation and approval of purchase orders and ending with the execution and control of results. The system is implemented as a standalone web application, it simplifies procurement process management in the company, ensures transparency of costs, reduces time and efforts for maintaining documentation, reduces the influence of the “human factor” when interacting with suppliers, automates and optimizes end-to-end business processes.
The application allows procurement managing at the following stages:
- Planning: creation of purchase orders; development of schedules; inclusion of purchase orders in the schedule.
- Preparation of documents: taking into account technical specifications for procurement; taking into account price justification and preparatory procedures.
- Consideration of purchase orders: registration of applications for participation in tenders; registration of protocols of participants’ applications consideration; registration of protocols of summing up the results of selection of the supplier and the contractor, etc.
- Conclusion of contracts: creation of draft contracts and registration of contracts.
- Execution control: appointment of persons responsible for execution; registration of information on the acceptance of goods and services; registration of acts related to contracts, etc.
- Claims consideration: registration of claims and decisions on claims; registration of refunds related to claims.
- Revisions control: drafting additional agreements to contracts; drafting modifications, additional technical specifications, etc.
Technical description of the project: the system is implemented as an independent web application consisting of two parts – the server-side (backend) implemented through the operation of the web application with Oracle Database and using Apache Tomcat web server and the client-side (frontend) that opens in the user’s browser.
The web service is implemented to interact with related systems that pass through the common integration bus. XML files are used for data exchange. XML has several advantages to provide more cost-effective, flexible, and interactive communication functions. One of the main advantages is that an informative description can be assigned to each piece of information.
The parameters of the application’s interaction with related systems are stored in the system parameters table and include:
- access point URL for interaction by type of document (acts, statements, etc.);
- access point URL for interaction with directories (directories unloading and loading);
- login and password for authorization;
- schedule for sending outgoing messages.
The web service interacts with the database through intermediate exchange tables, which contain information about incoming and outgoing messages, as well as about attached files.
Data from adjacent systems can be received and prepared either on demand or as scheduled.
To receive data “on demand”, the administrator prepares a request to be sent via the web service to an adjacent system. The web service receives data packets and sends a synchronous response via integration bus that the data packet was successfully received. Daily newsletters are sent automatically as scheduled.
Infrastructure: Jira, Confluence, TestLink, SVN.
Other tools: XMLSpy, XmlPad, dbForge Studio for Oracle.
JazzTeam objective was to ensure the quality of the application, namely:
- Test design execution, as a result of which the requirements for the system were studied and optimal sets of checklists and test cases were created for further testing of system performance.
- Conducting functional testing using existing tasks.
- Conducting manual regression testing before release using updated test cases.
- Conducting manual integration testing.
- Reporting the bugs found.
- Testing the application according to the approved plan and test method.
- Regular updating of the checklist and test cases based on the results of the testing.
- Manual validation of a large number of XML files using XSD schemas containing, on average, 200 parameters.
- Manual comparison of XSD schemas of different versions to identify changes.
- Conducting manual integration testing of all procurement formation stages.
- Close interaction with adjacent systems when processing and receiving data.
- Manual testing of the “Contract” entity, which has links with a large number of directories obtained from an adjacent system through the integration bus.
- Testing using existing test cases in TestLink and their parallel transfer to TestRail. Also, expanding existing tests with priorities and required time to pass the test.
- Continuous updating and addition of test scripts in TestRail.
- The schedule was approved according to which all types of tests are carried out (manual functional, manual integration).
- Manual testing of the access rights differentiation system was carried out. This type of testing is defined as a separate stage, since there are about 15 user roles.
- In the course of work more than 200 bugs were identified and reported.
- The existing test cases were updated.
- More than 180 test cases were developed in TestRail.
- The created functional testing checklist contains more than 620 items.
- Test cases for acceptance testing were added to TestRail.
Company’s achievements during the project:
- On our initiative the daily meetings with the technical leader and weekly meetings with the project leader were introduced. This made it possible to effectively coordinate work, eliminate various kinds of misunderstandings among team members, and prevent potential problems.
- We introduced regression testing before each release according to updated test cases in TestRail.
- We coped with all the tasks successfully and on time.