Size: a a a

2019 November 06

RB

Roman Bolkhovitin in rannts
но вообще мне почему-то chaos monkey вспомнилась, хотя это несколько про другое
источник

SZ

Sergey Z in rannts
это математика на пальцах с потолка, будет у меня меньше вариантов, но их всё равно будет больше чем один линейный.

можно конечно тесты переосмыслить, и наплодить кучу тестов под каждую ошибку на каждом шаге, вроде "вот дошли мы до шага три, на этом шаге у нас может быть 2 ошибки, создадим ещё два теста".

а можно (мне так представляется) учесть это как-то в меньшем количестве тестов, и экономить время на подготовительных шагах вроде "вот мы дошли до третьего шага, наше окружение подготовлено, и мы с высоты этого состояния можем в одном тесте прокрутить все возможные ошибки"

надеюсь, понятно объясняю
источник

ЕЧ

Егор Чернышов in rannts
Мне кажется оптимальным покрыть обработку ошибок юнит тестами, а успешные сценарии сделать интеграционными. Вряд ли это поддаётся универсальному описанию
источник

ЕЧ

Егор Чернышов in rannts
Хотя, кстати, так часто и получается. Не знаю как в питтоне, в phpunit дата-провайдер содержит тестовые данные на каждый конкретный случай и в общем-то именно и обходит чуть ли не всю матрицу возможного. Частично можно замокать, какие-то тесты можно ставить в зависимости друг другу
источник

RB

Roman Bolkhovitin in rannts
Зависимые тесты это вроде антипаттерн
источник

ЕЧ

Егор Чернышов in rannts
Если интеграционные функции зависимы друг от друга, то у тебя нет выбора
источник

ЕЧ

Егор Чернышов in rannts
Один метод сервиса выдаёт свободную дату регистрации, второй регистрируется на эту дату, третий отменяет регистрацию. Например
источник

ЕЧ

Егор Чернышов in rannts
При условии, что сервис чужой это единственно возможный вариант
источник

RB

Roman Bolkhovitin in rannts
Звучит как два разных теста. Один проверяет регистрацию и берет дату из мока, второй проверяет отмену, состояние перед его запуском задается фикстурой 🤷‍♂
источник

ЕЧ

Егор Чернышов in rannts
Интеграционный тест тут нужен для проверки связи. Нельзя ничего замокать, он так устроен. Это реальный кейс — запись на приём в налоговую инспекцию.

1. Запрашиваешь дату, время, место, вплоть до окна, идентификатор услуги.
2. Выбираешь из доступного и с этой инфомрацией + персональной информацией стучишься бронировать.
3. В ответ получаешь идентификатор записи, с которым можешь её отменить.

Огранчиение три раза в две недели, или что-то около того. Если потерял идентификаторы, то после трёх раз тебе закроют доступ, будешь ждать две недели.

Мокать всё это нет смысла, потому что самая проблемная область это именно отзывчивость самого сервиса по нужному сценарию.

Регулярный прогон тестов по крайней мере один раз помог обнаружить проблемы у них там и им же об этом сообщить. Для этого они и написаны
источник

RB

Roman Bolkhovitin in rannts
Да, в 2019 году доступность сервисов все так и проверяют 😂😂😂
источник

ЕЧ

Егор Чернышов in rannts
А как у вас в модном году проверяют?
источник

RB

Roman Bolkhovitin in rannts
Слышал, что заводят у сервиса две ручки, одну для хелсчека, вторую для проверки готовности и их дергают
источник
2019 November 07

БС

Байт Словович in rannts
А меж тем, highload дорос до уровня прямой трансляции: https://www.youtube.com/watch?v=7cqS4zAlU50&list=PLH-XmS0lSi_x0OrxrC4GKInFRK8zG_tfZ
а раньше они только за большие деньги видосики выкладывали..
источник

in

ildar nizamov in rannts
кто успевает смотреть всё, что выкладывают?
источник

БС

Байт Словович in rannts
а зачем смотреть всё? Интересного не больше 20% обычно...
источник

💭П

💭 Руслан Прохоров in rannts
ildar nizamov
кто успевает смотреть всё, что выкладывают?
Я! Не успею!
источник

БС

Байт Словович in rannts
А еще есть лайфхак.. в ютубе можно видосик в два раза устроить
источник

in

ildar nizamov in rannts
а лайфхак-то какой?)
источник

БС

Байт Словович in rannts
ну в два раза меньше времени надо на просмотреть "всё"
источник