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

Что такое ISTQB?

Не раз те, кто работают в тестировании слышали эту аббревиатуру. Но как показала практика не все понимают что такое ISTQB и чем оно занимается. Сегодня мы постараемся это исправить 🙂

В этой статье мы разберём следующее:

Что такое ISTQB?

ISTQB (International Software Testing Qualification Board) — некоммерческая организация, занимающаяся определением различных принципов развития сферы тестирования ПО: структура, материалы, правила аккредитации, сертификации и т.п.

Первоначально организация была основана в Эдинбурге в ноябре 2002 года. На данный момент компания официально зарегистрирована в Бельгии.

Из определения мы можем понять, что ISTQB ставит перед собой 2 задачи:

  1. Развитие и стандартизация всех направлений тестирования;
  2. Сертификация специалистов по тестированию.

Одна из главных проблем тестирования в том, что в сети очень много противоречивой информации.

Потому банально даже определение понятия тестирования разные источники трактуют по-разному. Кстати, эту проблему мы обсуждали не так давно в статье Что такое тестирование?

ISTQB в свою очередь создаёт материалы и развивает тестирование в соответствии с международными стандартами ISO, IEEE, и т.д. для того, чтобы специалисты со всего земного шара могли разговаривать на одном профессиональном языке.

Немного фактов и цифр к 2021 году:

Можно видеть, что ISTQB уже почти полностью покрыл весь мир своими коллегиями — сообществами

Какие направления тестирования развивает ISTQB?

Как видно на изображении ниже, ISTQB развивает 3 направления работы специалистов по тестированию:

  • Core — основное направление тестирования и управления
  • Agile — направление работы в гибких моделях разработки
  • Specialist — более узкие направления тестирования

Каждое направление поделено на уровни:

  • Foundation;
  • Advanced;
  • Expert.

На 2021 год Expert уровень есть только в Core направлении.

В рамках каждой уровня, ISTQB разрабатывает модули (направления сертификаций) с программами обучения и рекомендованной литературой, что отлично помогает систематизировать свои знания в выбранном направлении.

Несмотря на то, что базовый уровень есть во всех направлениях, Foundation Level: Certified Tester в Core направлении является отправной точкой и первым с чего стоит начинать своё совершенствование в области тестирования.

Помимо этого, наличие сертификата Foundation Level: Certified Tester является обязательным для прохождения экзаменов на Advanced Level в Core направлении или Foundation Level в Agile и Specialists ветках. Т.е. нельзя пойти сдавать экзамен на Agile Tester, не сдав до этого экзамен на Certified Tester.

Для того чтобы перейти на Expert уровень в Core направлении необходимы как минимум сертификаты Foundation Level: Certified Tester и Advanced Level: Test Manager. То есть Необязательно проходить все части Advanced уровня, чтобы перейти на Expert.

В этой статье мы чуть поближе посмотрим на Core направление.

Foundation Level: Certified Tester.

Задача этого модуля — дать фундаментальные понятия того, что такое процесс тестирования и какова роль специалиста по тестированию в этом процессе.

По моему субъективному мнению, в этой программе описывается то, что должен знать хороший Junior+ специалист.

Ниже можно ознакомиться с подробным список тем:

Certified Tester должен уметь следующее:

  • Содействовать эффективному общению, используя общий словарь для тестирования программного обеспечения.
  • Понимать фундаментальные концепции тестирования программного обеспечения.
  • Демонстрировать понимание того, как разные практики разработки и тестирования, а также различные ограничения на тестирование могут применяться при оптимизации тестирования в различных контекстах.
  • Эффективно вносить свой вклад в процесс ревью.
  • Использовать установленные техники для разработки тестов на всех уровнях тестирования.
  • Выполнять тесты из заданных тестовых спецификаций.
  • Понимать базовые принципы управления тестированием: ресурсы, стратегии тестирования, планы тестирования и управление рисками.
  • Писать и сообщать чёткие и понятные отчеты о дефектах
  • Понимать факторы проекта, которые определяют приоритеты тестирования и подход к тестированию
  • Понимать ценность, которую тестирование программного обеспечения приносит заинтересованным сторонам
  • Оценивать, насколько действия по тестированию и рабочие продукты согласуются с целями, показателями и задачами проекта.
  • Помогать в выборе и внедрении различных инструментов тестирования.

