В инженерии краевой случай (или патологический случай ) подразумевает проблему или ситуацию, которая возникает только за пределами нормальных рабочих параметров , в частности, такую, которая проявляется, когда несколько переменных или условий окружающей среды одновременно находятся на экстремальных уровнях, даже если каждый параметр находится в пределах указанного для этого параметра диапазона.
Например, громкоговоритель может искажать звук, но только при воспроизведении на максимальной громкости, максимальных басах и в среде с высокой влажностью . Или компьютерный сервер может быть ненадежным, но только с максимальным набором из 64 процессоров , 512 ГБ памяти и 10 000 зарегистрированных пользователей . Исследование угловых случаев имеет чрезвычайно важное значение, поскольку может предоставить инженерам ценную информацию о том, как можно смягчить эффекты угловых случаев. В случае отказа автомобильного радара исследование угловых случаев может, возможно, подсказать инженерам и следователям, что могло произойти. [1]
Крайние случаи являются частью лексикона инженера — особенно инженера, занимающегося тестированием или отладкой сложной системы. Крайние случаи часто сложнее и дороже воспроизводить, тестировать и оптимизировать, поскольку они требуют максимальных конфигураций в нескольких измерениях. Они часто менее проверены, учитывая убеждение, что немногие пользователи продукта будут на практике испытывать продукт при нескольких одновременных максимальных настройках. Поэтому опытные пользователи систем регулярно находят аномалии краевых случаев, а во многих из них — ошибки.
Термин «краевой случай» появился по физической аналогии с «краевым случаем» как расширение метафоры « оболочки полета » на набор условий тестирования, границы которых определяются 2 n комбинациями экстремальных (минимальных и максимальных) значений для числа n тестируемых переменных, т. е . общим пространством параметров для этих переменных. В то время как краевой случай подразумевает подталкивание одной переменной к минимуму или максимуму, помещая пользователей на «границу» конфигурационного пространства , краевой случай подразумевает выполнение этого с несколькими переменными, что помещает пользователей в «угол» многомерного конфигурационного пространства.