Understanding the importance of writing tests
When developing software, the code we write can be put in the browser, run as a desktop program, or started as a Node.js script. In all these cases, we expect specific results. Every line of code has some significance, and we need to know whether the final product will do the job. Normally, we debug our applications, that is, we write part of the program and run it. By monitoring the output or its behavior, we assess whether everything is okay or whether there is a problem. However, this approach is time-consuming, especially if the project is big. Iterations through every single feature of the application costs a lot of time and money. Automated testing helps in such cases. From an architectural viewpoint, testing is very important. That's because when the system is complex and we have numerous relationships between the modules, it is difficult to add new features or introduce major changes.
We can't really guarantee that everything will work...