Большая часть процесса тестирования ПО сосредоточена на тестировании графического интерфейса пользователя (GUI). На этом этапе тестировщик проверяет, пригодно ли ПО для использования конечным пользователем.
Но существуют и другие элементы, которые скрыты от пользователя и недоступны для непосредственного взаимодействия, а именно backend. Это не делает эти элементы менее важными, и они тоже должны подвергаться тщательному тестированию. Мы можем объединить как backend всё, что пользователь не видит напрямую.
Вот некоторые из элементов backend:
- Базы данных
- API
- Серверы
Содержание
Тестирование баз данных
Чаще всего, когда говорят о backend тестировании, подразумевается тестирование баз данных (БД).
Базы данных являются важным элементом любого приложения. Когда GUI и БД взаимодействуют друг с другом корректно, приложение работает без ошибок. Если же возникают проблемы, вы сталкиваетесь с некорректными результатами, угрозами безопасности и проблемами с производительностью.
Базы данных обычно проверяются на:
- Требования ACID
- CRUD-операции
- Схему
- Миграцию данных
- Безопасность
- Производительность
Давайте рассмотрим несколько инструментов для тестирования баз данных:
Друзья, подпишитесь на наш телеграм канал QaRocks. Там много туториалов, задач по автоматизации и книг по QA.
1. Интерфейсы, которые позволят вам подключиться и осуществить запросы к базам данных.
- TOAD: создан для работы с реляционными базами данных. Он доступен как в бесплатной, так и в платной версии.
- pHpMyAdmin: отличный инструмент с открытым исходным кодом, который позволяет взаимодействовать с БД через пользовательский интерфейс. Если вы ищете инструмент подключения к базам данных MySQL и MariaDB, то этот инструмент точно вам подойдёт.
- HeidiSQL: очень похож на pHpMyAdmin. Он подключается к базам данных MySQL, Microsoft SQL и PostgreSQL.
2. Инструменты для тестирования производительности и нагрузки БД:
- HammerDB: инструмент с открытым исходным кодом, который поддерживает многие базы данных.
- SLOB: генератор рабочей нагрузки, предназначенный для тестирования системы ввода-вывода. С его помощью можно получить представление о процессоре, памяти и времени обработки массовых транзакций в БД.
- Swingbench: это эффективный инструмент, который работает на СУБД Oracle.
Тестирование API
Строго говоря, API не является частью backend. Но так как мы условно относим к backend всё, что не видно конечному пользователю, давайте рассмотрим и его.
API — программный интерфейс приложения, именно здесь находится вся логика программирования. У API нет пользовательского интерфейса, что является одной из самых больших проблем при его тестировании. С другой стороны, так как API чаще всего создаются до появления пользовательского интерфейса приложения, то тестирование API обычно относят к раннему этапу.
Все базы данных и приложения установлены на серверах, которые поддерживают их работоспособность.
На этой стадии проводится несколько тестов:
1. Установка: после завершения установки вы можете перейти в соответствующие папки и убедиться, что файлы/элементы установлены так, как ожидалось.
2. Логи (Logs): на серверах ведутся журналы регистрации состояния каждой транзакции. Это даёт нам представление о том, насколько корректным был процесс транзакции.
Как правило, большинство серверов представляют собой системы на базе UNIX. И для удобной работы с ними вам понадобится программа для подключения к вашему серверу.
С этим вам может помочь PuTTy — популярная программа для удалённого администрирования с открытым исходным кодом.
Системы UNIX не имеют графического пользовательского интерфейса, и именно это делает их идеальными в качестве серверов для баз данных. Они безопасны, быстры и широкодоступны.
3. Производительность и безопасность сервера:
Как и любая другая часть ПО, сервер должен быть безопасным и корректно отвечать на запросы.
Существует множество инструментов для проверки этих параметров, например, Apache JMeter, WebLOAD, LoadRunner и т. д.
Заключение
Эта статья не поможет изучить backend тестирование в полном объёме. Однако она содержит ресурсы и справочные материалы, которые помогут справиться с этой задачей.
Перевод статьи «How to Perform Backend Testing».