Circuit “bug” testing is fixing problems like bug fixing in programs or software, just with hardware instead. It can be an arduous process and is often harder than bug fixing in programs because there is no easy way to isolate a part of the circuit as it is with code. Then as circuits get more complex it gets harder to find “bugs” and fix them as a circuit is made. Also through no fault of your own the parts themselves can be broken or burnt-out, causing you to go back through the whole circuit again. Usually what most people will do is check periodically to make sure the whole circuit is still working.
The problem is that often times checking the output is difficult due to how hard it is to test the output to figure out where the problem went wrong. Another way however is to build the circuit components separately and then combine them later. In my opinion this is the better way because by building in separate parts you can figure out which part is the problem. It is much easier to look at small parts of a whole in which the part count is low than looking at a circuit as it is built all in one piece. This is often used in programming but is often overlooked in the process of building circuits when the two have similar qualities. So this concept is not unique to circuit testing but many people end up making the same mistakes by not following this and just checking at the end or as a whole while building.
This makes building in parts and then just putting all the parts together in the end while checking along the way the best way to figure out where errors are in circuits.