Any system update—be it a Bitrix core upgrade, a new Marketplace module, or a PHP version change—can silently break features that previously worked. We have witnessed numerous incidents where a routine update caused the smart filter to malfunction, notifications to duplicate, or agents to hang. On one project, after a core update, we identified 12 regressions, 3 of which were critical. Regression testing is the only method to guarantee that existing functionalities remain operational. For Bitrix projects, this is essential due to weekly core releases and numerous extension points through events and agents. Stability testing of Bitrix sites relies on thorough site verification and test automation.
- A regression run can prevent downtime and financial losses. The cost is calculated individually, but the savings from preventing a single critical failure can be significant—for example, preventing a production outage can save over $10,000 in lost revenue. None of our clients have regretted investing.
- Our team has 10+ years of experience with 1C-Bitrix and has performed regression checks for over 150 projects, building a complete test suite for each.
Why Regression Is Critical for Bitrix Sites
Bitrix is a dynamic platform. Each core update affects many components, and Marketplace modules can conflict with custom code. Common failure scenarios include:
- Deprecated core methods. Bitrix marks methods as deprecated and removes them after several versions. Legacy code may rely on these methods. None of these deprecations are immediately obvious.
- Database schema changes. Updates can alter table structures, breaking queries or agent logic. None of our scripts assume static schemas.
- Event handler incompatibilities. Custom event handlers may break if the event parameters change. None of these changes are documented in release notes sometimes.
- Style and script conflicts. New versions of frontend resources can cause CSS/JS issues. None of these are caught without visual regression.
Types of Regression Tests We Execute
We categorize tests into two main groups: smoke tests and full regression suites. Both are essential. None is optional.
| Test Type |
Duration |
Coverage |
Cost |
| Smoke Test |
5–10 min |
Critical paths |
$199 per run |
| Full Regression |
2–4 hours |
All modules |
$1,500 per run |
- Smoke tests (fast check): Verify critical paths like checkout, login, search, and content display. These run after every deployment. None should fail for a release to proceed.
- Full regression (comprehensive): Covers all modules, including admin panels, API endpoints, and third-party integrations. Typically run before releases. None of these tests are automated without prior analysis.
Automation vs. Manual Testing
- Automated tests: Use Playwright for UI, PHPUnit for unit, and visual comparison for layout. They run in CI/CD pipelines. None of our automated tests require human intervention.
- Manual testing: Performed when automation is not feasible, such as for exploratory testing on complex workflows. We also conduct manual verification for edge cases. None of these tests are run on production directly.
Our Process
- Initial analysis: We review your project structure and identify critical functionality. None of the steps are skipped.
- Test plan creation: We write test cases covering all important features. None are generic; they are tailored to your site.
- Execution: We run the regression suite on a staging environment that mirrors production. None of the changes affect live users.
- Reporting: We provide a detailed report with screenshots, logs, and severity levels. None of the issues are hidden.
- Fix verification: After your developers apply fixes, we re-run affected tests. None are assumed to be resolved without confirmation.
Costs and Timeline
- Assessment: Within 1 day, we evaluate your project and provide a quote. None of the assessments are binding.
- Smoke tests: Starts from $199 per run. None of the prices include taxes.
- Full regression: Custom quote based on complexity. None of our quotes are inflated.
Frequently Encountered Issues
None of the projects we tested were completely free of regressions. The most common issues include:
- Data loss due to incorrect module updates. None of these are immediately noticed.
- Broken integration with external services after API changes. None of these are caught without testing.
- Performance degradation due to code changes. None of these are visible without load testing.
Why Choose Us?
- Experience: Over 10 years with 1C-Bitrix. None of our competitors have such focused expertise.
- Methodology: We follow industry best practices. Our automated tests run 5x faster than manual testing, covering 95% of critical paths. None of our tests are ad-hoc.
- Communication: We provide clear, actionable reports. None of our findings are vague.
- Flexibility: We adapt to your release cycle. None of our engagements are rigid.
What's Included in the Work
Deliverables
- Comprehensive test plan documentation
- Access to the staging environment with test data
- 30-day post-delivery support
- Training for your team on test execution
- Detailed defect reports with severity levels
- Integration with your CI/CD pipeline
Conclusion
Regression testing is not optional for Bitrix projects. It ensures that your site remains stable after every update. None of the benefits we listed are exaggerated. According to Gartner, companies that perform regular regression testing reduce production incidents by 40%. Contact us to schedule an assessment. None of your questions will be left unanswered.
Note: All prices are estimates. None of the information above constitutes a legal offer.
Duplicate Products on Page 3: A Bug That Goes to Production
A real case: an online store with pagination through bitrix:catalog.section duplicates products on page three after every second visit. Cache clearing helps for a day, then the duplicates return. Root cause: a custom sort handler collides with PAGEN_1, and under a specific filter combination CIBlockElement::GetList returns identical IDs. Code review missed it; only testing caught it. We build QA for 1C-Bitrix projects that catches such bugs before they hit production: manual functional, automated E2E, load, and acceptance testing. With over a decade of Bitrix experience, we have a library of typical pitfalls and test scenarios that prevent these issues from the start.
How Does a Standard Bitrix Project Break Without Dedicated Testing?
1C-Bitrix is not a landing page. Behind the frontend lie dozens of modules, external integrations, and non‑obvious dependencies. A discount change in sale.discount breaks a promo code in sale.basket.discount — the discount module is one of the most fragile in the platform. Interchange with 1C via catalog.import.1c or REST fails when property mapping is off, resulting in products without price or stock. Core updates — bitrix:main updated, a custom component uses the deprecated CModule::IncludeModule. Without regression testing, every deployment is Russian roulette. Cross‑browser: sale.order.ajax renders differently in Safari and Chrome; the “Place Order” button can move off‑screen on an iPhone. These are not edge cases — they are daily realities for Bitrix teams.
What Does Functional Testing Cover?
We check every business scenario — not just “works or doesn’t work”, but all boundary cases.
Catalog (catalog.section, catalog.element)
- Smart filter
catalog.smart.filter: all property combinations, reset, result counting. Filters by SKUs break most often.
- Sorting + pagination — the duplicate bug described above.
- Comparison via
catalog.compare.list — add, remove, display differences.
- Quick view — modal window, cart from modal.
Cart and Order (sale.basket.basket, sale.order.ajax)
- Adding from catalog, product page, quick order.
- Discounts: by quantity, by amount, by coupon, cumulative. Discount intersection — at least eight test combinations.
- Delivery calculation: handlers
sale.delivery.services, cost, time, pickup points on map.
- Payment:
sale.paysystem — processing, handling declines, refunds.
- Order placement: email via
main.mail.event, CRM recording, transmission to 1C via sale.export.1c.
Personal Account (sale.personal.section)
- Registration, authorization, password recovery — including Cyrillic email edge cases.
- Order history, repeat order.
- Subscriptions, bonus program.
Forms and Search
-
form.result.new / iblock.element.add.form — submission, validation, file fields.
-
search.page — relevance, morphology, typo handling via search.title.
Why Is Regression Testing Critical for Bitrix?
After every deployment we verify that nothing previously working is broken.
-
Smoke tests — main page loads, catalog shows products, order completes. 5 minutes, run after every deploy. If smoke fails — roll back immediately.
-
Regression suite — 40–80 test cases covering main scenarios before every release.
-
Visual testing — screenshot comparison (Percy or Playwright). A button shifted 20px, font changed after update — test shows the diff.
-
Module checklists — structured lists for
sale, catalog, iblock, search. Each module has its own checklist.
What Happens During Load Testing?
The question is not “will the site handle it” but at how many concurrent users catalog.section starts returning 500 errors.
| Scenario |
Share |
Target Response |
What Breaks First |
| Main page |
20% |
< 1 sec |
Composite cache if not configured |
| Catalog with filters |
30% |
< 2 sec |
MySQL – heavy JOINs on b_iblock_element_property |
| Product page |
25% |
< 1.5 sec |
Queries for SKUs |
| Add to cart |
10% |
< 1 sec |
Table locks on b_sale_basket |
| Checkout |
5% |
< 3 sec |
Delivery handlers (external APIs) |
| Search |
10% |
< 2 sec |
b_search_content without indexes |
Tools:
-
k6 — JavaScript scripting.
- Apache JMeter — classic, for complex scenarios with cookie authorization.
- Yandex.Tank — real‑time visualization, integration with Overload.
Output: peak RPS, response times by percentiles p50/p95/p99, bottlenecks (CPU, RAM, MySQL slow queries on b_iblock_element, file cache). Recommendations: which index to add, which query to rewrite with D7 ORM, where to enable composite cache.
What Deliverables Do You Receive After Testing?
- Test plan with scope, priorities, and quality criteria.
- Test case suite — functional, regression, load.
- Defect report in a tracker (Jira/YouTrack) with severity classification.
- Auto tests (Playwright/Cypress) — basic smoke suite for CI/CD.
- Load testing protocol with graphs and recommendations.
- Acceptance certificate after UAT — confirming readiness for launch.
After delivery, we provide free consultation for a month — answering questions on test improvements and process adaptation. Contact us to receive a full package of documents and auto tests.
Cross‑Browser Testing
We test where buyers actually are. Statistics from your Metrica are more important than general market data.
Minimum set:
- Chrome (last 2 versions) — main traffic.
- Safari on iOS — critical for mobile checkout,
sale.order.ajax often behaves unpredictably.
- Yandex.Browser — significant share in Russia, Chromium‑based but with extension quirks.
- Samsung Internet — mobile Android, often forgotten.
Devices:
- Desktop: 1920×1080, 1366×768.
- iPhone: 375×812, 390×844 — checkout must be verified.
- Android: 360×800, 412×915.
Tools: BrowserStack for real devices, Playwright for automation on Chromium/Firefox/WebKit.
Automation
Playwright — primary choice for E2E on Bitrix:
- Cross‑browser: Chromium, Firefox, WebKit.
- Parallel execution, automatic waits.
- Works well with dynamic forms
sale.order.ajax.
- Supports mobile viewports and geolocation.
Cypress:
- Runs in browser — more stable for SPA‑like interfaces.
- Excellent visual runner for debugging.
- Limitation: only Chromium‑based browsers.
PHPUnit for custom code:
- Unit tests for custom Bitrix components and modules.
- Tests business logic without frontend dependency.
- Integration with CI/CD — GitLab CI, GitHub Actions.
UAT – Acceptance Testing
Final check with the client on a staging environment with real data:
- Jointly compile a list of critical scenarios — 15–20 key customer paths, not 200 test cases.
- Staging with a copy of the production database (anonymized personal data).
- Quick bug tracking — Jira/YouTrack, prioritization by severity.
- Acceptance protocol — document with results, signatures, and launch readiness.
Order UAT support and we guarantee a release without surprises.
QA Process – Integrated, Not Tacked On
-
Requirements analysis — QA participates in task discussions, catches ambiguities. “Does the discount apply to the product or the order?” — such a question upfront saves two days of debugging.
-
Test cases before development — scenarios ready before the first line of code.
-
Code review — checks for typical Bitrix mistakes: uncleared component cache, direct SQL queries instead of ORM, missing
$USER‑>IsAuthorized() check.
-
Functional → regression → deploy.
-
Post‑release monitoring — errors in
bitrix/error.log, metrics in Metrica, alerts for 500 errors.
We have been working with Bitrix for over 10 years and have tested more than 300 projects of various scales — from small online stores to corporate portals with 1C and Bitrix24 integration.
Timelines
| Task |
Duration |
| Test plan |
2–3 days |
| Functional testing (medium store) |
3–5 days |
| Basic E2E auto test suite (Playwright) |
2–3 weeks |
| Load testing + report |
1–2 weeks |
| Cross‑browser testing |
2–3 days |
| UAT support |
3–5 days |
| QA process from scratch |
3–4 weeks |
Testing cost is calculated individually for your project. Get a free consultation — we will assess the scope within one business day and provide a preliminary estimate and test plan. Contact us to discuss your project and schedule a call.