In my previous post, I was talking about testing in general and understanding the difference between test position descriptions. Now, it’s time to learn a bit more about the levels of testing. I hope all of these topics I write about in these articles will help you to become better at your job, and assist you in finding the most appropriate specialist.
If you have been searching for Test Engineers you have probably noticed the information below displayed on their profiles:
- Integration testing between different systems and components.
- Integration and testing of DTS server:
- Reviewing, managing and raising defects identified during UAT.
- Provide User Acceptance Templates and examples; as needed.
- Business applications testing – UAT (User Acceptance Testing), INT (integration tests), ST (system tests).
Let`s focus on the keywords below:
- Acceptance or UAT
The words establish for us some different levels of testing. What does it mean to you? Could you consider from this the kind of project a specialist would be interested in?
4 Levels of Testing
Let us take a closer look. We have different levels, so in simple terms, each level becomes more advanced than the preceding one.
The lowest level is where individual units/functions are tested. ATTENTION! Software engineers, NOT testers, perform this! So be careful if you are looking for a specialist for unit tests. At this level software engineers just check a single function in the code.
At this level, test engineers combine single units and tests as a group.
We have an online shop. Imagine, you have logged in to the website, found products of interest and wanted to put all your items into the checkout basket. But there was something wrong. You couldn`t do this operation. In this scenario, the test engineers have to check what is wrong. They have to review everything between the website and the database and ensure there are no faults.
As the title suggests, at this level the test engineer checks all of the systems. We are not interested in a single unit or how two groups of units are compatible but we want to know that all systems work from the perspective of the end-user (or customer, in this case).
During this stage, test engineers try to induce defects purposely, to verify all possible options and reactions of the system.
This is necessary to be sure that the product meets the client’s requirements.
ACCEPTANCE TESTING (UAT)
The last step! Here we make the final test of the system before we deliver it to the client.
The main goal = give confidence to the client.
If all of the information above is too complicated to understand (I hope it is not that difficult) I will give you an example:
Imagine… a car:
Unit testing – we check every single car`s elements. We want to ensure that every button works, windows go up and down, the drivers’ seat goes forward and back, wipers move, can we put fuel in the tank? Is the tire made of rubber and so on.
Integration testing – we are interested in how single elements cooperate with each other. For example we are interested that if we turn the key, will the engine start or if we slow down, will the ABS system work and so on.
System testing – we check how the car drives. If there is something wrong we have to fix all the problems. Everything should work perfectly.
Acceptance testing – we perform the final driving test before we deliver our car to the client.
That is all for levels of testing. In the next part, I will explain the types of testing that IT recruiters need to know.