Skip to main content

Blog

Latest Insights

Stay updated with the latest trends and best practices in software testing and quality assurance

Discover expert insights, practical tips, and industry trends to help you build better software.

Featured Article

How to Test HTML Tables in Cypress Without the Flake

Table tests fail more often than any other UI test, and almost never because the table is broken. Seven concrete failure modes, with working Cypress code against a real practice table.

Marko KolasinacJul 28, 20267 min read
Read Article
How to Test HTML Tables in Cypress Without the Flake
Team Communication in QA: What Changes When Developers Ask AI Before They Ask Each Other
Testing Strategy

Team Communication in QA: What Changes When Developers Ask AI Before They Ask Each Other

Asking an assistant is faster and costs nothing socially, so more questions go there first. That's not a communication problem by itself. It becomes one the moment a judgment call gets answered by something that doesn't know your codebase's history.

Vuk Kazimirovic3 min read
Read More
Choosing (or Building) a Test Automation Framework Without Overengineering It
Test Automation

Choosing (or Building) a Test Automation Framework Without Overengineering It

I've seen two teams lose the same amount of time to opposite mistakes: one picked a tool without asking what it needed to test, the other spent a quarter building a custom framework around a tool that already did the job.

Vuk Kazimirovic3 min read
Read More
Chaos Engineering for QA: Testing What Happens When Things Actually Break
Performance Testing

Chaos Engineering for QA: Testing What Happens When Things Actually Break

Most test suites are built to answer 'does this work.' Chaos testing asks a less comfortable question: what happens when something it depends on stops working, not gracefully, but in the messy way real infrastructure actually fails.

Jovan Radivojevic3 min read
Read More
Localization Testing: The Bugs Translation Alone Won't Catch
Testing Strategy

Localization Testing: The Bugs Translation Alone Won't Catch

A translated string can be perfectly accurate and still break the page it's placed on. Translation review checks the words. It doesn't check what happens to the layout, the data, or the logic once those words land.

Marko Kolasinac3 min read
Read More
Why 'It Works in Staging' Keeps Being a Lie: Test Environment Parity
Testing Strategy

Why 'It Works in Staging' Keeps Being a Lie: Test Environment Parity

Staging usually isn't a smaller production. It's a different environment that happens to run the same code, and the gap between the two is exactly where confident test results turn into incidents.

Nebojsa Covic Tabasevic3 min read
Read More
Automated Accessibility Testing: What axe-core Catches and What It Doesn't
Accessibility Testing

Automated Accessibility Testing: What axe-core Catches and What It Doesn't

Run axe-core against most pages and it'll flag missing alt text and poor contrast in seconds, which is real and worth automating. It's also a minority of what actually makes a product usable with a screen reader.

Filip Ralic3 min read
Read More
Code Coverage Is a Vanity Metric Unless You Read What It's Actually Measuring
Testing Strategy

Code Coverage Is a Vanity Metric Unless You Read What It's Actually Measuring

A coverage report that says 95% is doing exactly one job: telling you which lines executed during your test run. It says nothing about whether anything meaningful was asserted while they did.

David Lukic-Hanomihl3 min read
Read More
Regression Testing Strategy: What to Run When You Can't Run Everything
Test Automation

Regression Testing Strategy: What to Run When You Can't Run Everything

At some point every growing suite crosses a line where running everything, every time, stops being realistic. Teams either get disciplined about what actually needs re-checking, or they start skipping runs, which is worse.

Dejan Zivkovic3 min read
Read More
Test Case Design Techniques That Actually Cut Bugs, Not Just Paperwork
Manual Testing

Test Case Design Techniques That Actually Cut Bugs, Not Just Paperwork

The same gap shows up in most test case reviews I run: a tester who's good at their job still tests the middle of a range and misses the edges, because intuition tests what feels risky, not what's mathematically risky.

Vuk Kazimirovic3 min read
Read More
How to Write a Bug Report Developers Actually Act On
Manual Testing

How to Write a Bug Report Developers Actually Act On

'The button doesn't work' gets deprioritized, and not because the bug isn't real. Nobody can act on a sentence like that without redoing your job first to figure out what you actually found.

Tatjana Nikolic3 min read
Read More
Testing Webhooks: The API Testing Problem Most Frameworks Ignore
API Testing

Testing Webhooks: The API Testing Problem Most Frameworks Ignore

