Насколько хорошо надо программировать автоматизатору?
Большинство мануальных QA-инженеров, говоря по правде, боятся программирования. Следует признать и тот факт, что далеко не всегда у них есть возможность/желание залезть "под капот" ПО, чтобы посмотреть, как работают тестируемые системы и приложения. Правдой является и то, что очень многие из обычных тестировщиков так или иначе думали про переход в автоматизацию (вот, мол, наберусь опыта, а потом...). И это "потом" никогда не наступает. Почему?
Так как же начать заниматься именно автоматизированным тестированием?
Основная проблема заключается в том, что основой автоматизированного тестирования является программирование. Да-да, вы не ослышались. Не овладение инструментами автоматизации типа Selenium. Не хорошее знание теории. Не глубокое понимание процедуры поиска элементов web-страницы посредством всевозможных локаторов. А именно программирование.
Если вы действительно хотите попасть в автоматизированное тестирование, программированию придется научиться. И чем лучше вы будете программировать, тем успешнее вы станете автоматизировать.
Что лучше учить?
Современные работодатели ищут специалистов с хорошим пониманием ООП-языков. Очень популярны и востребованы QA-автоматизаторы, знающие: - Java, - C#, - Python, - JavaScript.
Если вы видите свое будущее на проекте, на котором сейчас работаете ручным тестировщиком, следует выбирать язык, исходя из требований проекта. Если нет (или если вы только пытаетесь попасть в IT), тогда лучше выбирать наиболее востребованные на рынке языки -- нужный стек технологий всегда можно определить путем изучения вакансий.
Итак, какие именно знания программирования могут понадобиться в профессии автоматизатора (в контексте ООП):
- общее понимание ООП (классы, объекты, экземпляры, атрибуты, наследование и т. п.);
- модули, стандартные библиотеки;
- cтруктуры данных (списки, cловари, кортежи и пр.);
- типы данных (строки, целые числа, символы, числа с плавающей запятой, логические/булевы типы, NoneType и пр.);
- переменные;
- механизм обработки ошибок и исключений;
- арифметические операторы и порядок приоритета;
- логические булевы операторы, операторы сравнения;
- процедуры/методы/функции;
- потоки управления: If-утверждения, for- и while-циклы и пр.;
- чтение и запись в файлы.
Вывод
Программирование является основой автоматизированного тестирования. Если вы научитесь программировать, вы без проблем научитесь автоматизировать.
Если же вы совсем новичок, обратите внимание на следующие базовые курсы в Otus: - видеокурс "Ручное тестирование"; - курс "Java QA Engineer. Basic"; - курс "QA Engineer. Basic".
Большой выбор базовых курсов по языкам программирования, используемым в автоматизации, есть и в разделе "Программирование".
По материалам https://simpleprogrammer.com/start-test-automation-part-1/.