Validation Test
- The software is mounted as a package and the validation of it is performed through a series of tests black box
- purpose:
- demonstrate compliance with functional and performance requirements
- check that the documentation is correct
- two possibilities:
- accepted
- not entirely in accordance with the requirements: negotiate with the user
- includes the Acceptance Test: performed by the user himself
- in the case of software developed for multiple users:
- alpha test: carried out by the user in the developer environment
- beta test: carried out by the user in his own environment
System test
- considers the software within its wider environment (all aspects of interaction 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 perform their functions correctly
- safety test: aims to verify that all protection mechanisms really protect software from improper access.
- stress test: aims to confront the programs with abnormal situations of frequency, volume or resources in quantity.
- performance test: aims to test the system’s response time and is generally applied to real-time systems
Unitary Test
- focuses on the module
- uses the structural testing technique
- can be performed in parallel for several modules
- aspects considered
Generally, a program is not a single module, but formed of several modules that for the purpose of unit testing should be tested separately
Integration test
- the structure of the program is constructed in a systematic way, performing at the same time tests to detect interface errors
- Although modules, after unit testing, work properly in isolation, integration testing is necessary as when put together various unexpected situations can happen
Source: Summary of Software Engineering Class.
How to do them will depend on various variables, such as, type of technology, project control environment, approval team, technical training, among other factors.
I researched a little more on and found some data to help complement: System test tests the technical requirements and the system specification. The acceptance, in turn, as you well mentioned, validates the system according to the end user’s need.
– Hamurabi Araujo
I work in a company that the process is well defined, but I can not pass the details nor the order, but it makes a difference to make the 2 beyond the integration test, which I think is very important, if you want I can complement the answer on the integration test...
– David
If you were not to abuse your good will, it would be interesting. It would quite complement the subject.
– Hamurabi Araujo
I added integration test and unit test ;)
– David