A green API test suite can sit next to a webhook that's silently double-firing or dropping events. Testing a request-response call and testing an asynchronous callback are not the same skill.

Jovan Radivojevic3 min read
Read More
Service Virtualization and Mocking for Testing Microservices
API Testing

Service Virtualization and Mocking for Testing Microservices

Testing one service means depending on four others being up, seeded correctly, and not rate-limiting you. That dependency chain is why microservice suites are slow and flaky, and mocking isn't one tool, it's three different ones.

Jovan Radivojevic3 min read
Read More
The Business Case for Test Automation: How to Actually Calculate ROI
Testing Strategy

The Business Case for Test Automation: How to Actually Calculate ROI

'Automation saves time' isn't a number a budget approves. Teams that can't show the actual math end up either overspending on suites nobody maintains or never getting the investment approved at all.

Marko Kolasinac3 min read
Read More
Testing Feature Flags and Progressive Rollouts Without Losing Track of What's Live
Testing Strategy

Testing Feature Flags and Progressive Rollouts Without Losing Track of What's Live

The hardest part of testing a feature flag isn't the flag. It's that your test environment and production can disagree about which code path is even active, and nobody notices until a rollback fails.

David Lukic-Hanomihl3 min read
Read More
Why Exploratory Testing Still Matters on an Automation-First Team
Manual Testing

Why Exploratory Testing Still Matters on an Automation-First Team

A green pipeline only tells you the product still does what someone already thought to check for. Automation can't find the bug nobody imagined, and that's most of the interesting ones.

Tatjana Nikolic3 min read
Read More
Cross-Browser Testing Strategy That Doesn't Burn Your CI Budget
Testing Strategy

Cross-Browser Testing Strategy That Doesn't Burn Your CI Budget

Running the full suite on every browser on every commit is how teams end up ignoring their own cross-browser results. Bug risk isn't spread evenly across browsers, and the test matrix shouldn't be either.

Dejan Zivkovic3 min read
Read More
CI/CD Test Pipeline Optimization: Sharding, Parallelization, and Where Teams Get It Wrong
Test Automation

CI/CD Test Pipeline Optimization: Sharding, Parallelization, and Where Teams Get It Wrong

The default fix for a slow pipeline is more runners. That works until the bottleneck isn't total test count, and most of the time, it isn't.

Jovan Radivojevic3 min read
Read More
QA for AI-Generated Code: What Changes When Your Developers Ship Faster Than They Read
Testing Strategy

QA for AI-Generated Code: What Changes When Your Developers Ship Faster Than They Read

AI code assistants make writing code fast. They don't make reviewing it fast. That gap is now QA's problem, and the bugs that fall into it don't look like the bugs your process was built to catch.

Vuk Kazimirovic3 min read
Read More
Self-Healing Tests: What They Actually Fix and What They Quietly Hide
Test Automation

Self-Healing Tests: What They Actually Fix and What They Quietly Hide

A self-healing locator fixes the shallow failure: a selector that moved. It can also hide the deep one: a test quietly asserting on the wrong element after a redesign nobody reviewed.

Dejan Zivkovic3 min read
Read More
How to Test AI Features When the Output Is Never the Same Twice
Testing Strategy

How to Test AI Features When the Output Is Never the Same Twice

assertEqual doesn't work on an LLM response. Two correct answers can be worded completely differently, which means testing an AI feature means changing what 'correct' even means to your test suite.

Tatjana Nikolic3 min read
Read More
Agentic QA: What Actually Changes When an AI Agent Has Write Access to Your Tests
Test Automation

Agentic QA: What Actually Changes When an AI Agent Has Write Access to Your Tests

Most 'AI in testing' tools suggest. Agentic QA means an agent opens a pull request against your suite. That's a different thing, and it changes what your team is actually responsible for.

