Ответ
На последнем проекте распределение было примерно 60% WEB и 40% мобильного тестирования.
WEB-тестирование (60%):
- Кросс-браузерное и кросс-платформенное тестирование (Chrome, Firefox, Safari, Edge).
- Адаптивный дизайн (проверка верстки на различных разрешениях).
- API-тестирование бэкенд-сервисов через Postman и автотесты.
- Автоматизация UI с использованием Selenium WebDriver и Python.
Мобильное тестирование (40%):
- Кросс-платформенное тестирование на реальных устройствах и эмуляторах iOS/Android.
- Проверка специфичных сценариев: работа при плохом соединении, прерывания (звонки, SMS), смена ориентации.
- Автоматизация с помощью Appium.
Пример кода для проверки адаптивности веб-интерфейса:
from selenium import webdriver
def test_responsive_layout():
driver = webdriver.Chrome()
driver.get("https://example.com")
test_resolutions = [
(320, 568), # Mobile (iPhone SE)
(768, 1024), # Tablet
(1920, 1080) # Desktop
]
for width, height in test_resolutions:
driver.set_window_size(width, height)
# Проверяем наличие/отсутствие элементов, характерных для мобильной или десктопной версии
if width < 768:
assert driver.find_element("css selector", ".mobile-menu").is_displayed()
else:
assert driver.find_element("css selector", ".desktop-nav").is_displayed()
driver.quit() Ответ 18+ 🔞
А, вот это я понимаю — распределение задач, как в хорошем борделе, всё по полочкам! На том проекте, если честно, у меня было примерно 60% WEB и 40% мобильного тестирования, и это, блядь, не просто цифры с потолка, а реальная ебля с утра до вечера.
WEB-тестирование (60%): Тут, конечно, веселуха начиналась. Кросс-браузерное и кросс-платформенное тестирование — это когда ты один и тот же сайт открываешь в Chrome, Firefox, Safari, Edge, а он в каждом выглядит так, будто его дизайнер на спор с самим чёртом делал. То кнопка съехала, то шрифт пиздец какой-то, то вообще вся вёрстка в рот меня чих-пых разъехалась. Адаптивный дизайн — отдельная песня. Проверяешь на телефоне, на планшете, на мониторе размером с телевизор, и каждый раз думаешь: "Ну и на кой хуй тут этот блок на мобилке превращается в точку?". API-тестирование бэкенд-сервисов через Postman — это святое. Тыкаешь запросы, смотришь, не отдаёт ли сервер тебе вместо JSON'а какую-нибудь хуйню вроде 500 ошибки с текстом "ой, всё". Автоматизация UI на Selenium WebDriver и Python — это когда ты пишешь скрипт, который должен кликать по кнопкам, а он вместо этого начинает открывать случайные вкладки и в итоге зависает, оставляя тебя с мыслью "ну ёпта, опять этот драйвер обосрался".
Мобильное тестирование (40%): Тут уже другая история, не менее эпичная. Кросс-платформенное тестирование на реальных девайсах и эмуляторах iOS/Android — это как сравнивать "Мерседес" и "Запорожец": вроде одно и то же приложение, а ведёт себя так, будто его писали два разных разработчика, которые друг друга на дух не переносят. Проверка специфичных сценариев — это вообще отдельный вид искусства. Работа при плохом соединении? Приложение либо грузится полчаса, либо вылетает с ошибкой "сеть не доступна", хотя Wi-Fi вроде работает. Прерывания (звонки, SMS)? Открываешь форму ввода, тебе звонок — после разговора приложение либо зависло, либо сбросило всё, что ты успел натыкать. Смена ориентации? Поворачиваешь телефон — а интерфейс разъезжается так, что хоть святых выноси. Автоматизация на Appium — это когда ты полдня настраиваешь окружение, а потом скрипт падает на первом же шаге, потому что не нашёл какую-то ебучую кнопку по id, который внезапно изменился после ночного билда.
Пример кода для проверки адаптивности веб-интерфейса: Смотри, вот тебе кусочек кода, который я набросал, чтобы проверить, не превращается ли наш шикарный десктопный интерфейс в мобильную версию для муравьёв. Всё просто: запускаем драйвер, перебираем разрешения и смотрим, что где должно отображаться. Если на мобилке не покажется мобильное меню — значит, где-то вёрстка поехала, и дизайнеру пора ебать его в сраку с такими подходами.
from selenium import webdriver
def test_responsive_layout():
driver = webdriver.Chrome()
driver.get("https://example.com")
test_resolutions = [
(320, 568), # Mobile (iPhone SE)
(768, 1024), # Tablet
(1920, 1080) # Desktop
]
for width, height in test_resolutions:
driver.set_window_size(width, height)
# Проверяем наличие/отсутствие элементов, характерных для мобильной или десктопной версии
if width < 768:
assert driver.find_element("css selector", ".mobile-menu").is_displayed()
else:
assert driver.find_element("css selector", ".desktop-nav").is_displayed()
driver.quit()
Вот так вот, блядь, и живём: то в браузерах ковыряемся, то на телефонах тыкаем, а в итоге всё равно где-нибудь вылезет баг, который всех нас заставит охуеть. Но работа есть работа, хули тут поделаешь.