
TestING Advisor
2022
ReactMUINestjsPrismaSQLCI/CDScrumTestingKey Learnings
In the development of the TestING Advisor, a collaborative project between International Netherlands Group (ING) and Eindhoven University of Technology (TU/e), I played a pivotal role in setting up and managing the CI/CD pipeline and contributing to the backend. Key learnings from this project include:
-
CI/CD Pipeline Management: Gained extensive experience in setting up and managing a robust CI/CD pipeline for a project with multiple team members, incorporating various tools for static analysis, automatic dependency updating, and code coverage.
-
Documentation Practices: Familiarized myself with official documentation formats such as Acceptance Test, Acceptance Test Plan, and User Requirements Document, contributing to a comprehensive understanding of project requirements.
-
Testing Coverage: Emphasized the importance of maintaining testing coverage above 80%, reinforcing the significance of code quality and correctness.
-
Large Groups Collaboration: Explored the challenges and benefits of implementing Scrum in a large group setting, gaining insights into effective collaboration and project management. This includes doing code reviews and daily scrum meetings to ensure the quality of our work.
Abstract
The TestING Advisor is a collaborative effort between ING and TU/e, leveraging the existing ING Test Maturity Model (iTMM). This tool serves as an assessment platform for teams and individuals to evaluate their software testing capabilities and receive actionable advice for improvement.
Technologies Used
-
Frontend (React): Although I primarily focused on backend development, the frontend was developed using React, incorporating modern web development practices.
-
Backend (Nestjs with Prisma): The backend forms the core of the TestING Advisor, developed using Nestjs for building scalable and maintainable server-side applications. Prisma was used as a library for efficient interactions with the PostgreSQL database.
-
Continuous Integration/Continuous Development (CI/CD):
- Static Analysis (DeepScan): Ensures code quality through static analysis for JavaScript.
- Automatic Dependency Updating (Renovate): Streamlines the process of keeping dependencies up-to-date.
- Code Coverage (Codecov, GitHub Actions): Monitors and ensures code coverage across the project.
Project Management and Collaboration
The project fostered an environment for extensive collaboration, emphasizing Scrum methodologies in a large group setting. As the member with the most experience in the frameworks used, I actively contributed to code reviews for the frontend and played a key role in the backend development.
This project not only enhanced my technical skills but also provided valuable insights into project management, collaborative software development, and the intricacies of maintaining a robust CI/CD pipeline in a team-oriented environment.