Skip to content

Latest commit

 

History

History
129 lines (93 loc) · 12.7 KB

README_QA.md

File metadata and controls

129 lines (93 loc) · 12.7 KB

Путь Тестировщика

Наверное лучший путь для вкатки в IT, это изучение английского языка.

Уровни программистов, и что нужно уметь и знать на каждом уровне: https://docs.google.com/spreadsheets/d/18FIkoJ4OTCj9wIh8GkmeFS0Lb40yKuhFMNbcxYze44s/edit#gid=789031646

Тестирование, что нужно знать: Наверное лучший путь для вкатки в IT, это изучение английского языка перед изучением языка программирования.

Тестирование можно и нужно начинать с теории. Тестирование различают по нескольким форматам так сказать, можно конечно совмещать, но сначала лучше определиться с чем-то одним - веб, мобильное, нагрузочное, перфоманс тестирование и прочие. Неплохо знать линукс, консоль. Если это Windows, то разработка на Ruby будет проблематичной. В основном на C#, Java или Python. На Ubuntu, можно работать с любым языком программирования (c C# полноценно не получится). Если разбираться с консолью unix подобных систем, то в основном юзают Ubuntu/Mac, они более удобны для разработки/тестирования. Многие сервера настроены так же на Ubuntu.

Мобильное тестирвоание это свежее и интересное направление, то есть тестирование производится на разных гаджетах. Языки программирования, можно использовать в принципе любые для мобильного тестирования, не обязательно изучать только java для android, либо swift для ios. Языки Python и Ruby, отлично подойдут для мобильного тестирования. Есть инструмент, http://appium.io/, который позволяет писать тесты для мобильных устройств, на таких языках, как Node.js, Python, PHP, Ruby, Java.

Дальше зависит от того, какой язык программирования Вы знаете, чтобы можно претендовать на автоматизатора тестирования, либо если языки программирования не знаете, то нужно начать с ручного тестирования. Можно работать и набивать руку по составлению документации, тест-кейсов, понимать жизненный цикл бага, получать небольшую ЗП и уже изучать автоматизацию. Есть основные языки автоматизации, это Java, Python, Ruby и работы больше конечно же в больших городах.

Ручное тестирование

Первая книга, наверное с которой стоит начать это - Книги Романа Савина ( Тестирование ком ) , Святослава Куликова ( Тестирование программного обеспечения ). Они уже устарели, но они же помогают понять, что такое тестирование.

Это общий сайт, где много теории, но на английском: https://www.guru99.com/mobile-testing.html

В тестировании очень любят спрашивать, как работает интернет Что такое HTTP: https://ru.hexlet.io/courses/http_protocol https://guides.hexlet.io/https-yandex-guide/ https://www.youtube.com/watch?v=DpWNiMtIsr8

Как работает интернет: https://www.youtube.com/watch?v=rfexQ2QyD4I

Как работает DNS: https://howdns.works/ep1/

Компьютерные сети | Таненбаум Эндрю, Уэзеролл Дэви https://www.ozon.ru/context/detail/id/135726580/

Сразу можно пройти бесплатный курс и получить сертификат по тестированию, начального уровня, очень советую https://stepik.org/course/58743 ( если он доступен, бывает что авторы закрывают ) Автор, работает в Яндексе. Он очень четко и понятно объясняет что и как, прям с самых-самых азов.

Так же очень интересный и полезный курс от mail - https://www.youtube.com/watch?v=3MBT9O6i0jk&list=PLrCZzMib1e9pDKLsabJYuODdVJrHYc4Jd

Полезный курс теории от ITVDN - https://www.youtube.com/watch?v=7EyX8n2Mb1A&list=PLvItDmb0sZw8npbYThWpZs5_cZU9ycos4

Нужны азы работы с базой данных, к примеру sql либо postgres. В зависимости от работы и написания разных автотестов, рубисты немного халявят, так как у нас есть очень удобный ActiveRecord. Неплохой вводный и бесплатный курс - https://www.youtube.com/watch?v=yOkj-PbCPQ8&list=PLDywto_IU4_4RU0sKfID6OY-np6uGmhlf

Есть канал тестирования, Михаила Портнова и Энди Кей. Михаила Портнова ооооочень хорошо дает теорию, но долго - https://www.portnov.com/ru и https://www.youtube.com/watch?v=9ecKqmeb9eA&list=PL_CSTk3_YGZ8i3h8yai0Lp5yrtQ8ga92G Энди Кей, в своих коротких видео на 5-7, хорошо раскрывает суть тестирования, простыми словами https://www.youtube.com/watch?v=jtEicidgRnM&list=PLN3rAY_-pdQafsbDsX4klNwwzh2IxTyok

