Статьи

Зачем тестировщику знать базы данных?



Иногда мне задают вопрос «зачем тестировщику знать базы данных?»

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

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

Как при ручном тестировании, так и при автоматическом могут использоваться прямые запросы в БД. Именно поэтому нужно уметь с ними работать.
В дополнение скажу, что знание особенностей работы различных баз данных позволяет вывести тестирование на совершенно другой профессиональный уровень.
Стоит отметить ещё, что есть разработчики и тестировщики баз данных. А иногда, мы можем тестировать базу данных отдельно от всего приложения, как отдельный компонент системы.

Кстати, на базовом курсе по тестированию мы учимся работать с БД и SQL запросами.