|
|
||
Многие думают о том как начать писать автотесты и после нескольких написанных автотестов бросают это дело. Бросают потому, что сложно писать, непонятно какие технологии и как использовать, нет времени на это и никто не поддерживает. Сложно идти одному против энтропии, пытаясь побороть сразу несколько источников дискомфорта.
Среди первых вопросов новичков: что стоит автоматизировать, а что не стоит? Какой язык программирования выбрать и сопутствующие инструменты? Как научиться правильно строить селекторы? Какая отчетность нужна для создания автотестов? Ответы на все эти вопросы предполагает погружение новую для тестировщика тему. Это связано с затратами времени и преодолением сопротивления на пути к новому.
Какие шаги можно сделать на пути написания автотестов, чтобы реализовать свои задумки?
Без изучения программирования не получится писать код регулярно. Желательно писать на одном языке с программистами, чтобы было кому смотреть на код и задавать глупые вопросы. Составьте план изучения ЯП, определите сроки и начинайте двигаться вперед по шагам. Не забывайте отслеживать прогресс. Чтобы научиться писать автотесты, нужно просто писать автотесты. Автоматизируйте вначале простой проект, потом проект посложнее.
Если не уверены как работать со сложным элементом или с анимацией - то просто пропустите тему. Потом вернетесь к ней с новым уровнем знаний и поймете как это делается. Не пытайтесь стать экспертом в теме после двух недель написания автотестов, это невозможно. Пишите автотесты, делайте ошибки и исправляйте их. Пытайтесь узнать как сделать лучше.
Какой выбрать ЯП? Желательно тот, на котором написан проект или который поддерживают разработчики. Желание писать на знакомом или удобном языке понятно, но не поможет другим поддерживать ваш код. Для компании важно, чтобы код был читаем и его можно было поддерживаться. Чтобы другие тестировщики, приходя на проект, могли познакомиться с автотестами или попросить помощи у разработчиков.
После изучения ЯП можно составить список тем для дальнейшего обучения. При работе с кодом вы столкнетесь с использованием репозиториев и тем как устроен Git. Изучите архитектуру системы контроля версий. Далее автотесты могут быть встроены при сборке билдов, поэтому вам нужно будет понять как работает ваш сервер сборки. После этого встанет вопрос касательно системы отчетности, которая бы подходила под ваши цели.
Практика в этих темах приведет к многочисленным ошибкам и состоянии "тупика" - когда вы упираетесь в стенку своего незнания. Или непонимания. Когда готовых ответов нет и часто не у кого спросить. Дорогу осилит идуший.
Желательно выбрать проект и тест-кейсы, которые будете автоматизировать. В вашем плане должен присутствовать список тест-кейсов для автоматизации и сроки к которым вы их напишите. Регулярно измеряйте прогресс и делайте заметки.
Проект не должен слишком часто меняться, поскольку выбранные вами селекторы со временем будут меняться. Это приведет к доработкам и к изменению структуры самих тестов. Проект должен быть покрыт тестами согласно пирамиды тестирования. Если на проекте нет юнит-тестов и интеграционных тестов, то не старайтесь закрыть эти бреши с помощью E2E тестов.
Тестировщики не пишут юнит-тесты и не должны работать с кодом, написанным разработчиками. Правильный подход включает в себя то, что сами разработчики пишут юнит-тесты и интеграционные тесты, а тестировщики автоматизируют пользовательские сценарии. Попытка сделать работу приведет к тому, что ресурсы тестирования будут растрачены на анализ кода разработчиков.
Вы должны развиваться в плане кода, поэтому привлеките программистов для ревью автотестов. Новички, начинающие писать автотесты, часто допускают совсем элементарные ошибки или начинают усложнять структуры с кодом. Потом такой код невозможно читать и поддерживать. Разработчики могут дать ценные замечания в начаше вашего пути, когда многие ошибки еще не стали привычкой. В начале остаются хорошие шансы изменить свой подход.
Идеальный вариант писать автотесты вместе с разработчиками, это позволит вам укрепить связи в команде и быстрее расти. Когда человек занимается чем-то один, больше шансов остановиться или сдаться. Особенно если вы столкнетесь по-настоящему со сложной проблемой.
Со временем вы станете придерживаться принятой культуры написания кода и будете держать ваши автотесты в порядке. Неверно выбранная архитектура тестов не позволит в дальнейшем масштабироваться и легко добавлять новые селекторы. Стоит продумать структуру автотестов до того как приступить к их написанию.
Кроме самого кода важно писать документацию. Чтобы в автотестах можно было разобраться. Понять как развернуть окружение для разработки. Все настроить. Подробная документация поможет новичкам втянуться в написание автотестов и привлечет внимание к готовому решению. Вероятно, что ваши тесты могут стать примером для других, которые потянутся следом за вами. Вместе проще писать, чем одному.
В документации напишите про используйте Page Object, про свои методы, про костыли, известные только вам. Не перегружайте документацию лишними подробностями или рекламным текстом в духе "используйте только наши автотесты". Пишите строго по делу и структурно. Лишнее просто выбрасывайте.
Если вы хотите автоматизировать проект без тестовой модели, то лучше вначале напишите сами тест-кейсы. Только на основе готовых тест-кейсов, на которые можно сослаться, происходит реальная автоматизация. Ведь тесты содержат конечное количество проверок (в идеале один тест - одна проверка), а не должны проверить все.
Важно собирать цифры, которые показывают пользу автотестов. Например: с помощью автотестов удалось сократить время ручного тестирования на 30%. Теперь полный регресс занимает 20 минут вместо 2 дней. Точные формулировки позволят сомневающимся принять то, что ваш инструмент полезен. В любом споре цифры лучший аргумент. Прочный запас цифр позволит продавать идею автотестов другим и просить дополнительные ресурсы на написание автотестов. Если автотесты приносят пользу компании, это можно показать на языке цифр.
Представьте статистику в блоге компании или на очередной технической встрече. Сделайте презентацию где бы вы рассказали о своем опыте написания автотестов. Многие новички боятся начать и сделать свои ошибки. Ваш опыт поможет другим втянуться в написание автотестов.
Важна также статистика прогонов автотестов. Сколько раз и как часто были запущены тесты, сколько было падений и как удалось решить все возникающие проблемы. Такие данные позволят внести коррективы в тесты и исправить ошибки.
|
Новые книги авторов СИ, вышедшие из печати:
О.Болдырева "Крадуш. Чужие души"
М.Николаев "Вторжение на Землю"