What are testing and TDD
Testing is the process to verify that the software is doing what it is supposed to do, according to the requirements of the project. It involves the manual or automated execution of tools to evaluate and measure different properties and attributes of the software, identify errors and bugs, and provide feedback for developers to take action to correct them. There are many different approaches and types of tests to be performed, such as the following:
- Unit testing: This is where relevant units of the source code are validated against a series of inputs and outputs. It is often automated.
- Integration testing: All the components of a system are verified together as a group, looking for errors and bugs in the resulting integration, communication, and so on.
- End-to-end testing: This involves a complete validation of the application simulating real-world use, interacting with databases, network scenarios, and so on. It can be performed with automated...