Functional testing focuses on the business needs of your application.
They only validate the output of the operation and do not check the intermediate state of the system when the operation is performed.
Sometimes there is confusion between integration tests and functional tests, as both require multiple components to interact with each other.
The difference is that integration tests can only verify that you can query the database, whereas functional tests want to get specific values defined by the database product requirements.
Smoke Testing, also known as “Build Verification Testing”,
is a type of software testing that comprises of a non-exhaustive set of tests that aim at ensuring that the most important functions work.
Performance tests check the behavior of the system when the system is under heavy load. These tests do not work and can take many ways to understand the reliability, stability, and availability of the platform.
An acceptance test is a formal test performed to verify that the system meets business requirements.
They require the entire application to be up and running and focus on replicating user behavior.
but they can also measure the performance of the system more and refuse to reform if certain objectives are not met.
It is defined as a software test that ensures that software systems and applications are protected against any vulnerabilities, threats, and risks that may cause significant losses.
possible gaps in any system and deficiencies in the system that could lead to loss of information, income, the reputation of employees or persons outside the organization
A note about Testing
It is important to complete this guide and talk about the objectives of the tests.
You need to predict what happens when the user makes typos, tries to save incomplete forms, or uses the wrong API.
A good test suite should try to break your application and help understand its limitations.
Finally, tests are also coded! So don’t forget them during code review, as they can be the last production door.