プログラムの試験で加速試験ってあるのをご存じですか?
たとえば、ユーザーからのアクセスが10秒に1回で設計するプログラムがあった場合に
1秒間に100回ぐらいの厳しい条件で動かして、試験を行うもの。
こうすることによって、不具合が出やすくなる。
こういう不具合には2種類あって
1つは単純に負荷が高すぎで動けなかったもの。
こういう場合は、本番では高負荷時にはエラーを返すなどのビジー処理を入れることで、品質を保つことができる。
もう1つは、単純に普段は出にくいが低確率で出るタイミング系のトラブルが出やすくなる。
1万回に1回しか出ないようなレアバグを、要求基準通り10秒に1回で試験すると、デバッグで洗い出すのに、10万秒=1日かかってしまうが、1秒に100回なら100秒=2分で見つけられる。要するにバグのあぶり出し
こうやって、普段よりも高い基準で試験することで、レアなバグを見つけ出して、直すことができる。これでも、レアなバグがなくなるわけじゃないけど、普通に10秒に1回の利用では、基本的には出なくなる。
基本的な試験の技法です。