Validation Test
- The software is mounted as a package and its validation is performed through a series of black box tests
- Purpose:
- demonstrate compliance with functional and performance requirements
- Verify that the documentation is correct
- two possibilities:
- accepted
- does not fully meet the requirements: negotiate with the user
- includes the Acceptance Test: performed by the user himself
- In case of software developed for several users:
- alpha test: performed by the user in the developer environment
- beta test: performed by the user in their own environment
System Test
- Consider the software within your broader environment (all aspects of interacting with it, such as other hardware, software, people, etc.)
- corresponds to a series of tests that aims to verify that all elements of the system have been properly integrated and correctly perform their functions
-
security testing: aims to verify that all protection mechanisms actually protect software from improper access.
-
stress test: aims to confront programs with abnormal situations of frequency, volume or resources in quantity.
-
Performance testing: aims to test the system response time and is usually applied to real-time systems
Unit Testing
- focuses on the module
- uses the structural testing technique
- can be performed in parallel for multiple modules
- aspects considered
Generally, a program is not a single module, but formed of several modules that, for unit testing purposes, must be tested separately
Integration Testing
- In a systematic way, the structure of the program is constructed while performing tests to detect interface errors.
- Although the modules, after the unit test, work properly in isolation, the integration test is necessary because when put together, several unexpected situations can happen
Source: Software Engineering Lesson Summary.
How to do them, will depend on several variables, such as type of technology, project control environment, approval team, technical training, among other factors.