Легкий способ бросить ручное тестирование и начать автоматизировать

Появлению этого поста способствовала беседа в приватном чате с одним из начинающих тестировщиков в нашем уютном чате для тестировщиков. Разговор начался с темы, что сделать чтобы стать автотестером. Оставим в стороне рассуждения на тему, что люди как правило еще руками не научились тестировать, а уже хотят автоматизированным тестированием заняться. И что же их на автоматизацию тянет будто там медом намазано. Я же просто поделился с ним как это я начал писать автотесты. Я не самый большой специалист в этом деле, но когда-то и я не умел ни программировать ни писать автотесты. Собственно это не самый (наверное) лучший способ, но наверняка самый действенный и на мой взгляд должен привести к положительному результату. Чем собственно я и хочу сегодня с вами поделиться.

Давным-давно, я даже не вспомню точно когда тестируя в 10й раз одну и туже функциональность каждую неделю, я задумался, что не плохо бы это дело автоматизировать, так как ничего сложного (как я думал на тот момент) в этом не было. Поговорив об этом с лидом разработчиков (он за одно руководил и тестированием), получил в ответ, что учить тебя автоматизации времени нет, выделять на это разработчиков позволить не можем, и вообще ты ручным тестированием должен заниматься так как тебя для этого и нанимали. Посмотрев кучу видео на youtube и прочитав несколько книг по java в свободное от работы время, это все заняло в целом 2-3 месяца, и усвоив базовые концепции языка я используя еще тот selenium 1.0 написал примерно 30 тестов оставаясь на работе дольше на полчаса-час, что покрыло примерно 80% от набора тест-кейсов который я автоматизировал. Насколько я помню проблема тогда была не в количестве тестов, а в количестве вариантов данных для этих тестов. Собственно в экономии времени на прогон тестов с разными вариантами данных и была вся фишка. Подойдя с этими тестами к лиду разработчиков запустив их и указав на то количество времени которое мы экономим наглядно он признал данное дело перспективным, и покурив над ними полчаса мы привели их к более менее приемлемому виду. Эти тесты в последствии были внедрены в CI цикл нашей разработки. Я же, уже официально, начал получать задачи на автоматизацию некоторых перспективны тестовых сценариев.

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

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