Полезные ( Но платные ) курсы уже от ребят Learnqa: https://www.learnqa.ru/#courses

Нужен опыт работы с Linux: базовые навыки работы с терминалом. https://www.youtube.com/watch?v=tQLpAefAKuA

Управление службами Linux - https://losst.ru/upravlenie-sluzhbami-linux

Chrome DevTools guide (DOU) - https://dou.ua/lenta/articles/chrome-dev-tools-guide/

Обязанности по работе ручного тестировщика:

  • Тестирование функционала
  • Поиск и контроль проблем
  • Анализ полученных данных
  • Внесение недочетов в базу
  • Создание и поддержка тест-кейсов и тест-планов в актуальном состоянии
  • Проверка качества исправления ошибок

Автоматизированно тестирование

После ручного тестирования, можно осваивать автоматизацию, так как у Вас уже будет база знаний, фундамент. От того, какой язык программирования выбрать, зависит с какими фреймворками для тестирования можно работать. Зависит на какой системе будете разрабатывать тесты. Но обычно это Ubuntu. Я не говорю что Ruby это единственный язык, на котором можно вести тестирование, много языков подобных есть, к примеру Python, Java, PHP, Javascript. Но Ruby, как минимум, очень приятный язык, который прост, красив, удобен и понятен. Пример кода https://ibb.co/GxGbQd5. Язык программирования, на мой взгляд, важен:

  • Так как Вы весь день будете на нем писать и Вам должно это нравится. Руби именно такой язык программирования.
  • Он должен хорошо быть оплачиваемый(Ruby, Java, Python, Javascript такие)
  • На нем должно быть много вакансий(Python, Java, Javascript такие)
  • У языка должно быть хорошее и не токсичное комьюнити (Ruby такой, Javascript не такой, про Java и Python не могу сказать). Язык можно выучить самому, но самостоятельный путь может быть очень долгим. Скорее всего нужен ментор либо отличные курсы. Я могу порекомендовать ХП, так как сам их закончил, они шаг за шагом, с обратной связью, могут провести через джунгли и помочь найти работу. Состав преподавателей ХП очень крутой, мы общаемся с выпускниками и преподавателями, уже не первый год. Курс Хорошего программиста - https://goodprogrammer.ru/

В автоматизированном тестировании используется селениум Что такое селениум и как он работает, для чего нужен (теория) - Selenium WebDriver: полное руководство - https://software-testing.ru/edu/3-online/242-selenium-webdriver и https://habr.com/ru/post/152971/

Что такое локаторы - https://software-testing.ru/library/testing/testing-automation/3129-web-element-locators-for-test-automation и https://www.youtube.com/watch?v=9pBp9VDSU6M Работа с локаторами - https://www.youtube.com/watch?v=_TNh2ydpoOw

Как на практике применяется xpath/css, и что с помощью них можно сделать: https://www.youtube.com/watch?v=_LNcuGqbmoY https://www.youtube.com/watch?v=3BW7zISHri0 https://www.youtube.com/watch?v=zlWiw99bBUk

Что такое api, как используется, как писать тесты для API. https://software-testing.ru/edu/1-schedule/271-rest-api

Инструменты для тестирования API: https://software-testing.ru/library/testing/functional-testing/2676-open-source-api-testing

Работа с API: https://software-testing.ru/library/testing/general-testing/2518-rest-api-testing

Что такое Postman и как с ним работать. https://www.postman.com/ https://www.youtube.com/watch?v=ZpxjS8ZB0MA

Курс «Тестирование REST API»: https://software-testing.ru/events/2984-rest-api - платный https://www.udemy.com/course/api-2020-postman/ -бесплатный

Сайты с множеством теории на английском + вопросы к собеседованию: https://devqa.io/software-testing-fundamentals/#api_testing_interview_questions https://www.techbeamers.com/qa-interview-questions-and-answers-top-20/

Что нужно знать для автоматизации, какими ресурсами можно и нужно пользоваться и что нужно чтобы написать первые тесты: https://docs.google.com/spreadsheets/d/1oj1oJyL1ptDEuWiv8M5F9chDXE_4ij-fx9mRwToAI7s/edit#gid=1402541726

Обязанности по работе:

  • Тестирование функционала
  • Поиск и контроль проблем
  • Анализ полученных данных
  • Внесение недочетов в базу
  • Проверка качества исправления ошибок
  • Создание и поддержка тест-кейсов и тест-планов в актуальном состоянии
  • Разработка и поддержка автоматизированных тестов
  • Тестирование REST и SOAP API
  • Взаимодействие с командой разработчиков ПО и другими участниками команды
  • Проведение полного цикла регрессионного тестирования задач и багрепортов
  • Активное участие в настройке тестовых сред и процессов тестирования