TGViewer
Сохранёнки программиста Сохранёнки программиста @prog_stuff · 6.54K subscribers
Post #2938 402
Как тестировать сервис, у которого 96 операций в API, больше 500 триллионов объектов и свыше 200 миллионов запросов в секунду? Инженеры Amazon описали свой подход на примере S3: рядом с настоящим сервисом живёт исполняемая эталонная модель, которая хранит состояние и сверяет с ним каждый ответ.

Сценарии к модели не пишутся руками и не берутся случайно. Поведение раскладывается на признаки: например, для чтения объекта учитываются 21 параметр запроса, 36 параметров ответа и само содержимое. В одном из экспериментов из 37 признаков получилось 135 категорий поведения и 1025 качественно различных сценариев, которые и генерируются целенаправленно.

Сравнение с обычным тестированием на свойствах показательно: там 28 457 запросов дали 9040 уникальных сценариев, остальные 19 417 оказались повторами. У направленной генерации трёхчасовая кампания выполняет около 432 000 запросов.

В трёх запусках в конвейере сборки модель поймала 171, 92 и 109 расхождений поведения — среди них десятки настоящих проблем, которые иначе уехали бы дальше.

@prog_stuff
More from @prog_stuff
  1. Sep 20, 2026Как процессор предсказывает ветвления Псевдотранскрипт доклада объясняет тему с нуля. Конв…
  2. Sep 20, 2026Почему одни движки регулярных выражений зависают, а другие нет Обстоятельная статья Расса…
  3. Sep 19, 2026Как проверять изменения без риска для всего трафика Компактный разбор о снижении риска при…
  4. Sep 19, 2026Как собрать модель пиковой нагрузки из боевой телеметрии Обстоятельный гайд о замене выгру…
  5. Sep 18, 2026Как работает фильтр Блума и когда его неточность экономит память Фильтр Блума сообщает: «э…
  6. Sep 17, 2026Как работает однопошаговый отладчик Linux на ptrace Обстоятельная статья разбирает основу…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →