#тестирование

11 постов
пост №2031ИИ и машинное обучение

Гендир Shopify (а это, на минутку, главная платформа для интернет-магазинов в мире, 7500 сотрудников, капитализация 160 миллиардов долларов), взял autoresearch Карпатого и своими руками запустил его на liquid — систему шаблонизации магазинов на Shopify.

Система провела 120 автоматизированных экспериментов в попытке ускорить загрузку страниц. В результате получился PR (пул-реквест, омоним пиара) на 93 коммита.

Нейросеть ускорила загрузку страниц в два раза. Тоби признает, что там есть overfitting, когда страница оптимизирована под конкретный тест, но есть и куча хороших идей, о которых они раньше не думали. И это не вайбкодинг, а полностью автоматизированная разработка софта под конкретную метрику, причем на кодовой базе, которую 20 лет писали руками очень хорошие программисты. Всё в open source, можете посмотреть сами.

В общем, если у тебя есть конкретное число и механический способ что-то поменять в системе и измерить изменение этого числа — то нейросеть может его оптимизировать. Ребята заопенсорсили всю свою обвязку, pi-autoresearch. Описываешь ей свою задачу, метрику, как запустить код и дальше всё работает самостоятельно.

Интересно, что в очередной раз речь идет о проекте, щедро покрытом тестами (у liquid 974 юнит теста). Вот мы с Федей всю жизнь кричим о важности тестов, и внезапно это оказалось даже полезнее для нейросетей, чем для людей.

Тоби, конечно, не стандартный CEO крупной компании и раньше что-то прогал, но в ноябре, с появлением крутых нейросетей, количество его коммитов выросло в разы.

Мы тоже активно экспериментируем с этими подходами, если есть похожие задачки — обращайтесь!

пост №1382Разработка и инженерия

Как убедиться, что Амазон выдержит нагрузку перед Рождеством, когда весь западный мир покупает в нем подарки?

Как сделать так, чтобы программы не ломались, когда новые программисты вносят в них изменения?

Как, наконец, делать сайты и приложения без ошибок?

Тестирование — самая малоизвестная и недооценённая область программирования. Мало кто из программистов пишет тесты. На тестировщиков многое смотрят с пренебрежением и считают, что это такие недо-программисты.

Гость нашего сегодняшнего эпизода ломает многие стереотипы. Максим Садым занимался тестированием в Амазоне, а теперь работает над новым протоколом управления браузерами в Гугле.

Ну и истории о том, как всё сломать, конечно!

Слушайте и подписывайтесь: Apple, Google, Castbox, Spotify, Яндекс, Overcast, веб-версия.

пост №1104Разработка и инженерия

Тестирование пуш-уведомлений в iOS всегда было болью. Сколько раз я сам чуть не отправлял пуш «тест» в продакшен (после одного такого раза я перестал тестировать заголовок «Путин умер»), сколько раз видел «тест» от именитых брендов.
А всё потому что пуши работали только на физических телефонах, не на симуляторах.

Наконец-то, в XCode 11.4 можно просто перетащить файл с содержимым пуша в симулятор и он придет как пуш в приложение. Наконец-то! via

пост №934Продукты и дизайн

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

Уверен, на дизайн-макетах контрагенты всех переводов были разные и выглядело круто. В реальности контрагент всех карточных транзакций — сам банк, полезная информация на экране потерялась.

Две гипотезы, почему такой брак пролез в продакшн: 1) приложение тестируют не на настоящих банковских данных, а на каких-то нереалистичных тестовых примерах 2) предзапускного тестирования вообще нет или чувак был пьян.

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

​​А вот источник этого дизайна.

Скорее всего, дизайнер не знал, что у его банка нет красивых имен мерчантов (продавцов) карточных покупок в текущей структуре данных. И не нашлось человека, который бы ему на это указал.

пост №853Управление и команды

Все мы были в ситуации, когда тест идет совсем не так, как мы планировали.

Надеюсь, что руководство МТС не будет никого наказывать, а разработает правила, которые предотвратят возможность такой ошибки в будущем. Вот было бы круто послушать разбор этой ситуации от кого-то из МТС.

Поделюсь, как я тестировал пуши в Медузе. В какой-то момент я придумал отправлять в тестовом пуше ровно то же содержимое, которое было в предыдущем продакшен пуше. Если такой тест протечет на продакшен — большинство людей подумают, что это глюк телефона (или их самих глючит), но в любом случае — такая проблема мало кого удивит. «тест» или того хуже «111 zaebalo» — гораздо хуже. Признаюсь, что порой я тестировал пуши «путин умер», но повторять такое я не рекомендую.

пост №852Разработка и инженерия

Интересно, это сообщение пришло всем миллионам клиентов МТС или только какой-то небольшой группе? В любом случае: 8 вечера по Москве - не лучшее время для тестов на продакшене. Привет, МТС!

пост №745Разработка и инженерия

Антон перенес бэкенд-тесты с дженкинса (и стейджинг-тачки) на модный circleci. Время тестирования у нас сократилось с 47 до 10 (!) минут. Тачки, вроде, обычные — 2CPU/4GB, а работает всё быстро. Приятно.

1500 минут в месяц бесплатные, один платный контейнер в месяц стоит 50$ и снимает это ограничение. Обратите внимание, докер-кеши стоят ещё 40$ (они как раз меняют прайсинг и ещё не объявили об этом), но их довольно просто настроить самим.

пост №492Разработка и инженерия

Google обновил в ноябре Firebase Cloud Messaging — одну из самых крутых систем для рассылки пуш-уведомлений в мобильные приложения и браузеры (при этом — бесплатную!).

В новой версии API можно в едином сообщении указать два разных payload; клиент получит свою версию в зависимости от платформы — iOS или Android. Ура! Ложка дёгтя: авторизация теперь богопротивным Oauth2 JWT.

P.S. Документация у Firebase — тихий ужас :(
P.P.S. Никогда не собирайте тестовые приложения с продакшен-ключами. Я сегодня таким макаром отправил в продакшен iOS Медузы тестовый пуш. Слава богу, не в канал «breaking». Слава богу, что тексты тестовых пуши — копии недавних легитимных, а не «тестовый пуш, йоу» или «alert('fuck')». Храни вас бог при тестировании пушей и почтовых рассылок. Аминь.