суббота, 28 марта 2009 г.

Тестирование стабильности (stability testing)

Целью тестирования стабильности (stability testing) является оценка работоспособности системы при длительной нагрузке.

Причем, тут берется не максимальная нагрузка, а средняя (рабочая) нагрузка. И систему нагружают на протяжении длительного времени (я обычно ставлю на ночь, когда ухожу домой).

При проведении тестирования стабильности показатели времени выполнения операций для нас имеют второстепенное значение. Главная задача - выявить утечки памяти или другие проблемы, которые не позволяют системе стабильно работать.

Хотя показатели времени выполнения операций тоже могут пригодиться. Они могут показать степень деградации системы. Если после многочасового тестирования Ваша система не упала, но время выполнения операций постоянно увеличивалось, то это говорит о том, что проблемы все же есть, просто для полного падения системе не хватило времени. Нужно погрузить систему дольше.

3 комментария:

  1. Есть такой метод у конструкторов: "бутылочного горлышка". Граничные условия применения ужесточаются в количественных показателях в 1,5 раз. Система подвергается испытанию в таком режиме, корретировки в технологиях и реализации позволяющих успешно пройти проверку позволяет с бОльшей степенью уверенности говорить о стабильности. Брать среднюю нагрузку неразумно, только при работе "за гранью" происходит проявления "характера" системы.

    ОтветитьУдалить
  2. Согласна. Но все же зависит от целей тестирования.

    Например, мы планируем (или знаем), что в нашей системе в этом квартате одновременно будет работать (работает) в среднем N пользователей. Нам нужно оценить производительность системы под такой нагрузкой. В этом случае мы проводим тестирование стабильности для нагрузки в N пользователей.

    А в следующем квартале мы планируем заманить в систему N*1.5 пользователей. Нам нужно проверить будет ли наша система нормально работать под такой нагрузкой - тогда проводим тестирование стабильности для нагрузки в N*1.5 пользователей.

    Есть еще такое понятие, как запас производительности системы. То есть система должна не только работать без збоев при средней нагрузке, но и продолжать работать при увеличении нагрузки на 10-15% (в зависимости от требований к системе). Понятно, что это обязательно учитывается при тестировании.

    ОтветитьУдалить
  3. Позвольте заметить, вы втянули сюда понятие "Стресс-тестирование", не следует путать с тестированием стабильности

    ОтветитьУдалить