Найти в Дзене

Есть ли минусы у автоматизации тестирования?

Оглавление

Как начать карьеру в автоматизации тестов на Java?
8 июня преподаватель OTUS Антон Картушин расскажет, какие задачи у начинающего автотестировщика, какие навыки и инструменты нужны на старте. Антон поделится своим опытом в работы в ведущих российских IT-компаниях и представит программу базового онлайн-курса «QA Java Engineer Basic». Вы узнаете об особенностях курса и формате обучения, а также получите возможность занять место в группе по спец.цене.

﹋﹋﹋﹋﹋﹋﹋﹋﹋﹋﹋﹋﹋﹋﹋﹋﹋﹋﹋

Автоматизированный тест имитирует взаимодействие пользователя с приложением или сервисом с целью нахождения ошибок в работе ПО. С какими же проблемами может столкнуться тестировщик, используя автоматизацию?

Человек всегда хотел облегчить свой труд, поэтому неспроста многие считают лень двигателем прогресса. Это, конечно, шутка, но в каждой шутке есть только доля шутки. Научно-техническая революция и появление машин сделали возможными автоматизацию и роботизацию во всех ее многочисленных сферах проявления. Не обошла сия участь, разумеется, и сферу информационных технологий.

Если говорить о суровых буднях тестировщика ПО, то все мы хотим, чтобы у нас был «волшебный набор» автоматизированных кейсов, чтобы тестирование выполнялось простым нажатием на кнопочку «Run!». Конечно, автоматизация сейчас есть почти на каждом проекте, но существует она на пару с ручным тестированием. То есть без работы ручками все же не обойтись. Чтобы понять почему, достаточно перечислить несколько основных недостатков автоматизированного тестирования.

-2

Отбор тестов

Проблемы могут возникать уже на стадии выбора тест-кейсов, которые надо автоматизировать. Очевидно, что далеко не все из кейсов можно автоматизировать в принципе. Если у вас есть тысяча написанных кейсов, в 99 % случаев вы не сможете автоматизировать их полностью — всегда существуют сценарии, которые надо проходить вручную.

Затраты и поддержка

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

Отдельная статья расходов (и немалая) — это поддержка. Проблема в том, что автоматизированные тесты требуют постоянной поддержки, следовательно, кому-то регулярно придется лезть в код, чтобы менять/исправлять логику теста с учетом различных обстоятельств. А таких обстоятельств может быть много, самые популярные из них — это изменение входных данных к тесту или изменение функционала приложения. То есть вместе с автоматизацией подтягивается и весь комплекс проблем, связанных с разработкой.

Но тем не менее

И все же без автоматизации сегодня не обойтись, а ее грамотное использование демонстрирует более высокие результаты при тех же вложениях. Достаточно вспомнить, что:

• автотесты быстрее человека;

• автотесты точнее человека;

• автоматизация повышает качество продукта;

• автоматизация может эффективно применяться почти во всех процессах тестирования и она особенно ценна, когда речь идет о систематически повторяющихся процессах (например, в регрессионном/интеграционном/смоук-тестировании одного и того же набора тестов каждый спринт);

• автоматизированные тесты могут выполняться по ночам.

И так далее.

-3

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