Finaps Quality Assurance
An expert analysis of your code in 2-3 weeks
Software Quality Assurance (SQA) is crucial because it ensures that software products meet specified requirements and are reliable, functional, and user-friendly. High-quality software boosts user satisfaction, reduces maintenance costs, and minimizes the risk of security vulnerabilities. By systematically identifying and addressing defects early in the development process, SQA helps deliver robust and efficient software, establishing trust and confidence among users and stakeholders.
Performing Software Quality Assurance (SQA) on an existing platform can be quite complex due to various factors such as Legacy Code; Incomplete Documentation; Integration Issues; Technical Debt; Test Coverage; Security Risks; Performance Issues; User Impact; and Heterogeneous Environments. Addressing these challenges requires a detailed approach, including thorough code analysis, comprehensive test planning, and potentially redesigning parts of the software to improve maintainability and testability.
To help you with this, Finaps offers an expert analysis of your code in 2-3 weeks. Our Engineers will focus on key quality topics and use a range of manual and (semi-)automatic analysis techniques to determine code quality.
Each of the individual topics will be graded between 1-10. Combined with observations and recommendations, the results are put in a report. The overall score (average of the topics) will be used in an anonymized benchmark. This shows you how you score against the average of all the projects Finaps has evaluated, including the solutions build by Finaps.
The quality attributes we focus on are:
Architecture: clearly defined use of patterns (system and application level) that are applied consistently.
Setup & observability: CI/CD pipelines, infrastructure-as-code, static code analysis, testing, observability tools.
Documentation: is the architectural documentation of good quality and up-to-date (e.g. usage of multiple C4 diagrams), is code commented sufficiently? Are tests defined in a way that they can be used as documentation as well?
Security: how is authentication and authorization implemented? What is the implemented permission structure and is this well documented & tested?
Stability & maintainability: how good is the code able to handle changes without breaking? We look at internal decoupling, dependency graphs and the existing of tests to help avoid breaking changes.