К сожалению, многие люди делают выводы обо всём, что делает ISTQB только по этой одной программе.

Отсюда вытекает множество мифов о том, что ISTQB не даёт и не проверяет практические и технические навыки. Но ведь на самом то деле ни одна базовая программа этого не даёт. Как и говорилось выше, задача базового уровня — дать представления об ОСНОВАХ тестирования. С которыми уже можно будет работать на других уровнях\модулях.

Advanced Level: Test Analyst

Задача этого модуля — подготовить хорошего тест-дизайнера и тест-лида функциональной команды по тестированию. Который, в дополнение к функциональному тестированию, может проводить и некоторые «нетехнические» нефункциональные виды тестирования, такие как тестирование переносимости (Portability), доступности (Accessiblity) графического интерфейса (GUI) и удобства использования (Usability).

Подробный список тем можно увидеть ниже:

Test Analyst должен уметь:

  • Выполнять нужные активности по тестированию в соответствии с жизненным циклом проекта;
  • Определить надлежащую приоритизацию активностей по тестированию на основе информации, предоставленной в результате анализа рисков;
  • Выбирать и применять соответствующие техники тестирования на основе определенных критериев покрытия;
  • Предоставлять соответствующий уровень документации для каждой активности по тестированию;
  • Определять как именно будет выполняться функциональное тестирование;
  • Эффективно работать в команде юзабилити-тестирования;
  • Эффективно участвовать в анализе требований / User Stories с заинтересованными сторонами, применяя знания о типичных ошибках, допущенных в рабочих продуктах;
  • Повышать эффективность процесса тестирования с помощью различных инструментов.

При подготовке и прохождении этого экзамена вы и проверите свои практические навыки.

Advanced Level: Technical Test Analyst

Задача этого модуля — подготовить хорошего технического тестировщика и тест-лида команды нефункционального тестирования. Следовательно, в этой программе глубже рассматриваются White-Box техники тестирования, а также работу с нефункциональными видами тестирования: безопасности (Security), производительности (Performance), совместимости (Compatibility) и тд.

Подробный список тем можно увидеть ниже:

Technical Test Analyst должен уметь следующее:

  • Распознавать и классифицировать типичные риски, связанные с производительностью, безопасностью, надежностью, переносимостью и ремонтопригодностью программных систем;
  • Предоставлять технические элементы для планирования, разработки и выполнения тестов для снижения рисков производительности, безопасности, надежности, переносимости и ремонтопригодности;
  • Выбирать и применять соответствующие техники тестирования по методу белого ящика, чтобы гарантировать, что тесты обеспечивают адекватный уровень покрытия;
  • Эффективно участвовать в процессах ревью с разработчиками и архитекторами программного обеспечения, применяя знания о типичных дефектах в коде и архитектуре;
  • Улучшать качественные характеристики кода и архитектуры за счет использования различных методов анализа;
  • Обрисовывать затраты и выгоды, которых следует ожидать от внедрения определенных типов автоматизации тестирования.
  • Выбирать подходящие инструменты для автоматизации задач технического тестирования;
  • Понимать технические вопросы и концепции применения автоматизации тестирования.

Advanced Level: Test Manager

В рамках этого модуля ведётся подготовка руководителей тестирования aka тест менеджеров. В отличие от тест аналитиков фокусом этого модуля является управление людьми и процессом тестирования, а также улучшением этих процессов.

Подробный список тем можно увидеть ниже:

Test Manager должен уметь следующее:

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

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