Re: I've never used an IDE so I don't know how QA highlights bad code
Instead of testing the overall program as a "black box" to see whether it works, one writes code to test - if necessary - every single line of the code to make sure every line works as it should.
Simple example: Let's say I increment a counter every time an event occurs:-
i := i + 1;
If that counter exceeds the maximum allowed for that value, and i wraps-around then - well, the "black box" may still work, but there is an error in there which might only occur once every 248 days*. How do you test for that? Line-by-line analysis is easy, you ask the question: this line of code I've written, how can it fail?
Sometimes no fault is discernable, the code may go all around the houses, visiting every possible value before spitting out the correct value. Profiling the code will determine whether the counter has been simply incremented, or whether it was (say) decremented right through the entire integer range (with errors swallowed) to rest on the value above what it was last set to. There may never ever be an error, but the program spends a hell of a long time "thinking" before spitting out a result.
* I believe Boeing have a problem that manifests itself after that time period. Ok my explanation may be simplistic, but these kind of glitches are often as a result of something simple that someone has obverlooked.