With this method, the testing is done in a hierarchical order. Here, all the components of the system are checked individually and thoroughly to ensure the quality of the complete code. This testing process is not as popular as horizontal end-to-end testing, as it is mostly only used for complex computing program testing.