Результаты автоматизированного тестирования
В рамках автоматизированного тестирования были реализованы интеграционные автотесты, направленные на проверку взаимодействия основных модулей информационной системы. Запуск интеграционных тестов выполнялся с использованием интерпретатора PHP среды MAMP.
Интеграционный автотест формирования заказа и расчёта контрольной суммы
Первый тестовый набор имитирует корректную работу цепочки бизнес-логики формирования заказа. В тест передаётся набор данных, аналогичный содержимому корзины пользователя, включающий цену курсов и их количество. На основе этих данных выполняется расчёт итоговой суммы заказа, после чего формируется структура заказа и вычисляется контрольная сумма. Тест подтверждает, что при корректных входных данных сумма заказа вычисляется правильно, а контрольная сумма успешно формируется.
Второй тестовый набор не используется, так как основной целью данного автотеста является проверка корректности интеграции модулей корзины, заказа и механизма расчёта контрольной суммы при штатной работе системы. На рисунке 1 приведён код интеграционного автотеста формирования заказа и расчёта контрольной суммы.
Рисунок 1 – Код автотеста формирования заказа и расчёта контрольной суммы
Интеграционный автотест проверки целостности данных заказа при изменении параметров
Первый тестовый набор содержит исходные данные заказа, сформированные на основе корректно рассчитанной суммы. Для данных параметров вычисляется контрольная сумма, которая используется как эталонное значение.
Второй тестовый набор включает модифицированные данные заказа, в которых изменяется одно из ключевых полей — итоговая сумма заказа. После изменения параметров выполняется повторный расчёт контрольной суммы. Тест проверяет, что при изменении данных заказа контрольная сумма изменяется, что подтверждает корректную работу механизма контроля целостности данных. На рисунке 2 приведён код интеграционного автотеста проверки целостности данных заказа.
Рисунок 2 – Код автотеста проверки целостности данных заказа
Интеграционный автотест проверки ролевого разграничения доступа пользователей
Первый тестовый набор содержит данные, имитирующие сессию пользователя с ролью owner. Тест проверяет, что при наличии данной роли пользователь получает доступ к панели владельца магазина, что подтверждает корректную работу механизма разграничения прав доступа.
Второй тестовый набор имитирует сессию пользователя с ролью user. В данном случае тест проверяет, что доступ к панели владельца запрещён, и функция корректно возвращает отрицательный результат. Это подтверждает невозможность получения административного доступа пользователями без соответствующих прав. На рисунке 3 приведён код интеграционного автотеста проверки ролевого разграничения доступа пользователей.
Рисунок 3 – Код автотеста проверки ролевого разграничения доступа
Результат выполнения автотестов представлен на рисунке 4.
Рисунок 4 – Результат выполнения интеграционных автотестов
