Sure, but in this case, the testing failed to detect an error which more rigorous testing would have detected. Like I said- automated testing, trying every possible combination, would have detected the failure discussed in the article.
True, but what else can you do? Modern aircraft are too complex to fly without automation... I'm not a CS-educated programmer- are there systems for programming in a way that can somehow be proven to work for all situations? What paradigm do they use for programming at NASA?