Let’s Talk about Test Levels
Hello everyone. I decided to write the blogs that I will write from today in English. I think that this way I can reach many people. In this article, I want to talk about test levels. If your tea and coffee is ready, we can start. :)

Test levels cover all levels from the beginning of the product or project to the end user. We will review these test levels one by one. In this article, we will be talking about these test levels by building a car with you. If we’re ready, let’s start

Unit Testing
Let’s think this way. There are multiple parts and components of a system, a product, a car. We want to make sure that each of these components is working before they are individually combined. Here, the functionality of the modules, parts and components that make up the software is tested independently.
Unit testing looks for errors in modules, classes, and objects that can be tested individually and verifies their operation. Finding errors in this step will enable us to take an early step in the software process and find an early solution, thus preventing any future errors and reducing our costs.
Requirements, detailed design and code are covered when performing unit testing. In this way, a healthy component is revealed before proceeding to the next step.
Integration Testing
We continue to build our car. During the unit testing phase, we tested each part separately according to their functionality, and now we are starting to add these parts one by one. We want to make sure that each newly added component works in harmony with other components.
We test the compatibility of the components we added in two different steps with each other and with the system.
1- Component Integration: It tests the interaction between the components of the software. It is done after component testing. That is, it tests the interaction and operation of each unit among themselves.
2- System Integration: It tests the interaction between different systems, software and hardware. It is done by the test engineer after the system test. At this point, the operation and compatibility of the components with the system after the integration is taken into consideration.
Functional and non-functional tests are run. In integration testing, testers focus only on integration. For example, in the integration of A and B, it only focuses on the communication between them.
System Testing
At this level, we now have to try out as many scenarios as possible on my product. The focus is on the behavior of the entire system/software. The test environment should be as close to the live environment as possible to minimize the risk of error.
At this point, we focus on requirements, business processes, use cases, defined models, and interaction with the operating system. We question the quality of the functional/non-functional requirements of the system. We can start with the Black Box technique and then apply the White Box techniques. (White Box/Black Box Testing for those wondering)
Acceptance Testing
When we reach this level, the user starts to test the system himself. In other words, he will now start using the car we built himself. The aim is to build confidence in the functional and non-functional requirements of the system. Rather than finding bugs, it is deciding whether the system is ready to go live.
Responsibility now rests with the user. User requirements, system requirements, risk analyzes are used. At the same time, user acceptance tests, operational acceptance tests, alpha/beta tests are carried out and the system is ready to go live.
I hope it was a useful writing. On a small note, each test type can be administered at any test level. I wish you a good day and good reading.. :)
Kind Regards..