Мой баг дня (записки тестировщика)
Коллеги-тестировщики, важный вопрос. Есть ли у вас какая-то готовый список, который можно взять за основу, чтобы правильно ранжировать тестировщиков по навыкам, от джуна до бесконечности? Или, тоже нормальный вариант, скажите, что, на ваш взгляд, должен уметь…
Прочитал историю успеха одного юноши, который в 19 устроился в фирму (важно - крупная фирма на несколько тысяч сотрудников, а не стартап), а в 21 он уже синьёр.
И вспомнил вот тот вопрос, который процитировал.
Лично для себя за это время я определил такое описание синьёра.
Это сотрудник, который может заменить _любого_ другого человека в команде (имеется в виду в его профильной области, конечно: в нашем случае тестировщик заменяет тестировщика) практически мгновенно. Его не нужно будет обучать - он сразу готов.
При необходимости, этот синьёр в одиночку может заменить ВСЕХ ДРУГИХ членов команды (для небольших команд, на 3-5 тестировщиков) одновременно и никто не заметит, что все остальные исчезли. Сам синьёр, конечно, начнёт лысеть, у него будет дёргаться глаз и трястись руки и так лучше не издеваться над людьми, но такое возможно.
Без проблем, буквально за пару дней, синьёр влетит в любой другой смежный проект и сохранит все описанные выше фичи. Через пару дней он будет ориентироваться так, будто давно тут работает.
Синьёр может поменять направление проекта за пару недель и снова сохранит все описанные выше фичи. То есть сейчас он в мобилочках, а завтра его закинули в веб (или наоборот) и вот он уже в новом направлении всё тот же синьёр и может заменить всех тестировщиков разом в одиночку.
Чтобы без проблем совершать такие переходы, нужно накопить достаточно немалый багаж знаний и закрепить его опытом. Ты можешь быть очень хорош в своей области и за 2 года набрать отличный опыт. Но всё ещё в пределах своей области. А это, на мой взгляд, не синьёр.
И вспомнил вот тот вопрос, который процитировал.
Лично для себя за это время я определил такое описание синьёра.
Это сотрудник, который может заменить _любого_ другого человека в команде (имеется в виду в его профильной области, конечно: в нашем случае тестировщик заменяет тестировщика) практически мгновенно. Его не нужно будет обучать - он сразу готов.
При необходимости, этот синьёр в одиночку может заменить ВСЕХ ДРУГИХ членов команды (для небольших команд, на 3-5 тестировщиков) одновременно и никто не заметит, что все остальные исчезли. Сам синьёр, конечно, начнёт лысеть, у него будет дёргаться глаз и трястись руки и так лучше не издеваться над людьми, но такое возможно.
Без проблем, буквально за пару дней, синьёр влетит в любой другой смежный проект и сохранит все описанные выше фичи. Через пару дней он будет ориентироваться так, будто давно тут работает.
Синьёр может поменять направление проекта за пару недель и снова сохранит все описанные выше фичи. То есть сейчас он в мобилочках, а завтра его закинули в веб (или наоборот) и вот он уже в новом направлении всё тот же синьёр и может заменить всех тестировщиков разом в одиночку.
Чтобы без проблем совершать такие переходы, нужно накопить достаточно немалый багаж знаний и закрепить его опытом. Ты можешь быть очень хорош в своей области и за 2 года набрать отличный опыт. Но всё ещё в пределах своей области. А это, на мой взгляд, не синьёр.
👍7👎1
В UiAtomator 2.3 исправили несколько проблем, из-за которых я и начал писать свой фреймворк автотестов. Кажется, скоро смогу отказаться от него (ура!).
Изменений от 2.2 много, вот только те, которые мне важны, потому что у меня были свои реализации, а теперь можно будет использовать гугловые:
- Поддержали отправку события нажатий нескольких кнопок. Я использовал это в первую очередь для снятия скриншотов ПОЛЬЗОВАТЕЛЬСКИМ способом.
- Теперь правильно будят устройство - через отправку кей эвентов. Если вам приходится писать автотесты на вот тех офигенных телефонах, где на кнопку Power навесили вызов ассистента, вы меня поймёте
- Уменьшили интервал полинга в 10 раз. Надо сказать, радикально. Я уменьшал в 5 раз
- Поддержали матчинг многострочных текстов и описаний https://android-review.googlesource.com/c/platform/frameworks/support/+/2283416
- Наконец вытянули
- Исправлен NPE для
- Для
- Уменьшили скорость скроллинга. Надеюсь, уменьшили правильно. Потому что мне приходилось опытным путём подбирать steps у скрола, чтобы всё работало нормально
Остальное либо я не использовал, либо работа меня устраивала. Например, поддержку второго экрана ни разу не использовал, а это одна из фич релиза
Изменений от 2.2 много, вот только те, которые мне важны, потому что у меня были свои реализации, а теперь можно будет использовать гугловые:
- Поддержали отправку события нажатий нескольких кнопок. Я использовал это в первую очередь для снятия скриншотов ПОЛЬЗОВАТЕЛЬСКИМ способом.
- Теперь правильно будят устройство - через отправку кей эвентов. Если вам приходится писать автотесты на вот тех офигенных телефонах, где на кнопку Power навесили вызов ассистента, вы меня поймёте
- Уменьшили интервал полинга в 10 раз. Надо сказать, радикально. Я уменьшал в 5 раз
- Поддержали матчинг многострочных текстов и описаний https://android-review.googlesource.com/c/platform/frameworks/support/+/2283416
- Наконец вытянули
UiDevice#executeShellCommand наружу- Исправлен NPE для
UiDevice#dumpWindowHierarchy- Для
UiObject2#scrollUntil добавили retry- Уменьшили скорость скроллинга. Надеюсь, уменьшили правильно. Потому что мне приходилось опытным путём подбирать steps у скрола, чтобы всё работало нормально
Остальное либо я не использовал, либо работа меня устраивала. Например, поддержку второго экрана ни разу не использовал, а это одна из фич релиза
👍3
Написал статью о том, что в RuStore лежит настоящий, но неправильный Signal. И что RuStore имеет прям детскую болезнь: он не понимает архитектуру процессора, на котором работает.
Лёгкая версия статьи (в килобайтах, в смысле): https://text.tchncs.de/umnik/rustore-i-podderzhka-raznykh-arkhitektur
Она же, но на блогспоте: https://myachinqa.blogspot.com/2024/03/rustore.html
Лёгкая версия статьи (в килобайтах, в смысле): https://text.tchncs.de/umnik/rustore-i-podderzhka-raznykh-arkhitektur
Она же, но на блогспоте: https://myachinqa.blogspot.com/2024/03/rustore.html
Скучный бложик тестировщика
RuStore и поддержка разных архитектур — Скучный бложик тестировщика
Не так давно в RuStore завезли Signal. И это (по крайней мере сейчас) оригинальное приложение. Я даже упоминал об этом на lor.sh, и...
👍6
Вакансию мечты нашёл.
Требования:
- Релевантные для задач проекта
- Опыт в тестировании от 5 лет
Требования:
- Релевантные для задач проекта
- Опыт в тестировании от 5 лет
Бесячий баг в собственной прошивке. Несколько раз в неделю нужно выходить из дома с пакетом с, допустим, сменной одеждой.
Всё приходит нормально, пока не добавляется пакет с мусором. В этом случае выхожу с мусором без сменной одежды или с одеждой, но без мусора.
Всё приходит нормально, пока не добавляется пакет с мусором. В этом случае выхожу с мусором без сменной одежды или с одеждой, но без мусора.
👍6
В RuStore отломили открытие экрана нужного приложения через стандартный вызов схемой
Если в системе более одного маркета, нужно выбрать РуСтор. Он должен открыть экран нужного приложения (2GIS), но не сделает этого.
marketadb shell am start -a android.intent.action.VIEW -d 'market://details?id=ru.dublgis.dgismobile'Если в системе более одного маркета, нужно выбрать РуСтор. Он должен открыть экран нужного приложения (2GIS), но не сделает этого.
👍7
https://developer.android.com/reference/android/app/admin/DevicePolicyManager потеряли закрывающий
</i>. Так что до самого Summary всё написано курсивом👍2
Не баг. Пока пишу тест, увидел, что есть приложение с таким вот именем пакета. Представлено и в Gplay, и в F-droid: https://github.com/Semper-Viventem/MetaRadar
👍5
Попросил cloud.ru (часть Сбера, как я понимаю) удалить мою учётку. ТП ответили, что удалили, всё в порядке. Это было месяца два назад или больше.
Сейчас проверяю. Регистрируюсь на телефон - говорят, что такой есть. Восстанавливаю пароль по телефону - на моё мыло (то есть оно тоже известно) падает ссылка для установки нового пароля. Прохожу по ссылке - 403: пользователь заблокирован.
Сбер не понимает разницы между удалить учётную запись и заблокировать её.
Сейчас проверяю. Регистрируюсь на телефон - говорят, что такой есть. Восстанавливаю пароль по телефону - на моё мыло (то есть оно тоже известно) падает ссылка для установки нового пароля. Прохожу по ссылке - 403: пользователь заблокирован.
Сбер не понимает разницы между удалить учётную запись и заблокировать её.
👍9
О тестировании.pdf
5.6 MB
В нашей внутренней wiki для нашей команды написал статью о тестировании, тестировщиках, о взаимодействии, терминологии, приоритизации багов . В общем, единый документ для создания одинаковых пониманий разработчиков, менеджеров и тестировщиков
Сегодня получил разрешение на его публикацию, так что вот, прикладываю. 6 страниц в PDF.
Мне будет интересно, с чем согласны, с чем не согласны, а где я вообще нафиг пошёл.
Разумеется, есть некоторая специфика, связанная с именно нашими проектами и нашим багтрекером, но прям таких вещей мало. Старался писать более-менее универсально
Сегодня получил разрешение на его публикацию, так что вот, прикладываю. 6 страниц в PDF.
Мне будет интересно, с чем согласны, с чем не согласны, а где я вообще нафиг пошёл.
Разумеется, есть некоторая специфика, связанная с именно нашими проектами и нашим багтрекером, но прям таких вещей мало. Старался писать более-менее универсально
👍15
Рассказал HRше, что их в IT называют "хрюши". Она не знала. Расскажет ли она теперь остальным?
👍6
https://chromewebstore.google.com/detail/%D0%BE%D0%B1%D0%BE%D0%B9%D1%82%D0%B8-%D0%B7%D0%B0%D0%BC%D0%B5%D0%B4%D0%BB%D0%B5%D0%BD%D0%B8%D0%B5-youtube/khpkadmigccakicajloljbckokgnknkp надеюсь я ошибаюсь, но… Уверен, сейчас как грибы полезут мошеннические расширения. "Активация через Телегу" для меня выглядит как способ эту самую Телегу увести.
Проверять не буду и вам не советую.
Проверять не буду и вам не советую.
Google
Chrome Web Store
Add new features to your browser and personalize your browsing experience.
👍4
Если вы пишите автотесты под Android и это не (или не только)
Когда-то давно Google предлагал утилиту на java
Возможно, вы уже нашли для себя замену. А если нет, то можно уже и не искать особо. Выложил в публичный доступ утилиту, которую написал для себя. Точнее, её исходники: https://gitea.myachin.xyz/umnik/android-ui-viewer
Espresso, вам нужен инструмент для разбора разметки экрана и получения информации о вьюхах.Когда-то давно Google предлагал утилиту на java
uiautomatorviewer, но ей пришёл кирдык.Возможно, вы уже нашли для себя замену. А если нет, то можно уже и не искать особо. Выложил в публичный доступ утилиту, которую написал для себя. Точнее, её исходники: https://gitea.myachin.xyz/umnik/android-ui-viewer
Gitea: Git with a cup of tea
android-ui-viewer
👍6
Сегодня, в 19:00 всей Францией запускаем бумажные самолётики из окон!
🤡3👍1
Почему я никогда не использую для написания автотестов не нативные фреймворки платформы.
Вот статья на Хабре от 2013 года: https://habr.com/ru/companies/intel/articles/205864/
Комментарии:
- чем это лучше роботиума?
- Работал и работаю с calabash. Из плюсов — Ruby и кросс-платформенность. Cucumber и BDD тоже можно отнести к плюсам. Тесная интеграция с Xamarin, в будущем calabash станет плагином к Frank. Ну и конечно же активное сообщество, частые коммиты и релизы.
Сейчас это смешно читать, а тогда кто-то всерьёз считал, что использовать левые фреймворки - это хорошо и правильно.
Вот статья на Хабре от 2013 года: https://habr.com/ru/companies/intel/articles/205864/
Комментарии:
- чем это лучше роботиума?
- Работал и работаю с calabash. Из плюсов — Ruby и кросс-платформенность. Cucumber и BDD тоже можно отнести к плюсам. Тесная интеграция с Xamarin, в будущем calabash станет плагином к Frank. Ну и конечно же активное сообщество, частые коммиты и релизы.
Сейчас это смешно читать, а тогда кто-то всерьёз считал, что использовать левые фреймворки - это хорошо и правильно.
Хабр
Автоматизация тестирования Android приложений с помощью UIAutomator
Источник фото Тестирование — это очень важный процесс во время разработки приложений. В случае Android, тестирование приложения следует производить на большом количестве устройств, в связи с тем, что...
https://issuetracker.google.com/issues/127100532 с 2019 года Гугл просят добавить поддержку JUnit5. Если считаете, что
+1 играет роль, то влепите. Ну невозможно же уже. Как минимум параметризация тестов в JUnit5 намного лучше. В 4 она прям совсем базовая.Когда-то давно, когда я только вкатывался в автоматизацию и в программирование в целом, у меня очень часто что-то не работало, хотя мне казалось, что код написан правильно. Нет, всякий раз это были мои ошибки, а не библиотек или чего-то ещё.
Прошло несколько лет. Каждый, сука, раз, это ошибки библиотек теперь, а не мои.
Я не могу запустить тест из командной строки правильным способом:
Получаю, что OK, 0 тестов выполнено. Хотя раньше всё работало.
А проблема в том, что в Google сломали такой способ запуска ПАРАМЕТРИЗИРОВАННЫХ тестов. Не параметризированные работают по-прежнему.
https://issuetracker.google.com/issues/321752267
Судя по приоритетам и важности, исправления будем ждать долго.
Прошло несколько лет. Каждый, сука, раз, это ошибки библиотек теперь, а не мои.
Я не могу запустить тест из командной строки правильным способом:
adb shell am instrument -w -e class xyz.myachin.letsappsbeupdated.rustore.tests.RuStoreDescriptionTest#whatsNewTestRuStore xyz.myachin.letsappsbeupdated.test/androidx.test.runner.AndroidJUnitRunnerПолучаю, что OK, 0 тестов выполнено. Хотя раньше всё работало.
А проблема в том, что в Google сломали такой способ запуска ПАРАМЕТРИЗИРОВАННЫХ тестов. Не параметризированные работают по-прежнему.
https://issuetracker.google.com/issues/321752267
Судя по приоритетам и важности, исправления будем ждать долго.
👍6