What is Quality Assurance: Difference between revisions
m Maintenance script moved page UserDocumentation:Knowledge Central/KC IT/Quality Assurance definitions/what is Quality Assurance to What is Quality Assurance: Cleaned title and categorized |
Added category Quality Assurance definitions |
||
| Line 33: | Line 33: | ||
<!-- From bodyContent 1542810.mraw --> | <!-- From bodyContent 1542810.mraw --> | ||
[[Category:Quality Assurance definitions]] | |||
Revision as of 18:51, 19 October 2025
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.