What is Quality Assurance

From A Technological Wiki
Revision as of 11:21, 19 April 2025 by imported>Unknown user
Jump to navigation Jump to search

The software of the product we are developing must tend to excellence, due to its the fundamental part of our project. Due to that, we must ensure that we assure a serial of quality standards. If we do not take it into account, would be the same as having a supermarket but don't bother about the building or supplies, just care about the products that we sell.

Quality types

functional

Ensure that the software accomplish the minimum requisites for allowing the client use the application properly. This is: meet business specifications, minimize bugs, have a proper performance and make it easy to use.

structural

Ensure that we have a proper code an coding rules. Code must be testable, maintainable, legible, efficient, scalable, etc

procedural

Takes into account delivery times, budget or flow changes.

regulatory

Meet with specifications, such LOPD, GDPR or ISO 27001.

Ensuring QA

For having both functional and structural quality we must have:

  • Unit and Smoke tests have to be run locally, they can be configured with git hooks.
  • Before committing, current development code must be up-to-date with main code.
  • Testing
  • Code analyzers: they are tools that allow us in an easy way having the control of the source code of our application. These tools can be:
    • active: they are the ones that we must execute manually for doing code checking, such errors in the code, regulated styling issues and some other advanced metrics, such technical debt, tests coverage, cognitive and cyclomatic complexities
    • passive: they check automatically in the IDE inconsistencies of errors and style in the current file.