Разделы портала

Онлайн-тренинги

.
Умирает ли ручное тестирование?
19.12.2016 11:43

Автор: Альберт Гареев (Albert Gareev)

Оригинал статьи: http://automation-beyond.com/2016/12/06/is-manual-testing-dying/

Перевод: Ольга Алифанова

"Умирает ли ручное тестирование?", "Мертво ли оно уже"?, "Когда его полностью заменит автоматизация"…

Эти вопросы всплывают очень часто – я вижу их в ЛинкедИне, на Куоре, в Твиттере.

Я бы разделил ответы на эти вопросы на три категории. Примеры ниже.

  • НЕТ! Оно не ручное! Это умственный труд, требующий размышлений! Что за идиотский вопрос?
  • Да. Все тестирование можно заменить автоматизацией и инструментами.
  • Сейчас ручное тестирование требуется гораздо меньше по ряду причин, но оно никогда не исчезнет.

Когда я думаю об ответах типа 1, я вижу в них эмоциональный заряд. Я научился этому у Джерри Вайнберга. Источник эмоции может быть страхом, чувством незащищенности или даже превосходства. Не могу сказать, что я удивлен. Те же чувства выражают рекрутеры и бухгалтеры – их профессии тоже подвергаются переменам, и ручной труд постепенно берут на себя инструменты.

Лично я больше склоняюсь к ответам типа 3. Это репост моего ответа с сервиса вопросов и ответов Quora.

Да, ручное тестирование умирает. И вот почему.

Конвергенция ролей, эволюция набора навыков

Замечали, как разные виды животных очень похожи друг на друга? Это произошло не просто так, им пришлось приспосабливаться к похожему окружению.

Заметьте, что один из этих видов уже вымер.


Индустрия разработки ПО проходит через перестройку. В ней остается все меньше и меньше ролей, в которых людей выполняют всего одну функцию.

Что касается тестирования, парадигма ручного запуска тест-кейсов отмирает, и это происходит множеством путей:

  • Тест-дизайн и выполнение идут рука об руку (исследовательское тестирование).
  • Программисты тестируют на уровне продукта, тестеры проводят код-ревью и пишут юнит-тесты.
  • Продакт-оунеры и бизнес-аналитики тестируют и общаютс с программистами.
  • Подходы вроде Agile, DevOps, Lean делают упор на качество процесса. Вся команда отвечает за качество каждой стадии процесса. Вся команда тестирует.

И в то время как чистое "черноящичное функциональное тестирование" может вымереть, как вон тот ихтиозавр, тестирование как критическое мышление и решение проблем живо, будет жить, потому что это предок всех инженерных профессий.

И вот еще о чем мне хотелось бы написать

Об этой странной классификации – "ручное", "автоматизированное".

Если тестировщик общается с продуктом вручную и через интерфейс. Многие называют это ручным тестированием. В таком случае в мире очень много ручных вещей – ручное вождение, ручные звонки, ручное приготовление еды, ручная еда… даже ручной найм и ручной менеджмент.

Для контраста, если исполнение кода или некоторые инструменты вовлечены в процесс, люди начинают называть это "автоматизированным" тестированием. Назовите хоть один вид деятельности, где программы или инструменты не участвуют никоим образом! Машины, телефоны, миксеры и секс-игрушки, телевизоры и стиральные машины – все это имеет программы внутри, все это автоматизировано!

И если мы используем компьютер – мы ВСЕГДА используем программы и инструменты.

Есть еще один взгляд на понимание этого вопроса, связанный с созданием программ, помогающих тестированию:

  • Если я использую инструмент, чтобы выполнять действия в интерфейсе и проверять значения каких-то параметров, я "автоматизирую" ручные кейсы.
  • Если я кодирую API-вызовы и верификацию данных, я кажусь "автоматизированным" тестировщиком, в отличие от "ручных" операций через GUI.

Мне кажется, что это дурацкое заблуждение. Мы можем делать что-то не вручную, но мы всегда шевелим мозгами. Мы можем использовать GUI напрямую или запустить скрипт, но мы всегда используем свои серые клеточки, чтобы оценить результаты, и мы всегда "вручную" исследуем ситуацию, если нам нужна дополнительная информация.

Множество продуктов принимает данные не только через GUI – файлы, базы данных,API. Тестирование этих вещей требует специальных инструментов. Многие из них легко доступны, а некоторые надо писать с нуля.

Есть также приложения, которые воспринимают жесты, поэтому с ними работают именно руками.

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

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

Роли и должности могут различаться, должность "тестировщика" может вообще отсутствовать – лишь бы функция тестирования выполнялась на высшем уровне членами команды.

Обудить в форуме