Что такое тестирование надежности программного обеспечения?
Слово «надежный» означает, что что-то надежно и каждый раз дает одни и те же результаты. То же самое касается и испытаний на надежность.
Тестирование надежности программного обеспечения,Это относится к методу тестирования программного обеспечения, при котором программное обеспечение тестируется на основе моделей использования пользователем, чтобы удовлетворить требования пользователей к надежности программного обеспечения, обнаружить и исправить дефекты в программном обеспечении для повышения уровня надежности программного обеспечения, а также проверить, может ли программное обеспечение соответствовать требованиям пользователя. требования к надежности.
Цель тестирования надежности — убедиться, что программный продукт не содержит ошибок и достаточно надежен, чтобы служить своему назначению. Как правило, надежность программной системы можно измерить только путем ее тестирования.
Вероятностная мера способности программного обеспечения не вызывать отказ системы в течение заданного периода времени и при заданных условиях называется надежность программного обеспечения。
Факторы, влияющие на надежность программного обеспечения
Чем больше профилей работы программного обеспечения, чем больше масштаб программного обеспечения и чем сложнее внутренняя структура, тем больше вероятность ошибок программного обеспечения и тем ниже надежность;
Если методы разработки программного обеспечения и среда разработки неподходящие или отсталые, разработанное программное обеспечение оставит много проблем и повлияет на надежность программного обеспечения;
Недостаточные инвестиции в надежность программного обеспечения, например недостаточное тестирование надежности, также повлияют на надежность программного обеспечения.
в,Профиль работы программного обеспечения Это относится к набору операций, которые может выполнить программное обеспечение, и вероятности их выполнения.
Зачем проводить тестирование надежности?
Тестирование надежности проводится для проверки производительности программного обеспечения в заданных условиях.
Целью проведения испытаний на надежность является:
Общие методы тестирования надежности
Метод ввода выбросов:использованиесистема Значения, которые не разрешены для ввода(то есть выбросы)кактест Надежность входных значенийтестметод。
метод имплантации дефектов:Пучоксистемапопал в проблемную среду(Если ресурсов недостаточно、Надежный метод проведения испытаний из-за конфликтов окружающей среды, сбоев сети и т. д.).
Метод испытания стабильности:в течение длительного времени в течение определенного периода времени、Надежный способ вести определенный бизнес в условиях высокой нагрузки.
метод стресс-тестирования:Непрерывное использование в течение периода времени превышаетсистема Заданная надежность нагрузкитестметод。
тестирование восстановления:Выполняется с нагрузками, которые постоянно превышают технические характеристики.тестназад,Затем уменьшите нагрузку в пределах технических характеристик.
Как провести тестирование надежности?
Тестирование надежности стоит дорого по сравнению с другими типами тестирования. Поэтому при проведении испытаний на надежность необходимы надлежащее планирование и управление. Сюда входит процесс тестирования, который необходимо реализовать, данные для тестовой среды, график тестирования, контрольные точки и т. д.
Для проведения тестирования надежности тестировщики должны обратить внимание на следующее:
Мы можем провести тестирование надежности в три этапа: моделирование, измерение и улучшение.
Моделирование
программное обеспечение Моделирование технологий можно разделить на две подкатегории:
Значимые результаты могут быть получены путем применения соответствующих моделей. Для упрощения проблем можно использовать предположения и абстракции, и ни одна модель не подходит для всех ситуаций.
мера
Надежность программного обеспечения не может быть измерена напрямую, поэтому для оценки надежности программного обеспечения необходимо учитывать другие соответствующие факторы.
Текущие методы измерения надежности программного обеспечения делятся на четыре категории:
1. Показатели продукта
Индикаторы продукта представляют собой комбинацию 4 типов индикаторов:
Размер программного обеспечения:строки кода(LOC)является мерой Размер программного Интуитивно понятный начальный подход к обеспечению. По этому критерию учитывается только исходный код, комментарии и другие неисполняемые утверждения учитываться не будут.
индикатор функциональной точки:Функция Pont Metric Это метод, используемый для измерения возможностей разработки программного обеспечения. Он будет учитывать количество входов, выходов, мастер-файлов и т. д. Он измеряет функциональность, предоставляемую пользователям, и не зависит от языка программирования.
сложность:это напрямую связано спрограммное Важна надежность обеспечения и, следовательно, выражение сложности. Сложно-ориентированная мера — метод определения сложности управляющих структур программы путем приведения кода к графическому представлению.
Метрики тестового покрытия:Это делаетсяпрограммное Программные продукты проводят полный метод тестирования для оценки отказов и надежности. дружелюбный обеспечение Надежность означает уверенность в том, что функциональность полностью проверена.
2. Показатели управления проектом
Исследователи поняли, что хороший менеджмент производит более качественные продукты.
Хорошее управление может обеспечить более высокую надежность за счет использования более эффективных процессов разработки, процессов управления рисками, процессов управления конфигурацией и т. д.
3. Индикаторы процесса
Качество продукта напрямую связано с процессом. Метрики процесса можно использовать для оценки, мониторинга и улучшения надежности и качества программного обеспечения.
4. Отказы и интенсивность отказов
Стандарт измерения неисправностей и неисправностей в основном используется для проверки того, полностью ли исправна система. Эта цель достигается путем сбора, агрегирования и анализа типов ошибок, обнаруженных в процессе тестирования (т. е. перед доставкой), а также ошибок, о которых сообщили пользователи после доставки.
Надежность программного обеспечения измеряется средним временем наработки на отказ (MTBF).
MTBF = MTTF + MTTR
Чем больше среднее время безотказной работы, тем выше надежность и тем выше способность к правильной работе. Поэтому обычно стремятся к высокому MTTF и низкому MTTR. Идеальное состояние — MTTF≈MTBF.
улучшать
улучшение полностью зависит от проблемы, которая возникает в приложении, системе или программном обеспечении. обеспечение Характеристики。в соответствии спрограммное Сложность программного модуля, способ улучшения также будут различаться. Два основных ограничения, время и бюджет, будут ограничивать объем работы, вложенной в программное обеспечение. обеспечениенадежность улучшения.
Тестирование надежности и тестирование стабильности
Люди часто путают стабильность и надежность. Они совершенно разные, но оба проводят тестирование производительности.
Например, у нас есть приложение, которое работает отлично, за исключением того, что оно вылетает через 5 минут, но оно мгновенно восстанавливается без потери данных. Это будет считаться надежным, но нестабильным. Я могу на него положиться, поскольку важные данные не теряются и он работает нормально.
Так же, как Интернет по своей сути нестабильен, мы можем видеть, как соединения теряются и появляются снова, пакеты конфликтуют друг с другом, отбрасываются и происходят всевозможные другие нестабильные вещи. Однако невероятно, насколько он надежен, учитывая такую нестабильность. Если система всегда работает хорошо, но периодически выдает неверные результаты или время от времени теряет данные, можно утверждать, что система стабильна, но ненадежна. Когда программное обеспечение стабильно и надежно, оно считается высококачественным и высокопроизводительным.