2. What is Testing?
Software Testing is an investigation used to provide
stakeholders about the quality of the product/service
under test.
3. Why should we automate Tests?
-- It gives us confidence to make changes.
-- They are the guardians of our code.
4. What types can we use?
1. Unit tests
2. Integration tests
3. Acceptance tests
4. Performance tests
5. What is Unit Testing?
A unit test is a test that can verify that all of the code in
exactly one non-trivial class is working correctly. If this test
fails, we know that the problem is located in that class being
tested.
1. Unit tests (They verify the functionality of a single, small "unit" of code).
2. Integration tests (Verify that multiple units work correctly when put together).
3. Acceptance tests (Verify the behavior of the product from the perspective of the customer).
4. Performance tests (Verify the stability and responsiveness of a system in the face of heavy load and failures.)
It should be the first line of defense
They should have no external dependencies
They should not have side effects ( no reading or writing to disk, no network calls,
no database calls and no access to global state).