Функциональное тестирование сайта на 1С-Битрикс

Наша компания занимается разработкой, поддержкой и обслуживанием решений на Битрикс и Битрикс24 любой сложности. От простых одностраничных сайтов до сложных интернет магазинов, CRM систем с интеграцией 1С и телефонии. Опыт разработчиков подтвержден сертификатами от вендора.
Предлагаемые услуги
Показано 1 из 1 услугВсе 1626 услуг
Функциональное тестирование сайта на 1С-Битрикс
Средняя
~2-3 рабочих дня
Часто задаваемые вопросы
Наши компетенции:
Этапы разработки
Последние работы
  • image_website-b2b-advance_0.png
    Разработка сайта компании B2B ADVANCE
    1260
  • image_bitrix-bitrix-24-1c_fixper_448_0.png
    Разработка веб-сайта для компании ФИКСПЕР
    851
  • image_bitrix-bitrix-24-1c_development_of_an_online_appointment_booking_widget_for_a_medical_center_594_0.webp
    Разработка на базе Битрикс, Битрикс24, 1С для компании Development of an Online Appointment Booking Widget for a Medical Center
    584
  • image_bitrix-bitrix-24-1c_mirsanbel_458_0.webp
    Разработка на базе 1С Предприятие для компании МИРСАНБЕЛ
    751
  • image_crm_dolbimby_434_0.webp
    Разработка сайта на CRM Битрикс24 для компании DOLBIMBY
    657
  • image_crm_technotorgcomplex_453_0.webp
    Разработка на базе Битрикс24 для компании ТЕХНОТОРГКОМПЛЕКС
    989

Функциональное тестирование сайта на 1С-Битрикс

Функциональное тестирование — проверка того, что каждая функция сайта работает согласно требованиям. Звучит банально, но на Битрикс-проектах это систематически игнорируют: «клики по сайту» перед релизом не считаются тестированием. Без чёткого тест-плана, разбитого по модулям Битрикс, каждый раз что-то ускользает — чаще всего в корзине, поиске или в личном кабинете.

Тест-план по модулям

Функциональное тестирование Битрикс-проекта структурируют по ключевым модулям. Для каждого — набор обязательных проверок.

Каталог и инфоблоки (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.

Инструменты

Для автоматизации функциональных тестов на Битрикс чаще всего используют:

  • 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\//);
});

Сроки

Объём проекта Срок
Landing / сайт-визитка (базовый функционал) 1–2 дня
Интернет-магазин (каталог + корзина + ЛК) 3–6 дней
Крупный e-commerce (несколько сайтов, b2b, интеграции) 8–15 дней