При использовании программного обеспечения APP раньше появлялось следующее сообщение об ошибке. В качестве теста, увидев эту информацию, не могу не копнуть глубже, что тоже весьма интересно.
01
Из приведенного выше сообщения об ошибке вы можете получить как минимум следующую информацию:
Это очень недружелюбное напоминание для людей, не связанных с ИТ, что это, черт возьми?
Местоположение ошибки: по коду ошибки видно, что проблема возникает в базе подключения. Когда данные, соединение JDBC не может быть получено;
Используемый пул потоков: с помощью weblogic.jdbc.extensions.PoolLimitSQLException можно сделать вывод, что используется ресурс пула потоков на сервере WebLogic;
Причины ограничений пула соединений:проходитьаномальныйв информацииno resources currently available in poolappds to allocate to приложения» могут узнать, что в пуле соединений нет доступных ресурсов, которые можно было бы выделить приложению. Это может быть связано с тем, что ресурсы пула соединений полностью заняты или достигнут максимальный предел;
Предложение по решению: Решение, упомянутое в аномальном сообщении, — увеличить размер пула соединений и повторить попытку;
Используйте Spring и WebLogic для разработки приложений. Судя по типу и информации о стеке аномального приложения, для разработки оно использует среду Spring и сервер WebLogic.
Полезна ли приведенная выше информация? Для обычных людей это бесполезно, но для сотрудников службы безопасности проблема может быть немного большой. Посоветовавшись с сотрудниками службы безопасности компании, зная этот сценарий, вы можете продолжить проводить дополнительные тесты и получать полезную информацию. Не осмелюсь спрашивать больше об информации и о том, как она воспроизводится.
02
На самом деле эта проблема заключается в том, что системное исключение не перехватывается или исключение перехватывается, но не обрабатывается и выбрасывается непосредственно во внешний интерфейс. Тогда внешний интерфейс не обрабатывает его и выбрасывает непосредственно на страницу. Аналогичный код выглядит следующим образом:
Правильный метод обработки должен включать перехват исключений, регистрацию информации об ошибках, удобные подсказки пользователю и защиту конфиденциальной информации, как показано на следующем рисунке:
Запишите реальную информацию об ошибке в журнал, а затем выведите более понятную информацию пользователю на основе указанного ERROR_CODE.
В то же время SpringBoot также поддерживает глобальную обработку исключений через @ControllerAdvice+@ExceptionHandler, чтобы избежать дублирования кода.
03
Для студентов, сдающих тест, вы можете учитывать следующие аспекты:
Граничный тест: варианты использования дизайн-теста для крайних случаев, которые могут вызвать аномальные события. Например, в базе При запросах данных вы можете проверить, приведет ли отсутствие необходимых полей в операторе запроса к аномальному состоянию, при тестировании массива - вызовет ли доступ к индексу, длина которого превышает длину массива, правильное аномальное выход за пределы массива, и т. д. на.
Тест аномальной ситуации: Для различных типов аномальных ситуаций варианты использования дизайнтеста. Например, при файловых операциях можно проверить, вызовет ли попытка чтения несуществующего файла соответствующую аномальную ошибку.
Недопустимый тест ввода: аномальный случай использования дизайнерского теста для проверки ввода. Например, когда пользователь вводит имя пользователя, его можно спросить, вызовет ли ввод имени пользователя, длина которого превышает допустимую, соответствующую аномальную проверку.
Тест одновременного доступа: тест Может ли аномальное событие быть правильно зафиксировано и обработано, когда несколько потоков одновременно обращаются к общим ресурсам. Например, при использовании многопоточности для базы При работе с данными моделируйте несколько потоков, одновременно выполняющих операции запроса, чтобы проверить, можно ли правильно обрабатывать аномальный одновременный доступ.
Тест сообщения об ошибке: тестномальный проверяет, является ли сообщение об ошибке, возвращаемое в коде, точным и понятным. Например, если проверка ввода не удалась, убедитесь, что в возвращаемом сообщении об ошибке четко указано, почему проверка не удалась.
При разработке этих тестовых примеров обратите внимание на различные условия исключений и пути обработки ошибок, чтобы гарантировать, что код может правильно перехватывать и обрабатывать исключения, а не просто поглощать исключения через блоки перехвата.
04
Конечно, для этого нет необходимости выходить в интернет. Данная статья предназначена исключительно для обсуждения. На самом деле полностью охватить такие вопросы путем тестирования и проверки невозможно, да и это очень неэффективно.
Лучшее решение проблем такого типа — стандартизация кода и своевременная проверка кода. Каждый сосредотачивается на своих областях.
Исследования и разработки следуют существующим стандартам кодирования и практикам программирования для решения технических проблем.
Тестирование фокусируется на разработке сценариев и исследовательском тестировании для решения проблем покрытия бизнеса.