The bugs are always the unwanted thing for every developer. The bugs are really unavoidable, be it a big application or a small application the quantity of bugs varies from small to large. Whenever an application is built, it goes initially through a tester before actually implementing it. The tester uses various test methodologies, to find out the bugs. Various methods can be used to track the bugs. After tracking the bugs, next one needs to prioritize the bugs which should be squashed first.
Once the bugs are prioritized, the tester aging does testing to check whether the bugs are squashed. The tester uses several methods for tracking the bugs. Some of the types of testing are unit testing, functional testing, conformance testing, compatibility testing, performance testing, stress testing and many more testing techniques are used. This is the general flow of tracking and squashing the bugs. You can see more specific and a little more detail regarding this in the attached file.