Вы запускаете релиз, а на следующий день клиенты жалуются, что корзина не пересчитывает скидку при смене количества товара. Знакомая ситуация? Мы тестируем Битрикс-проекты более 8 лет и проверили 150+ сайтов. Без чёткого тест-плана, разбитого по модулям, такие баги ускользают — особенно в нестандартных сценариях. Мы предлагаем системный подход: тестирование каждого модуля по отдельности и интеграционных связок. Наша методика позволяет сократить бюджет на поддержку до 40% за счёт раннего выявления ошибок. Закажите тестирование и получите отчёт с рекомендациями — это окупается за счёт снижения числа инцидентов.
Почему функциональное тестирование критично для Битрикс?
Битрикс — сложная платформа с множеством модулей. Ошибка в одном может повлиять на другие. Например, неправильный запрос к инфоблоку приводит к дублированию товаров на листинге. Или сбой в событиях заказа — покупатель не получает письмо. Ручное тестирование без плана пропустит такие кейсы. После изменения свойств товаров необходимо перестроить фасетный индекс — это типичная точка отказа. Автоматизация снижает риск человеческой ошибки и ускоряет регресс в 3 раза.
Какие модули Битрикс проверяем?
Каталог и инфоблоки (iblock)
- Корректность фильтрации по свойствам (
IBLOCK_PROPERTY, умный фильтр) - Работа сортировки по цене, популярности, новизне — проверяем SQL в
b_iblock_element - Пагинация без дублирования элементов на стыке страниц
- SEO-теги и мета-данные на страницах разделов и элементов
- Корректное отображение торговых предложений (SKU) для товаров с вариантами
Корзина и оформление заказа (sale)
- Добавление товара, изменение количества, удаление
- Применение купонов (
b_sale_discount_coupon) - Корректный пересчёт скидок при изменении состава корзины
- Выбор доставки и оплаты, сохранение выбора при перезагрузке
- Проверка ограничений на минимальную сумму заказа
- Создание заказа без регистрации (гость)
Личный кабинет (subscribe, sale, socialservices)
- Регистрация, авторизация, восстановление пароля
- История заказов, повторный заказ
- Редактирование профиля, смена email/пароля
- Авторизация через OAuth (ВКонтакте, Google, Яндекс)
Поиск (search)
- Полнотекстовый поиск — результаты, релевантность
- Морфология (русский язык, стемминг)
- Поиск с опечаткой — если подключён модуль «Морфологический поиск»
- Отсутствие результатов — корректная страница «ничего не найдено»
Технические проверки
Ряд проверок нельзя выполнить только кликами — нужен доступ к базе и логам.
Проверка дублирования элементов на листинге
При использовании нескольких инфоблоков через CIBlockElement::GetList с JOIN по торговым предложениям часто появляются дубли. Проверяют запросом:
SELECT ie.id, COUNT(*) as cnt FROM b_iblock_element ie JOIN b_catalog_price cp ON cp.product_id = ie.id WHERE ie.iblock_id = 5 GROUP BY ie.id HAVING COUNT(*) > 1; Проверка работы умного фильтра
После изменения свойств товаров или добавления новых элементов умный фильтр может показывать устаревшие данные. Проверяют перестройку индекса:
// Принудительный пересчёт фасетного индекса \Bitrix\Iblock\PropertyIndex\Manager::markAsInvalid($iblockId); \Bitrix\Iblock\PropertyIndex\Manager::updateIndex($iblockId); Проверка событий заказа
После оформления тестового заказа проверяем наличие нужных событий в b_sale_order_change_data и корректность отправленных email-уведомлений через /bitrix/admin/mail_event_message_list.php.
Как автоматизировать тестирование на Битрикс?
Автоматизация в 3 раза сокращает время регрессионного тестирования по сравнению с ручным. Для функциональных тестов используем:
- Playwright — для end-to-end тестов браузерного флоу (корзина, оформление)
- PHPUnit — для unit-тестов компонентов и хелперов
- Postman / Bruno — для тестирования REST API (если проект использует кастомный API)
Базовый e2e-тест оформления заказа на Playwright:
test('checkout flow', async ({ page }) => { await page.goto('/catalog/product-slug/'); await page.click('[data-role="add-to-cart"]'); await page.goto('/cart/'); await expect(page.locator('.cart-item')).toHaveCount(1); await page.click('[data-role="checkout"]'); await page.fill('#phone', '+79001234567'); await page.fill('#email', '[email protected]'); await page.selectOption('#delivery', 'pickup'); await page.click('[type="submit"]'); await expect(page).toHaveURL(/\/personal\/order\/detail\//); }); Как мы тестируем: пошаговый процесс
- Анализ архитектуры сайта и интеграций — выявляем критические пути.
- Составление тест-плана по модулям с приоритетами.
- Ручное тестирование по сценариям — фиксируем баги.
- Автоматизация регрессионных тестов (Playwright, PHPUnit).
- Подготовка отчёта с рекомендациями и повторное тестирование после фиксов.
Что вы получаете?
| Что входит | Подробности |
|---|---|
| Тест-план | Сценарии для каждого модуля, приоритеты, окружение |
| Баг-репорт | Скриншоты, логи, шаги воспроизведения |
| Отчёт | Анализ рисков, рекомендации по исправлению |
| Повторное тестирование | Проверка исправленных дефектов |
Перед заказом тестирования убедитесь, что у вас есть доступ к админке и базе данных. Подготовьте тестовые данные (товары, купоны, пользователи). Определите критические сценарии (оформление заказа, оплата). Соберите логи с помощью bitrix_debug. Оставьте заявку — мы подготовим тест-план за один день.
Сроки
| Объём проекта | Срок |
|---|---|
| Landing / сайт-визитка (базовый функционал) | 1–2 дня |
| Интернет-магазин (каталог + корзина + ЛК) | 3–6 дней |
| Крупный e-commerce (несколько сайтов, b2b, интеграции) | 8–15 дней |
Свяжитесь с нами для оценки вашего проекта — мы подберём оптимальный набор тестов под ваш бюджет. Закажите функциональное тестирование и получите детальный отчёт с рекомендациями. Экономия на поддержке после тестирования достигает 40%.







