Есть отличная удаленная работа для php+codeception+jenkins+allure+docker спецов. 100% remote! Присоединиться к проекту

Как происходит автоматизация тестирования?

design-patterns
framework
process
web
Теги: #<Tag:0x00007f7b652f3ec8> #<Tag:0x00007f7b652f3838> #<Tag:0x00007f7b652f35b8> #<Tag:0x00007f7b652f3130>

(Mikhail Barinov) #1

Всем привет! Я начинающий тестировщик. Занимаюсь ручным тестированием ВЕБ-платформы. Всё что входит в мою работу - это клацание по разным ссылкам, настройка и проверка разных фильтров в системе и т.п. То есть я проверяю фактическое исполнения кода программы, а именно получение результата, который и должен быть. Хочу Вас спросить - так ли работают все остальные ручные тестеры в мире? Или у меня одного такой странный принцип работы?

Ещё один вопрос (изучаю, чтобы стать профессионалом (со временем) в своей работе) - как производится автоматизированное тестирование. На всех ресурсах написано всё слишком сложно, с профессиональной терминологией, которой меня даже на работе не обучают и не рассказывают, говоря делать то, что я описал выше. Так может ли кто либо описать процесс автоматизации свободным языком, например, выучить определённый язык программирования, скачать “такую-то” программу, которая будет проводить тест, и визуальный пример работы и написания кода в такой программе. Ничего подобного в интернете нет. Или я опять чего-то не понимаю?

П.С. Не бомбите на меня. У меня нет профильного образования, но я не нуб и не школьник в обращении с компьютером. Тема очень интересна и хочется в ней расти.

Заранее большое спасибо за помощь!


(Bolatbek) #2

(Bolatbek) #3

Что-то меня в гугл занесло.



http://spirogov.github.io/probliema-junior-automation-qa/


(Mikhail Barinov) #4

Час от часу не легче… Суть моей работы описывает типичного тестировщика или всё-таки я чем-то совершенно непонятным занимаюсь с названием “тестировщик”?

Я начинал изучать информацию с Википедии, но там чисто технический язык. Я его не противлюсь, термины учу и изучаю. Моя суть вопроса такова (если получится проще сказать) - как именно создаётся автоматизированное тестирование? Просто все пишут о ньюансах - о типе кода, различных программ для тестирования и т.п. И никто не описывает автоматизацию на примере алгоритмов, как это делают программисты, прежде чем писать код.


(Mikhail Barinov) #5

Mes, Вам всё равно спасибо за ответы! Любые ответы от знающих людей всё равно лучше, чем самопроизвольный поиск того, не знаю чего))) Иду изучать Ваши ссылки =) Может я и правда что-то упустил в данной профессии…


(Bolatbek) #6

Вопрос просто ваш не совсем ясен.
Наверное лучше начать с книги - Роман Савин “Тестирование dot com”.
Можно найти в инете pdf.
Прочитайте. Что-то станет понятнее вам лично, а потом напишете конкретные вопросы.


(Mikhail Barinov) #7

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


(Yury) #8

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

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

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

Постепенно глобальный вопрос “как автоматизировать” разобьется на множество мелких конкретных задач.


(Mikhail Barinov) #9

Спасибо за ответ! Я на самом деле обычный исполнитель, который хочет в дальнейшем внести автоматизацию в компанию, в которой нахожусь. Руководству и моим коллегам этого и подавно не нужно. Необходима автоматизация только верховному руководству, которое нас и в глаза не видела, но слышала по скайпу)) Это моя личная инициатива. Но прежде чем идти к руководству с решительностью всё автоматизировать, нужно подготовиться. Как раз для этого я и задаю вопросы, поскольку запутался немного.

Как и раньше говорил - это личная инициатива, которая построена на повышении профессиональных знаний, что позволит потом занять более достойное место в текущей компании где я работаю, а в дальнейшем и в IT мире (хотя бы в нашей стране). Путь долгий, но я ничего не боюсь.


(Yury) #10

А откуда у вас такая уверенность?

Может в вашей компании и без автоматизации все хорошо?

В любом случае добро пожаловать в мир, где лучшее враг хорошего, а инициатива наказуема, но вам при этом нужно сохранить инициативу делать этот мир лучше :slight_smile:


(Mikhail Barinov) #11

Безусловно этого меня никто лишить не сможет) Даже я сам себя =)

Может быть.

Слышал лично от директора компании и от коллег, что он достаточно давно грезит автоматизированным тестированием. Понимаю, что любые подобные внедрения будут только с подачи непосредственного руководителя. Но если, они всё таки решат это сделать, то хочу уже быть готовым, если и не на 100%, то хотя бы на половину, чтобы потом быть у руля.

Начну я пока с Савина и с простого описания, что такое Selenium WebDriver. Дальше будет видно. Ну и естественно поброжу по форумам.

Ещё раз спасибо, за то что уделяете время таким как я! :blush:


(Yury) #12

Не надо начинать с Савина (имхо). Так (почти) все делают.
Начните с Канера и Соммервиля.


(Bolatbek) #13

