はじめまして、村岡尚子といいます。
システムのためのテストとは一般的に開発対象のシステムの品質を上げるための作業をいいます。この品質を上げる目的のために、検証の手順を設計したり、テストデータを作ったり、実際に手順にそって動かして、本当に想定どおり動いているかを確かめたりします。
さて、世の中にはマニュアルを読まないかたがたが一定数おられます。つまり想定された手順以外の操作をおこない、もし品質が悪いシステムならそこで想定外のエラーがおきます。最悪のケースではシステムがフリーズします。
さきほどの「本当に想定どおりに動いているかを確かめたり」というのはちょっとウソがあり、みなさんご存知のように、開発中や開発したばかりのシステムはちゃんと動かないことのほうがおおいです。そのときに動いていないなりに、深刻な状況にならないように早めに想定内のエラーにすることが望まれます。システムがフリーズしないように不正な入力はエラーメッセージを出して拒絶したりするのも一例です。
この早めの想定内のエラーを設計し、正しくない処理をそちらのほうへ誘導することで、さまざまな使いかたをされてもシステムが壊れないようにしようという考えかたがフェイルセーフといいます。