関数の入力範囲

C 言語に限りませんが、関数の実装で、引数の入力がいくらまでなら正しい出力をするか、というのはごく基本的な設計です。最近、ミッションクリティカル製品に使われる可能性のある実装でありながら、この辺に全く疎い設計を見て、ちょっとびっくりしました。境界条件の試験をするだけでなく、論理的にどのような値を受け付けたときに正しい動作をしなくなる可能性があるか、最低限の思考実験(検証)は必要なのではないでしょうか? こういうことは、学校では習わないので、新人に期待するのは無理なのでしょうか?