Масон QA | Тестувальник ПЗ
Статистика📱 Все про тестування мобільних пристроїв. 🔍 Поради, інструменти, техніки та методи для ефективної роботи. 🎯 Якщо хочеш досконало розібратися в тестуванні мобільних девайсів — приєднуйся!
- Последний пост
- 14 мая
- Последнее чтение
- 17:24
- Постов за неделю
- 0
- Всего постов
- 20
- Тип
- открытый
- Язык
- украинский
- Категория
- Карьера (по похожим)
- В каталоге с
- 13 авг.
- 1/24сутки в ленте
- —
- 1/48двое суток
- —
- 1/72трое суток
- —
Оценка по просмотрам недавних постов: пост набирает почти всё за первые сутки.
Посты
На війні загинув QA-спеціаліст, переможець Премії DOU Геннадій Міщевський https://dou.ua/goto/qViK Геннадій багато років працював у QA, писав про тестування й автоматизацію, був одним із переможців першої Премії DOU. Після початку повномасштабного вторгнення долучився до проєкту SocialDroneUA, а потім — до лав Сил оборони. Редакція DOU висловлює співчуття рідним і близьким Геннадія.
рік Коня🙃
Дуже несподівано виходжу до Вас, але не для того щоб щось розповісти, а для того щоб попросити ✨ Так трапилось, що сьогодні я зазнала нового досвіду - я потрапила під скорочення та залишилась без роботи… То ж, якщо комусь у команду потрібен компетентний Senior QA Engineer з 4 роками досвіду - я відкрита до нових пропозицій 🫶🏼 У мене в арсеналі величезний сет скілів, то ж впевнена, що зможу стати хорошим доповненням у Вашій команді! (Доречі, розглядаю і Lead QA вакансії - оскільки впевнено рухаюсь у тому напрямку ✨) 💭 Якщо у Вас чи у Ваших знайомих є пропозиції - пишіть у приватні: @mother_qa_amina
Набір в групи Мануфактури автоматизації на Java та Python триватиме до 16го березня 😇 Більше інформації отуто: https://mnfaktr.com/light
CyborgTests номіновано на Премію DOU 2026! 🏆 Друзі, ми в шортлисті категорії «Стартап із найбільшим потенціалом». Нам потрібно буквально 30 секунд вашої уваги: Перейдіть за лінком: https://dou.ua/awards-2026/ Авторизуйтесь через DOU-акаунт. Віддайте свій голос за CyborgTests. Давайте покажемо силу українського open-source! 🇺🇦🔥
☄️ SeleniumConf & AppiumConf думаю буде крута конфа для куа, хто живе автоматизацією тестування, і не лише браузерів, а й мобільних додатків! https://seleniumconf.com/
⚙️ ADB для мобайл QA Це інструмент, який реально економить наш час. Більшість qa працюють через UI: меню, налаштування, свайпи, перемикачі. ADB робить те саме, але в рази швидше та дозволяє: - швидко перевстановлювати додатки - скидати стан додатку - керувати інтернетом - запускати будь-які екрани - ловити логи і креші 🌐 Що ж таке, це ADB (взяв з інтернету визначення) ADB (Android Debug Bridge) — консольний інструмент для керування Android-пристроєм з комп’ютера. Дає нам можливість працюєш напряму з системою, минаючи зайві кліки: - один кабель - одна команда - миттєвий результат ⌛ Підключення девайса - Увімкнути Developer options → USB debugging - Підключити телефон - Ввести команду для перевірки: adb devices Побачимо щось типу: List of devices attached R58Y502H3SZ device Це deviceId, він потрібен, якщо підключено кілька девайсів. 🎯 Робота з конкретним девайсом Формат завжди один: adb -s <deviceId> <команда> Приклад: adb -s R58Y502H3SZ reboot ⬇️ Керування додатком (must-have для QA) Встановити APK adb -s R58Y502H3SZ install app-debug.apk Перевстановити без втрати даних adb -s R58Y502H3SZ install -r app-debug.apk Видалити додаток adb -s R58Y502H3SZ uninstall com.mason.qa Повністю скинути стан додатку adb -s R58Y502H3SZ shell pm clear com.mason.qa Корисно для тестування: - першого запуску - онбордингу - логіну 🔒 Робота з Permissions (реальний must-have) Подивитись усі permissions додатку adb -s R58Y502H3SZ shell dumpsys package com.mason.qa | grep permission Видати permission adb -s R58Y502H3SZ shell pm grant com.mason.qa android.permission.CAMERA Забрати permission adb -s R58Y502H3SZ shell pm revoke com.mason.qa android.permission.CAMERA Скинути всі permissions (як fresh install) adb -s R58Y502H3SZ shell pm clear com.mason.qa Ідеально для тестування: - першого логіну - онбордингу - permission-попапів ▶️ Запуск додатку та екранів Запустити додаток adb -s R58Y502H3SZ shell am start -n com.mason.qa/.MainActivity Відкрити deep-link adb -s R58Y502H3SZ shell am start -a android.intent.action.VIEW -d "mydeeplink://open" Тестуємо навігацію — не треба проходити півдодатку вручну. 🖥 Керування інтернетом Wi-Fi adb -s R58Y502H3SZ shell svc wifi disable adb -s R58Y502H3SZ shell svc wifi enable Мобільні дані adb -s R58Y502H3SZ shell svc data disable adb -s R58Y502H3SZ shell svc data enable Airplane mode adb -s R58Y502H3SZ shell settings put global airplane_mode_on 1 adb -s R58Y502H3SZ shell am broadcast -a android.intent.action.AIRPLANE_MODE --ez state true Ідеально для офлайн-сценаріїв. ✏️ Логи та діагностика Logcat adb -s R58Y502H3SZ logcat Фільтр по тегу adb -s R58Y502H3SZ logcat | grep Mason Зберегти логи у файл adb -s R58Y502H3SZ logcat > mason_logs.txt Дізнатись поточну Activity adb -s R58Y502H3SZ shell dumpsys window | grep mCurrentFocus 📸 Скріншоти та відео (для репортів) Скріншот adb -s R58Y502H3SZ shell screencap -p /sdcard/screen.png adb -s R58Y502H3SZ pull /sdcard/screen.png Запис екрана adb -s R58Y502H3SZ shell screenrecord /sdcard/demo.mp4 adb -s R58Y502H3SZ pull /sdcard/demo.mp4 🧠 Чому ADB — must-have для мануального QA? По-перше, це менше рутини, по-друге швидше відтворення багів, точніші баг-репорти та більше контролю над пристроєм. Масон QA | Тестувальник ПЗ
😁
ГПТ упав( Масон QA | Тестувальник ПЗ
🔥 Proxyman для QA: огляд функціоналу з прикладами Proxyman — це твій найліпший друг у тестуванні. Він показує все: які запити йдуть, які відповіді повертаються, що додаток відправив на сервер і яку маячню сервер повернув у відповідь. 🔽 Пройдемось по його функціоналу 🚨 BREAKPOINT — зупинка запиту/відповіді і повний контроль Breakpoint дозволяє зупинити будь-який запит або відповідь і змінити абсолютно все, перш ніж він потрапить далі. Ми можемо відредагувати: ✅ Headers Наприклад, змінити "Authorization: Bearer …" на неправильний токен → перевірити, чи правильно працює авторизація ✅ Body (JSON, FormData, будь-що) Змінити "role": "user" на "role": "admin" → перевірити, чи не дасть додаток доступ до адмінки ✅ Status Code Замість 200 зробити 500, 403 або 404 → перевірити, чи правильно додаток показує помилки та fallback екрани 💡 Приклад: Ми тестуємо оплату в мобільному банку. Сервер завжди повертає "status": "success", але дизайнер зробив екран для "status": "failed". Вмикаємо Breakpoint → змінюємо "status": "success" на "status": "failed" → дивимося, чи коректно працює логіка обробки помилки. 🚨 MAP LOCAL — імітація бекенду Ця функція дозволяє тестувати те, що сервер ще не реалізував. Створюємо локальний файл test_products.json Підставляємо його через Map Local Додаток думає, що це справжня відповідь сервера 💡 Приклад: В API ще нема ключа "discount": 70, а ми хочемо протестувати відображення великої знижки. У файлі додаємо "discount": 70 → і все працює. 🌐 MAP REMOTE — перенаправлення запитів Додаток зашитий на api.qa.com, а треба тестувати на stage.api.qa.com? Без проблем. - Вибираємо запит - Ставимо Map Remote - Перенаправляємо на staging 💡 Приклад: Продакшн повертає 3 товари, stage — 25. Хочемо перевірити пагінацію (>20) → Map Remote вирішує це. 📌 NO CACHING — завжди свіжа відповідь Мобільні додатки часто агресивно кешують дані. Вмикаємо No Caching → кожен запит йде напряму на сервер. 💡 Приклад: Після оновлення профілю UI показує старі дані. No Caching швидко показує реальні дані. ⌛ NETWORK CONDITIONS — перевірка різних умов мережі Моделюємо, як додаток працює: - у метро - у селі з 3G - у роумінгу - у тролейбусі без інтернету Proxyman дозволяє: - повільний інтернет - високу затримку - втрату пакетів 💡 Приклад: Тестуємо сторінку каталогу — при 3G фото вантажаться 10 секунд → перевіряємо placeholders, skeleton loading, стабільність додатку. ✏️ EDIT & REPEAT — тестування бекенду з різними даними Можна змінювати будь-який запит і повторно відправляти його, без повторного виконання дій у додатку. - Редагуємо body - Змінюємо параметри - Натискаємо Repeat 💡 Приклад: Тестуємо кошик у додатку доставки їжі. Сервер має обмеження: Мінімальна кількість: 1 Максимальна: 10 Якщо більше → "error": "max_quantity_exceeded" Тестуємо edge-cases: {"product_id": 42, "quantity": 0} // видалення товару {"product_id": 42, "quantity": -5} // негативне значення {"product_id": 42, "quantity": 11} // перевищення max {"product_id": 42, "quantity": 1000} // перевірка на overflow {"product_id": 42, "quantity": null} // відсутність значення {"product_id": 42, "quantity": "abc"} // некоректний тип Замість 1000 кліків кнопкою “+”, ми редагуємо запит → Repeat → бачимо реакцію сервера. 🔍 DIFF — порівняння iOS та Android Proxyman допомагає порівняти запити і відповіді між платформами або середовищами. - Що змінилося - Що зникло - Що додалося 💡 Приклад: iOS повертає: { "product_id": 42, "name": "Pizza Margherita", "price": 100, "discount": 10 } Android повертає: { "product_id": 42, "name": "Pizza Margherita", "price": 120, "loyalty_points": 5 } DIFF показує: "price" змінився → можлива проблема синхронізації "discount" зник → баг на Android "loyalty_points" додалося → нова фіча, яка поки не на iOS Proxyman — це must-have для QA. Він дозволяє бачити, змінювати, тестувати, моделювати мережу і перевіряти edge-cases, які UI ніколи не пропустить. Масон QA | Тестувальник ПЗ
‼️Прямо зараз — світовий масштабний збій у великої кількості інтернет-сервісів, зокрема, у Zoom, Teams, Google, Viber, Signal, Roblox, Amazon
Ізі
Треба рекомендувати dou прибрати смайли «клоуни», бо видно, що люди тикають їх по приколу, вони прям бісять😁
🌐 QA vs lifestyle Android Apps Для нас важливо розуміти, коли додаток може «впасти», загубити дані чи поводитися некоректно, тому сьогодні поглянемо на життєвий цикл Android-додатка очима QA. 👀 Два підходи до розробки UI: XML + Activity/Fragment — класичні додатки. Jetpack Compose — сучасні декларативні додатки. 🗝 Ключові об’єкти в архітектурі Android-додатка (XML/Compose): - Application — глобальний об’єкт, живе стільки, скільки процес додатка. - Activity — екран або контейнер UI, має власний життєвий цикл. - Fragment / Composable — частини UI, що можуть перевикористовуватися та мають власний lifecycle. - ViewModel — шар бізнес-логіки, який переживає повороти екрана та збереження стану. - Service / WorkManager — виконання фонових завдань. 🤖 Трохи пірнаємо в стейти Android-додатка: 📌 Not Running — додаток не запущений, система може його вивантажити. Перевірка: cold start, splash-екран, ініціалізація SDK. 📌 Foreground (Active) — користувач взаємодіє з додатком. Перевірка: UI-тести, функціональні сценарії, продуктивність. 📌 Background — Activity не видно, але код виконується (сервіси, push, синхронізація). Перевірка: push-нотифікації, коректне збереження даних при згортанні. 📌 Destroyed / Killed by system — процес завершений (брак пам’яті, kill з таск-менеджера). Перевірка: відновлення після kill, робота savedInstanceState, persistence (Room/SharedPrefs). ⚙️ Життєвий цикл Android-додатка (XML + Compose) та рекомендації для тестування ⚠️ XML/Activity + Fragment: onCreate() → старт, ініціалізація UI та сервісів. onStart() / onResume() → додаток стає видимим / активним. onPause() / onStop() → згортання, перехід у background. onDestroy() → завершення Activity (може не викликатися при kill). onSaveInstanceState() → збереження стану при поворотах і kill. ⚠️ Jetpack Compose: @ Composable функції → аналог onCreateView() для UI. LaunchedEffect / SideEffect → асинхронні дії при старті. DisposableEffect → очистка ресурсів при зникненні. rememberSaveable → збереження стану між переворотами та kill. ViewModel + StateFlow/LiveData → тримають дані при перевантаженні UI. 📣 Мої рекомендації для QA: - Тестувати cold start: чи всі сервіси та SDK коректно ініціалізуються. - Перевіряти перехід Foreground ↔ Background (дзвінок, push, згортання). - Контролювати збереження даних при повороті екрана, зміні теми, kill процесу. - Ловити креше при відновленні Activity (некоректна робота savedInstanceState). - Тестувати поведінку UI при перевантаженні Compose/View (особливо List/RecyclerView). - Перевіряти виконання фонових завдань (WorkManager, push, синхронізація). - Контролювати binding даних у Compose (State, remember, ViewModel). ‼️ Популярні баги (XML + Compose): - Краш при поверненні після kill через неправильне використання savedInstanceState. - Втрата даних після повороту екрана (неправильне збереження у ViewModel). - Подвійні виклики асинхронних задач у Compose через неправильне використання LaunchedEffect. - Неправильна робота push-нотифікацій у background/kill режимі. - UI «заморожується» через важкі обчислення у головному потоці. Масон QA | Тестувальник ПЗ
🎉Презентація Apple завершена! Оновлення, які показали: 📌 iPhone 17 — мінімалка тепер з ProMotion і 256 ГБ. Новий чип A19, екран 6,3”, свіжа камера й невеликі апгрейди. 📌 iPhone Air — найтонший айфон в історії (усього 5,6 мм) у титановому корпусі. Екран 6,5”, одна головна камера й обіцянка «працює цілий день» (але одразу радять докупити знімний акумулятор 🔋). 📌 iPhone 17 Pro / 17 Pro Max — повернення до алюмінію замість титану, новий дизайн і випарювальна камера охолодження. Телефото зум 8x з кропом, плюс більша батарея = більше автономності. 📌 AirPods Pro 3 — тиша стала ще тихішою 😅: кращий шумодав, захист від вологи та навіть датчик пульсу для тих, у кого немає Apple Watch. А ще додали функцію перекладу в реальному часі. 📌 Apple Watch Series 11 — дизайн старий, але тепер із 5G, вміють попереджати про високий тиск і працюють на 6 годин довше. 📌 Apple Watch Ultra 3 — отримали підтримку супутникового зв’язку й трішки збільшили час автономної роботи. 📌 Apple Watch SE 3 — бюджетна версія з Always-On Display, швидкою зарядкою та управлінням жестами. Масон QA | Тестувальник ПЗ
Камера топ. Тримання заряду топ. Live транслейтор топ. Процесор топ. Ціна не топ. 😁😁😁
видео или голосовое, без подписи
Нам би ще десь ~40 ⭐️ на GitHub назбирати, щоб на YCombinator закинути заявку 😎 Ось де треба “потицяти зірочки”: 👉 https://github.com/CyborgTests/playwright-manual-step-automation/ 👉 https://github.com/CyborgTests/playwright-reports-server То діло 2 сек, а нам сильно поможе 🙏
РЕБРЕНДЕРІНГ! 😄
9 Вересня, життя до….. і після)))