Functional software quality tests are the most common (no software should be deployed without at least checking this aspect) and are developed throughout the entire life cycle.
Depending on the time and objectives of each test level, as well as the characteristics of the software, several approaches can be assumed:
- Unit software qualitytests: Focused on checking the functionality of each method or function. In agile methodologies and, in general as good practice, automation is increasingly common.
- Integration software qualitytests: Focused on checking the appropriate response for each interface. It usually requires knowledge of systems architecture (physical or logical).
- System or certification software qualitytests: Focused on checking, from a specialized perspective, the correct response of the application to users. These tests are usually the prelude to the acceptance software quality tests, which requires an adequate degree of completeness and the use of techniques adjusted to the type of delivery (technology, criticality...). Automation is also frequent at this test level.
- Acceptance software qualitytests: Focused on validating, by users, the planned operation. Although they can cover both functional and non-functional sections, users tend to focus precisely on the type of functional test.
- Exploratory software qualitytests vs formal tests: Exploratory tests are applied as a complement to formal tests or in specific circumstances, such as poor documentation, short time, minimum expected maintenance...
A key aspect to consider is the knowledge of the business area – terminology, operational type… - necessary to obtain adequate quality and coverage even in cases where the documentation is insufficient or its quality is limited. MTP’s teams enjoy a high degree of experience in functional software quality assurance tests in several sectors – Banking, Telecom, Utilities, Insurance, Industry, Public Administration... – and have a high command of the various techniques to apply in their design.