David Lukic-Hanomihl3 min read
Read More
QA Metrics That Actually Matter (and the Ones That Don't)
Testing Strategy

QA Metrics That Actually Matter (and the Ones That Don't)

Test count and pass rate are the two most reported QA metrics and among the least useful. Here's what actually correlates with shipping fewer bugs.

David Lukic-Hanomihl5 min read
Read More
Core Web Vitals and Performance Testing: Beyond the Load Test
Performance Testing

Core Web Vitals and Performance Testing: Beyond the Load Test

A system can survive a load test and still feel slow to every single user who visits it. Core Web Vitals measure the gap a load test can't see.

Vuk Kazimirovic3 min read
Read More
Testing GraphQL APIs: What's Actually Different From REST
API Testing

Testing GraphQL APIs: What's Actually Different From REST

A GraphQL endpoint is one URL that always returns 200, which breaks half the habits REST testing relies on. Here's what to check instead.

Jovan Radivojevic6 min read
Read More
Manual vs. Automated Testing: What Actually Deserves a Human
Manual Testing

Manual vs. Automated Testing: What Actually Deserves a Human

The question isn't whether to automate. It's which tests give up more than they save when you do, and that answer is more specific than 'exploratory testing.'

Vuk Kazimirovic3 min read
Read More
Test Data Management: The Unglamorous Reason Your Suite Is Flaky
Testing Strategy

Test Data Management: The Unglamorous Reason Your Suite Is Flaky

Teams debug flaky selectors and race conditions for weeks before realizing the real problem is that every test is fighting over the same three rows of shared data.

Marko Kolasinac3 min read
Read More
Visual Regression Testing: Catching the Bugs Assertions Miss
Test Automation

Visual Regression Testing: Catching the Bugs Assertions Miss

A test suite can pass every assertion while the page renders visually broken. Visual regression testing catches the class of bug that functional tests are structurally blind to.

Tatjana Nikolic2 min read
Read More
Playwright vs. Cypress vs. Selenium in 2026: Choosing the Right Tool
Test Automation

Playwright vs. Cypress vs. Selenium in 2026: Choosing the Right Tool

The framework comparison articles always end in 'it depends.' Here's what it actually depends on, with the specific tradeoffs that matter for a real team decision.

Vuk Kazimirovic6 min read
Read More
Contract Testing for APIs: Stop Breaking Your Consumers
API Testing

Contract Testing for APIs: Stop Breaking Your Consumers

End-to-end tests catch integration breaks too late and too slowly. Contract testing catches them at the boundary, in seconds, before a consumer ever sees a broken response.

Jovan Radivojevic5 min read
Read More
Flaky Tests: Root Causes and How to Actually Fix Them
Test Automation

Flaky Tests: Root Causes and How to Actually Fix Them

Re-running a flaky test until it passes isn't a fix, it's a delay. Here are the five most common root causes behind flaky test suites and what actually resolves each one.

Dejan Zivkovic3 min read
Read More
Shift-Left Testing: How to Catch Bugs Before They Ship
Testing Strategy

Shift-Left Testing: How to Catch Bugs Before They Ship

Shift-left testing means moving quality checks earlier in the SDLC, not adding more of them at the end. Here's what that looks like in practice, and where teams get it wrong.

David Lukic-Hanomihl3 min read
Read More
Accessibility Testing Is Not a Checklist You Run Once
Accessibility Testing

Accessibility Testing Is Not a Checklist You Run Once

Automated scanners catch a fraction of real accessibility issues. Keyboard and screen reader testing catch the rest. Here's how to split the work.

Tatjana Nikolic3 min read
Read More
The Future of Test Automation: AI-Powered Testing
Test Automation

The Future of Test Automation: AI-Powered Testing

AI test tooling doesn't write your tests for you. It lowers the cost of maintaining the ones you already have, which is the part that actually decides whether a suite survives.

Dejan Zivkovic2 min read
Read More
Simulators Catch Most Bugs. Real Devices Catch the Ones That Matter
Mobile Testing

Simulators Catch Most Bugs. Real Devices Catch the Ones That Matter

Simulator coverage is cheap and fast, but some mobile bugs only show up on physical hardware. Here's where to draw the line.

Nebojsa Covic Tabasevic3 min read
Read More
Writing Resilient API Tests That Don't Break on Every Deploy
API Testing

Writing Resilient API Tests That Don't Break on Every Deploy

A practical set of habits for API test suites that stay green for the right reasons: contract-first thinking, smart fixtures, and failure isolation.

Marko Kolasinac2 min read
Read More
Load Testing: What the Numbers Actually Tell You
Performance Testing

Load Testing: What the Numbers Actually Tell You

A passing load test and a system that survives launch day are not the same thing. Here's what to check before you trust the results.

Vuk Kazimirovic3 min read
Read More