Computers can only follow literal instructions, so it could happen again any time. Plus, you can't necessarily test for all conditions. You assume that a program will be used in a certain way. For example, you may assume that a date will be keyed in, when in fact it may be cut and pasted from time to time. One danger is that it is expensive and it takes a lot of time.
Some companies specialize in setting up the testing.
If you start a test without saving the data first, you could cause something to fail and you could lose some data and put yourself behind if you have to recreate it. If you have limited resources and have created another emergency, you get farther behind. Just test the things that need to be tested. It's got something for everybody. It's a great reference book.