Debugging is one of the most important parts during a software development. As a tradition, engineers name their first product the Alpha version. This is the first version which direct comes from engineers without any testing. Then there is a set of tests the product has to go through in order to make sure it meets all the requirements. In our life, we can always see things in Beta version of a product. This version has usually go through the Alpha phase which indicates that is has met all the requirements. Beta tests gives engineers feedback directly from users. This will provide some ideas on how to improve the program.
For this project, the program does not has a specific alpha or beta program. I have always been testing and fixing the program as it goes. Some major mistakes including index mismatch between database have come up.
When a bug shows up, the first thing I do is to find out where exactly in the program did I make mistake. For example, for the index mismatch, the symptom is that I would delete a different entry than intended. However, there are many places in the coding that could cause this mistake to happen. I would have to go step by step to see what has happened. This requires me to think like an computer so that I can follow its steps.
After locating the mistake, I need to find out how big is it. Sometimes a syntax error could . cause the program to behave very differently, but it doesn’t require much to fix it. Other times may be the opposite. I have to be aware that whatever changes I make, other parts of the program may be affected as well.