Какие виды тестирования обычно не поддаются автоматизации?

Ответ

Автоматизация неприменима или малоэффективна в видах тестирования, требующих человеческого восприятия, креативности или субъективной оценки.

Основные примеры:

  1. Юзабилити-тестирование (Usability Testing)

    • Почему: Оценивает удобство, интуитивность и общее впечатление пользователя от интерфейса. Требует обратной связи от реальных людей.
    • Пример: Определение, насколько легко найти кнопку "Купить" или понять навигацию меню.
  2. Исследовательское тестирование (Exploratory Testing)

    • Почему: Основано на импровизации, изучении продукта и одновременном проектировании и выполнении тестов. Требует аналитического мышления тестировщика.
    • Пример: Спонтанная проверка комбинаций полей в форме после изучения новой функциональности.
  3. Ad-hoc тестирование

    • Почему: Неструктурированное, спонтанное тестирование без заранее подготовленных тест-кейсов или плана.
  4. Тестирование доступности (Accessibility Testing)

    • Почему: Хотя базовые проверки (наличие атрибутов alt) можно автоматизировать, оценка смысловой полезности и реального опыта для пользователей с ограниченными возможностями требует ручной проверки со скринридерами и другими ассистивными технологиями.
# Пример: Автоматизация может проверить наличие alt-текста, но не его качество.
def test_image_alt_exists():
    images = driver.find_elements(By.TAG_NAME, "img")
    for img in images:
        alt_text = img.get_attribute("alt")
        assert alt_text is not None and alt_text != "", "Alt text is missing"
# Человек должен оценить: "Alt='График продаж за 2023 год'" лучше, чем "Alt='chart1'"

Ответ 18+ 🔞

Ага, вот и они, священные коровы, которых никакой скрипт не переплюёт! Смотри, есть такие штуки в тестировании, где железный робот сдохнет, как муха на стекле, а человек — ну, тот, у кого мозги ещё не совсем в аутсорс ушли — просто расцветёт, как хитрая жопа в мае.

Основные примеры, где человек — царь и бог:

  1. Юзабилити-тестирование (Usability Testing)

    • Почему, блядь? Потому что тут надо оценить, не пиздец ли пользователю разбираться в твоём интерфейсе. Робот скажет: "Кнопка на месте, атрибут id есть". А человек посмотрит и выдаст: "Да эта кнопка 'Купить' спрятана так, что её только через ебучую лупу и с молитвой найти можно, я уже три раза в корзину хуйню какую-то положил, а оформить не могу, пиздец!"
    • Пример: Понять, почему бабушка или даже ты после пятой рюмки не можешь найти, где тут отписаться от спам-рассылки.
  2. Исследовательское тестирование (Exploratory Testing)

    • Почему? А потому что это чистой воды импровизация, ёпта! Это когда тестировщик, как заправский джазмен, берёт продукт и начинает на нём такие пассажи выдавать, какие ни один заранее написанный тест-кейс и не снились. Нужны мозги, интуиция и чуйка, где сейчас нажать, чтобы всё полетело к чертям.
    • Пример: "Так, добавили новую фичу с drag-n-drop... А что если я перетащу этот файл не туда, а прямо на иконку браузера? Опа, а система у меня в целом зависла! Вот это находка!"
  3. Ad-hoc тестирование

    • Почему? Это вообще, блядь, состояние души. Ни плана, ни сценариев — просто сел и начал долбить продукт со словами "а дай-ка я посмотрю, что тут у вас". Автоматизировать это — всё равно что автоматизировать вдохновение, хуй с горы.
  4. Тестирование доступности (Accessibility Testing)

    • Почему? Вот тут особенно показательно. Автомат может проверить формальности — есть ли alt у картинки. Но оценить, не несёт ли этот alt хуйню полную, может только человек. Скринридер прочитает "График1" — и пользователь с нарушениями зрения поймёт нихуя. А человек-тестировщик послушает и скажет: "Бля, да тут же просто имя файла! Надо писать 'График изменения прибыли по кварталам за 2023 год'".
# Вот смотри, робот может сделать только такую примитивную проверку:
def test_image_alt_exists():
    images = driver.find_elements(By.TAG_NAME, "img")
    for img in images:
        alt_text = img.get_attribute("alt")
        assert alt_text is not None and alt_text != "", "Alt text is missing"
# И он будет счастлив, если в alt будет хоть "asdfg123". А человек возьмёт и спросит: "Мужик, 'asdfg123' — это охуенно полезный альтернативный текст, да? Иди ты нахуй с такой автоматизацией".

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