Тестирование

Что должен знать начинающий тестировщик?

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

Разобьём навыки на 4 блока в порядке важности:

  1. Английский
  2. Личностные качества
  3. Знания по тестированию
  4. Технические знания

1. Английский.

К сожалению, без знания английского языка сейчас очень сложно найти работу, особенно в аутсорс компании (компании, которые делают продукты под заказ или «дают в аренду» своих инженеров в другие компании). Так повелось, что почти весь аутсорс, где платят хоть какие-то деньги, направлен на западный рынок, поэтому без знания Английского языка тут никуда. При этом не обязательно обладать уровнем носителя, достаточно просто быть способным на следующие вещи:

  • Читать документацию
  • Отвечать на электронные письма
  • Понимать речь человека
  • В устной форме отвечать на вопрос и выражать свои мысли

Ничего страшного, что времена, артикли, формы слов подобраны неправильно, главное, что вас поймут.

Резюме: Английский должен быть А2 и выше.

2. Личностные качества (Soft Skills).

Вторым важным навыком я бы выделил так называемые «софт скиллс». Тестировщику без них никуда. Коммуникация у тестировщика занимает львиную долю рабочего времени. Вам нужно будет общаться с разработчиками узнавая детали реализации функционала, с бизнес аналитиками о том, как же должно работать наше ПО, с другими тестировщиками обмениваясь знаниями, с менеджерами и заказчиками отчитываясь по статусу и процессу тестирования.

Резюме: если вы токсичный социофоб, не командный игрок, то лучше задумайтесь о другой сфере деятельности.

3. Знания по тестированию.

Ну и куда же без самых основных навыков, которые применяет тестировщик в своей работе?

Разделим всё, что должен знать тестировщик на блоки:

  • Фундаментальные знания
  • Работа с требованиями
  • Тест-дизайн
  • Жизненный цикл дефекта
  • Модели разработки ПО

Фундаментальные знания
В этот блок входят понимание следующих элементов:

Работа с требованиями

  • Понимание видов требований
  • Принципы хороших требований
  • Методы работы с требованиями (волксру, инспекции и тд)

Тест-дизайн:

  • Понимание целей чек-листов, тест-кейсов, тест-сьютов
  • Знание основных атрибутов чек-листов, тест-кейсов, тест-сьютов
  • Понимание классов эквивалентности
  • Понимание таблицы решений
  • Понимание диаграммы переходов
  • Понимание попарного тестирования

Жизненный цикл дефекта:

  • Понимание отличия дефекта от отказа
  • Знание основных атибутов баг-репорта
  • Критичность vs приоритет (Severity vs Priority)
  • Понимание статусов и резолюций

Модели разработки:

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

4. Технические навыки

Во многих компаниях наличие сильных технических навыков не является обязательным, но будет большим преимущество, если в других областях есть промахи.

Что же нужно знать начинающему тестировщику?

Так как большинство проектов являются веб-приложениями, то круто будет знать следующие темы:

Базы данных:

  • Понимание связей в таблицах, ключи
  • Знание и понимание запросов: SELECT, INSERT, UPDATE, DELETE
  • Понимание работы запросов с использованием JOIN и их отличия (INNER JOIN, LEFT JOIN, RIGHT JOIN, FULL OUTER JOIN)

Веб-технологии:

  • Понимание взаимодействий клиент-сервер
  • Понимание отличий HTTPS от HTTP
  • Понимание HTTP запросов GET, POST и их отличий
  • Понимание Cookies, Cache, Sessions
  • Понимание HTML, CSS

Если приложения настольные (Desktop), то хорошо будет понимать темы:

  • Операционные системы:
  • Понимание работы Windows, Linux, OS X
  • Умение работать с консолью

Резюме: наличие технических навыков будет большим плюсом для начинающего тестировщика.

Итог:

В этой статье мы постарались собрать все необходимые знания и навыки для начинающего тестировщика.

В последующих статьях мы разберём каждый пункт в отдельно.