Мой баг дня (записки тестировщика)
246 subscribers
169 photos
23 videos
11 files
127 links
Precondition:
Repro steps:
1. ...
2. ...
3. ...
Expected: good
Actual: bad

Связь: @MyachinDA
Download Telegram
Теперь подсказывается, что именно будет париться, наконец.
Вот о чём я. Раньше было не понятно, что именно расшарится. Сейчас тоже не очень, например, не понятно, как расшарится контент с текстом и фото, но уже лучше.
Будьте осторожны, не удаляйте образы Android Q эмуляторов в релизной версии Студии, иначе рискуете их не вернуть, пока не исправят баг: https://issuetracker.google.com/issues/129907892
Вот так это выглядит. Одинаковые ошибки на все образы
Если вы планируете работать с MS TFS через REST API, эта статья вам пригодится: https://myachinqa.blogspot.com/2019/04/ms-tfs-rest-api.html Она очень большая, очень скучная, но если бы она была мне доступна до того, как я сам стал это изучать, мне было бы намного проще разобраться со всем этим
JFYI. В Google Play тоже есть Development mode, как в самом Android, хотя и лишь с одной опцией (пока?)
Боковая панель > Settings > Тапы по версии Play Store
Возможно это нервное из-за скорого релиза, но сейчас неплохо просмеялся.
Пишут тест на новую фичу. В графе "номер партнёра" прилетает символ '*', хотя там должен быть int. Стали разбираться, как такое вообще возможно. Оказалось, что тестовое значение у нас было 42, которое, из-за ошибки, было приведено к строке. И к строке привели не цифру, а сделали, условно говоря, chr(). То есть 42 — это просто код символа '*' в ASCII.
Недавний баг.

Иногда автотест сценария обновления приложения до новой версии валился с ошибкой, что не почищены наши внутренние БД. Они должны чиститься при обновлении с любой прошлой версии на ту, которая тестировалась и не должны чиститься после этого. Потому что в этих БД изменился формат и старые таблицы дропались. А в будущих версиях (в ближайших, по крайней мере) формат меняться не будет и базы будут заиспользованы как есть.

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

Очень долго пытались понять, почему так происходит и почему не стабильно. В конце-концов ситуация оказалась следующей.
0. Продукт шифрует некоторые базы. Продукт при инициализации запрашивает путь к своим нативным либам (в их состав входит и само средство шифрования). Происходит это либо по явной указке так называемого родительского приложения (т.к. я работаю с SDK, то клиенты его интегрируют в свои приложения — эти приложения и называются родительскими; это не имеет отношения к родительскому контролю или типа того, это в основном вообще банковские приложения), либо через запрос у системного Package Manager.
1. Происходило обновление приложения на новую версию
2. Продукт палил, что изменилось приложение в системе и его нужно срочно проверить
3. Продукт ОЧЕНЬ БЫСТРО реагировал на это и запускался
4. Система не успевала удалить нативные либы из старого пути, где раньше жило приложение
5. Продукт срочно вгружал эти либы
6. К этому времени очухивалось само родительское приложение и передавало новый путь к нативу, который также принимался продуктом

В итоге у продукта 2 набора нативных либ в памяти. При вызове какого-нибудь нативного метода заранее не известно, кто именно отвечает из двоих.
В общем, слишком быстрая инициализация продукта приводила к тому, что он успевал инициализироваться ещё до того, как Package Manager полностью завершал работу по установке обновлённого приложения.
Теперь продукт научился понимать, можно ли уже работать или же система ещё не закончила свои дела.

Вот так. Если вы самая быстрая лапка на Диком Западе, вас поджитают вот такие проблемы.
Media is too big
VIEW IN TELEGRAM
Это был день, когда я принял твёрдое решение отказаться от Wndows. И хотя очевидно, что просто тако такого происходить не должно, мне было просто лень разбираться
https://review.source.android.com/#/c/24397/ Тем временем Google забил на сопровождение старого ресурса и теперь его нельзя нормально открыть.
Впрочем, если знать коммит, то можно его загуглить. В данном случае это af99cdf19a20ec938c97d9e7513f687b28b5f31c и вот он: https://android.googlesource.com/platform/cts/+/af99cdf%5E%21/ Но если у вас была только ссылка, то всё будет сложнее.

Если кому интересно, то это добавление тестов на просирание настроек. Был такой баг в Samsung прошивках во времена 2.2 — они просто не сохраняли настройки. Вот так. Что вы вообще знаете о факапах? Самсунг выпустил на прод, на Galaxy S, прошивку, которая просто не сохраняла настройки приложений. Каждый запуск такого приложения был новым запуском, с настройками по умолчанию: https://issuetracker.google.com/issues/36925224

Чтобы такого не повторялось, Google добавил в CTS (Компатибилити тест сьют: https://source.android.com/compatibility/cts) тест на сохранение настроек. Коммит см. выше.
https://issuetracker.google.com/issues/131854760 Кто-то завёл вот такой issue. В двух словах: "Гугл, ну йоп твою мать, не делай из Андроида айОС. Не вставляй палки в колёса продвинутым юзерам. Мы отдаём себе отчёт в своих действиях".
Вангую закрытие как Won't Fix.

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

Мы создали новые спецификации для дизайна значков приложений в Google Play. Если вы не предпримите действий до 24 июня 2019 г., значок вашего приложения перейдет в устаревший режим. С 1 мая 2019 г. все загружаемые значки должны соответствовать новым требованиям. Подробная информация доступна на страницах приложений. Подробнее: https://developer.android.com/google-play/resources/icon-design-specifications
JFYI. Если в Андроиде вам нужно для какого-то теста установить приложение от имени другого, то вам нужен -i у pm. Вот так можно установить приложение от имени Гугл Маркета:
pm install -r -i com.android.vending /sdcard/base2.apk
Делать это нужно в шелле, разумеется.
В Android 10 Beta 3 (да, больше не Q) системная скриншотилка поддерживает Scoped Storage. Так что скриншоты доступны только Google Photos и пока не видны из того же Telegram.
В Бета 3 не работают Убер и Ситимобил, будьте осторожны. Гет работает, Яндекс не проверял.

Не работает — это кнопка заказа не создаёт заказ.