- Nodejs
- Express
- Prisma
- Typescript
- Zod
- SOLID Principles
- Testing With Jest + Supertest
Software testing is a way to assess application quality and reduce the risk of failure in operation. Test Driven Development (TDD) is a process used before or during the development of new software. Its objective is to carry out a cycle of repetitions, while the developer writes automated tests to validate requirements, implement new functionalities, among other objectives.
There are 3 types of tests most used
- Unitary tests.
- Integration tests.
- End-to-End Testing (E2E)
Unit testing consists of verifying the behavior of the smallest units in your application.
Integrations Tests - how one or more components or features behave together. E2E - It simulates what a user will do in our application on a daily basis.
There are some expected benefits of test automation like:
- Cost reduction.
- Efficiency in operations.
- Increased productivity.
- Data security.
- Improve functional testing.