How do you call a situation when the system ensures that every its step was successful? For instance, one of the steps was to generate a file. Yet, target location may be occupied and copy fails. System may forget to check or fail. How do you call a system that ensures that every step has succeeded: secure, robust, reliable, or what?

Now, the lack of robustness often allows for extreemly useful exploits (especially, for good). For instance, the files are generated and used further. But user can interrupt the process, modify the files for his purposes and restart the system. He protects the files with read-only option so that restarted system did not regenerate them. This exploit happens to be very useful when systems are not robust enough to check the effect of file generation. I find that a robust system, which spends a lot of resources to struggle the misbehavior, is much less useful.

How do you call such dilemma?

  • It's hard to understand what you are asking for here. You are looking for a term which describes such a system? – Joe Strazzere May 23 '13 at 11:29
  • Yes, I believe that such phenomenon must be known – Val May 23 '13 at 13:47
  • I believe what he's asking is "Is there a canonical term for the decision of weighing assertive logic that fails quickly versus relaxed logic that trusts the user to work it all out in the end?" It may not be appropriate for our site though, as this isn't so much a testing question as a general programming question. I'll ping the guys in Programmers and see if they want it. – corsiKa Jun 26 '13 at 14:52

How about fast failing vs fault tolerant?

A fast failing system will frequently check for failures and fail when encountering them.

A fault tolerant system will experience them but continue to operate with a possible degradation in performance. Struggline with misbehaviors as you've described it.



Not the answer you're looking for? Browse other questions tagged or ask your own question.