Для начинающего - отличная книга. Все же рекомендую с Савина.
А потом можно и Канера и Соммервиля.


(Yury) #14

Ок. От перемены мест слагаемых и т.д. :slight_smile:


(Alexey Potapov) #15

Так если не нуб. А тем более ты должен быть “рак”. На сколько я понял, ты не читал книги, даже “дот ком”, где написано по русски. И помни тестер нудная работа.
Автоматизация веб идет через селениум. Язык выбирай ближе к разрабам. Но помни ты только функционал, если что то серьёзное, то свои скриптики. А так, добро пожаловать!
Есть конкретные вопросы, пиши в личку или почту. 12 лет в этом… Да, нет. Я буду честен, в ГОВНЕ. Веб это хаус.


(Bolatbek) #16

Другими словами - добро пожаловать в какашку )))


(Alexey Potapov) #17

Да. Ты получаешь бонусов меньше. Хотя кодить ты не хотел. И помни фразу: “Кто здеся накодил?!”. И она должна звучать, как шутка. Ты единое звено перед заказчиком. Прогеры твои юниты и друзья, мать их так…
И всегда, спасибо им, без “ихнех” багов, мы не нужны.


(Dmitri Komarist) #18

Если ты хочешь рости в автоматизацию то начни с книг:

  1. Гибкое тестирование. Практическое руководство для тестировщиков ПО и гибких команд
  2. Джерард Месарош - Шаблоны тестирования xUnit. Рефакторинг кода тестов - 2009

Изучи тестирование без ГУИ интерфейсов, тестирование посредством Restful и SOAP сервисов, выучи один из языков програмирования Java, Python, JS, PHP (выбери тот с которым тебе смогут помочь твои разработчики)

Выбери уровень тестирования в котором ты хочешь развиватся:

  1. Автоматизация через ГУИ - самое простое, самое востребованое на рынке (учти конкурентов у тебя будет очень много, тесты будут очень не стабильными и медлеными, работы с поддержкой таких тестов будет просто тьма)
  2. Автоматизация посредством Restful и SOAP интерфейсов - зависит от ваших проектов (если у Вас это используется) это будет более правильный выбор, тесты быстрые и на порядок стабильные, работы с поддержкой также намного меньше (конкурентов на рынке также будет меньше)
  3. Автоматизация на уровне класов и модулей (юнит) - самый сложный тип тестирования, впринципе им должны заниматся разработчики но если ты сможешь дорости до такого уровня то конкурентов у тебя практически не будет (это самый стабильный тип тестов, наиболее быстрый и приносит максимальную пользу поскольку очень точно локализирует проблему и позволяет поправить ее в считаные минуты), если решишь заниматся таким типом тестирования прийдется стать больше программистом чем тестировщиком и потратить очень много времени на изучение языков программирования принципов работы БД и т.п.

Я считаю что если желание и упорство у тебя все получится и не нужно слушать комменты по поводу: нудно, нуб и т.п. Все в твоих руках.


(Vatslau) #19

Я вооще не технарь но вот мой путь с нуля:

  1. Если нету времени ничего не читай пока не понадобится(как появилось время и главное практика - можно задаться хорошими и умными книгами - они помогут из говнокода сделать что-то более приличное, но если нету даже говнокода - читать их бесполезно)
  2. Когда понадобится совет - 99% ответов на стаковерфлоу и 1% на Гитхабе в гистах
  3. Хочешь начать кодить начни хотя бы с String a = “qqqerwerewr”
  4. Возьми любой тупой туториал и начни ПРЯМО сейчас
  5. Скачай Идею бесплатную и напиши СЕЙЧАС первую строчку кода
  6. Не использую мавен и прочее устаревшее г…но, только новое - если скажешь что в сети ничено нет - враньё, куча видосов(не все полезны но в итоге правильные есть)
  7. Не знаешь как делать - ищи сниппет, примени, потом разберёшься
  8. Не понятно как работает билиотека любая - найди минимально работающий пример - потом покрутишь - разберёшься, расширишь, отрефакторишь и выкинешь тот говнокод, который скопипастил для начала.
    как-то так

(Михаил Братухин) #20

@Mikhail_Barinov, как начинающему тестировщику советую не гнаться за автоматизацией. Начните с азов. Подтяните сам уровень тестирования, методологию, всякие техники (mind-map, pairwise и т.д.). Например, пройдите сертификацию по ISTQB или хотя бы просто просмотрите их материалы: http://www.rstqb.org/ru/istqb-downloads.html. Посмотрите в сторону изучения самих web-технологий, протоколов. Посмотрите в смежные области тестирования - защищенность, юзабилити и т.д.

А автоматизация - это всего лишь инструмент не делать руками то, что можно отдать на откуп машине. Причем очень часто она очень затратная и по деньгам и по времени. Для правильной автоматизации нужно учить языки, инструмены, но при этом применять с учетом прикладных знаний, как в области тестирования, так и в области приложения, чтобы не тупо повторять действия пользователя и делать долгие и нестабильные UI-тесты, а умело применять “черные ходы” в программах.