Синтетический мониторинг , скорее всего, является типом теста сдвига вправо , который вы ищете, чтобы
имели эффективное и хорошее поддержание в эффективном
blockquote>на
продукт, который уже используется. просто для определенных обновлений или просто для того, чтобы время от времени все работало нормально. это было то, что я имел в виду под техническим обслуживанием.
blockquote>По моему опыту (внутренний запуск и мониторинг как услуга), в большинстве случаев не требуется другой среды тестирования E2E GUI. Ключ заключается в том, чтобы найти наиболее важные для бизнеса маршруты / маршруты и охватить их с приличной частотой и географическим местоположением. Имейте в виду, что пишет и не всегда желательно, поэтому в большинстве случаев мы обращаемся к приложению только с и только с . Хорошее начало - набор тестов дыма, который вы уже должны иметь, возьмите его и заставьте работать в Production. Выполнение таких проверок на регулярной основе действительно зависит от необходимости - например, мы нажимаем кнопку входа каждые 5 минут, но обращаемся к пользовательским настройкам каждые 15 минут.
насколько подробны эти тесты по сравнению с тестированием новой системы?
blockquote>Основная идея здесь состоит в том, чтобы (проактивно) получать данные о состоянии здоровья из вашей живой системы, которая в идеале должны быть проверены, прежде чем попасть в производство.
я должен также проводить некоторые тесты, которые проверяют скорость или производительность веб-сайта в таком сценарии?
blockquote>Это очень хороший момент, но опять же - не переусердствуй. Просто установите эталон в вашем мониторинге, и его механизм оповещения предупредит вас о загрузке системы.
От Джесси Ноллера:
В настоящее время он не поддерживается в API, но не будет плохим дополнением. Я посмотрю на добавление его в python2.7/2.6.3 3.1 this week
Я не вижу никакой ловушки для этого в API. Вы можете избежать репликации нужной вам функциональности, используя аргументы initializer
и initargs
. Кроме того, вы можете встроить функциональность в вызываемый объект, который вы используете для отображения:
class EdgeRenderTask(object):
def op1(self,*args):
...
def op2(self,*args):
...
p = Pool(processes = 10)
e = EdgeRenderTask()
p.apply_async(e.op1,arg_list)
p.map(e.op2,arg_list)