Blog: Inside Fora Soft's QA Testing Team: Detecting the Unexpected, Delivering the Expected

Key takeaways

Software quality assurance is a process, not a headcount. QA is the umbrella that prevents defects across the whole build; testing is the part inside it that catches them.

1 QA per 3 developers is the default we ship with. The common industry ratio sits near 1:3–1:4; we bias tighter for real-time, cross-platform, and regulated products.

Seven roles, not one job title. Modern QA spans manual, automation, SDET, performance, security, test data, and QA lead — most thin teams quietly skip four of them.

AI cuts drudgery, not judgment. The 2026 State of Testing report puts AI adoption at 76.8%; it speeds triage and test-data work, but exploratory design on novel products stays human.

We run one QA practice across 250+ shipped projects since 2005. This playbook comes from real numbers on real codebases — VALT, BrainCert, Franchise Record Pool, and 50+ live video products.

What software quality assurance actually is

Software quality assurance (SQA) is the planned, systematic set of activities that give confidence a product will meet its requirements: built in across the whole development lifecycle, not inspected in at the end. That mirrors the wording in IEEE 730, the standard for software quality assurance processes. The short version: SQA is about preventing defects, not just finding them.

The three terms people use interchangeably are not the same thing. Quality assurance is the process — the standards, reviews, and gates that stop bad work from getting built. Quality control is checking the finished build against those requirements. Testing is one activity inside quality control: running the software to surface defects. QA contains QC, which contains testing. Get that hierarchy right and the rest of this playbook — roles, ratios, tooling — falls into place.

Software quality assurance as nested layers: the QA process contains quality control, which contains testing

Figure 1. Software quality assurance is the process umbrella; quality control and testing are the layers inside it.

The thing SQA measures against is the product-quality model in ISO/IEC 25010:2023: functional suitability, performance efficiency, compatibility, interaction capability, reliability, security, maintainability, flexibility, and safety. A QA team’s job is to turn those abstract characteristics into test cases, gates, and metrics a founder can actually read. The rest of this article is how we staff and run that job.

Why Fora Soft wrote this SQA playbook

Fora Soft is a software development company that has been building video, AI, and real-time software since 2005 — 250+ delivered projects over 20 years. Our Upwork success score stays at 100% because QA sits next to developers from day one, not stapled to the end of the sprint. Software quality assurance is the function that keeps that number growing.

This is not a “meet the team” piece. It is the internal playbook we use when a founder asks, “How should my QA team actually be structured?” You’ll see the roles we staff, the ratios we hold, the tools we pay for, the mistakes we watch for, and the cost math we run before every engagement. Where a claim is backed by hard numbers, we ground it in the specific project: VALT’s 770+ US organizations and 50,000+ users, BrainCert’s learners at scale, Franchise Record Pool’s DJ platform.

If you’re deciding whether to build an in-house QA team, extend yours with a partner, or hand the whole function to a vendor, this is the decision document. Short on time? Jump to the five-question framework.

Need software quality assurance that catches bugs before your users do?

We’ll scope a QA practice around your stack and release cadence — or plug into your existing team — in a 30-minute call.

Book a 30-min call →WhatsApp →Email us →

What a healthy QA org looks like in 2026

Before headcount, here’s the scoreboard we hold ourselves against, and the benchmark behind each line. If your current QA team misses three or more of these targets, something is off in staffing, tooling, or process.

MetricIndustry medianGood targetFora Soft default
QA-to-developer ratio1:51:3 — 1:41:3
Escaped defect rate8–12%< 5%< 3% on 12-month cohorts
Regression suite automated40–50%70–80%75%+ after release #3
Test pyramid (unit / integ / E2E)50 / 25 / 2570 / 20 / 1070 / 20 / 10
Test case management toolSometimesAlways (TestRail/Zephyr)TestRail on every project
QA involved before codeRarelyRequirements phaseRequirements & design
Mean time to reproduce a bug> 1 day< 2 hours< 1 hour (captured-context standard)

The 1:3 ratio is not arbitrary. The most-cited industry reference, Rice Consulting’s survey on the “elusive” tester-to-developer ratio, finds no single right number; common ratios run from 1:1 to 1:5 and cluster near 1:3–1:4. A 2025 TestingMind survey puts 58% of mid-to-large orgs at one to three QA engineers per ten developers. We standardized on TestRail + Jira + GitHub Actions across every engagement because a team that can see its own coverage ships fewer surprises.

The seven QA roles a modern software team needs

“We have a QA engineer” is rarely enough. On a product with a real user base (especially one that handles video, payments, PHI, or regulated data), these seven capabilities all need coverage. They don’t all need to be separate people, but they all need an owner.

1. QA Lead / Test Manager

Owns the strategy. Decides what gets tested, with what priority, against what risk. Writes the test plan, negotiates release criteria with product, and reports quality KPIs to stakeholders. On our projects the QA Lead also chairs sprint bug triage and owns the relationship with the client’s product owner.

2. Manual QA Engineer

Owns exploratory, UAT, and regression on new features. This is the person who asks, “What if the user opens three chats at once on an iPhone SE while screen-sharing?” Manual QA is where novel bugs are found; automation only catches what you’ve already learned to describe.

3. QA Automation Engineer

Owns the regression automation suite. Writes Playwright/WebdriverIO/Appium tests, keeps them green, and integrates with CI. Distinct from an SDET in that they live inside the framework rather than owning it.

4. SDET (Software Development Engineer in Test)

Owns the framework, infrastructure, and tooling. Writes production-quality code: custom runners, shared fixtures, test-data factories, device-farm integrations, flake detection. An SDET who leaves without a handoff is the top cause of automation decay — see the automation-survival section.

5. Performance / Load Testing Engineer

Owns latency, throughput, and scalability SLAs. Runs k6 / JMeter / Locust scenarios, finds bottlenecks, and signs off on launch capacity. Non-negotiable for anything video-centric — we once found a 3x latency cliff in a WebRTC product just by running a 400-concurrent-viewer test.

6. Security / Compliance Tester

Owns SAST/DAST, vulnerability scanning, and compliance checks. On HIPAA, GDPR, SOC 2, or evidentiary workflows, this role is not optional. For VALT we kept a dedicated person running evidence-integrity tests every release, because a missed bug there can taint a recording used as evidence.

7. Test Data Management Specialist

Owns realistic, safe test data. Synthetic-data generation, PII scrubbing, reproducible fixtures. Usually folded into the SDET on small teams, but for data-shape-heavy products (EdTech, marketplaces, fintech) it deserves its own half-person.

Reach for the full seven-role split when: your product has paying users, live traffic, compliance requirements, and more than six developers. Below that, fold performance, security, and test data into the automation engineer’s role.

The QA-to-developer ratio and when to break it

There is no universal ratio. There are three we default to, based on product profile. The number matters less than whether QA has bandwidth for exploratory testing, not just running the regression suite.

QA-to-developer ratio by product profile: from 1:6 for an MVP to 1:2 for regulated products, against a 1:5 industry median

Figure 2. We tighten the QA-to-developer ratio as product risk rises — from 1:6 on an MVP to 1:2 on regulated work.

Product profileRecommended ratioWhy
Early-stage MVP, single platform1:6Surface area is small, throwaway code is fine, dev-led testing is realistic.
B2B SaaS, live revenue1:4Churn risk per production bug; regression surface growing; automation needs an owner.
Real-time video / WebRTC / streaming1:3Device, OS, and network matrix explodes exploratory time; automation misses audio/video quality bugs.
Regulated (health, fintech, evidence)1:2Compliance testing, audit trails, evidence integrity — plus a dedicated security tester.
Cross-platform app (iOS + Android + web)1:3Device-lab upkeep, store submissions, and platform-specific regression each eat a tester.

Go above 1:6 and developers end up owning regression while QA becomes an end-of-sprint bottleneck. Go below 1:2 and testers start duplicating work and exploratory value drops. We watch both edges.

Shift-left QA: where testing actually starts

You may have read that fixing a defect late costs 5x, 15x, or 100x more than fixing it early. Treat those exact multipliers with suspicion — the famous “IBM System Science Institute” chart behind them has no traceable primary data, and the largest study on the effect (Menzies et al., 171 projects, Empirical Software Engineering, 2016) found no consistent, universal “delayed-issue effect.” The direction is still real in tightly-coupled and regulated systems: a wrong requirement caught after launch means rework, context-switching, and a wider blast radius. So we loop QA in before a line of code is written, for the compounding-rework reason, not a made-up number.

Shift-left QA pipeline: QA active from requirements onward in the Fora Soft model versus bolted on at test and release

Figure 3. Shift-left in practice: QA is active from requirements onward, instead of being bolted on at the end.

1. Requirements review

QA reads every spec before it is signed. One of our testers saved three weeks of rework on a live-shopping feature by asking, “What happens when the buyer’s cart expires mid-checkout during a sale?” — a case that wasn’t in the PRD.

2. Design review

QA reviews Figma and flows alongside the designer. This is where state-explosion questions land best: empty states, error states, 3G load states, long-name truncation, right-to-left languages.

3. Test-case design parallel to development

Tests are written while the feature is being built. By the time the pull request opens, the test plan is ready, which collapses the feedback loop from days to hours.

4. Pairing during implementation

QA pairs with developers for exploratory passes on tricky screens. Atlassian’s agile-testing guidance recommends the same, and it catches whole classes of bug that survive a post-hoc review.

Reach for full shift-left when: you’re pre-launch on a product with real revenue or compliance. The earlier a wrong assumption is caught, the smaller the rework — and the cheaper the fix, whatever the exact multiplier.

Getting burned by late-stage QA bottlenecks?

Tell us your release cadence and we’ll map a shift-left plan that fits the team you already have.

Book a 30-min call →WhatsApp →Email us →

The test pyramid we actually use

The test pyramid, coined by Mike Cohn and popularized by Martin Fowler, is canonical, yet most teams draw it once and never look again. We treat it as a live budget: if unit coverage drops below 60% or E2E grows past 15%, something is off and we fix the source, not the tests.

Test pyramid mix 70/20/10: many unit tests at the base, integration in the middle, few end-to-end at the top, with owners

Figure 4. Our target test mix: 70% unit, 20% integration, 10% end-to-end, each layer with a clear owner and tooling.

LayerShareRuns inOwned byTooling
Unit70%Pre-commit + PRDeveloperJest, Vitest, JUnit, XCTest
Integration / API20%PR + nightlySDET + devSupertest, RestAssured, Postman/Newman
E2E (happy paths)10%Nightly + pre-releaseQA Automation Eng.Playwright, WebdriverIO, Appium
Exploratory / manualTime-boxedPer feature + pre-releaseManual QA Eng.TestRail, Jira, BrowserStack
Performance + securityEvent-drivenPre-release + quarterlyPerf / Sec engineerk6, JMeter, OWASP ZAP, Burp

Two anti-patterns the pyramid prevents: the ice-cream cone (lots of manual and E2E, few unit) where feedback takes hours and flake kills velocity, and the hourglass (unit + E2E, no integration) where a unit suite stays green while an API schema change breaks production. Both are signs that no SDET has been asked to own the framework layer.

Manual QA vs Automation vs SDET vs QA Lead, compared

These roles are not a progression — a senior manual tester is not a “failed SDET.” They are different crafts. Confusing them when hiring is the second most common mistake we see in founder-run engineering orgs.

RolePrimary outputCoding depthReports toBias
Manual QAExploratory + regression findingsLight (SQL, devtools)QA LeadUser empathy
QA AutomationGreen regression suiteIntermediateQA Lead or SDETReliability
SDETFramework, CI, devex for testingSenior engineerEng. ManagerScale
QA LeadStrategy, reporting, risk sign-offVariableCTO / ProductBusiness outcomes

How we build automation that survives teammate turnover

Every agency has war stories about an SDET who built a beautiful framework, then left, and within four months 40% of the suite was flaking and 20% was silently disabled. That is the worst ROI outcome in QA. Our four guardrails against framework rot:

Standardized framework per stack

One tool per layer across all projects. Playwright for web, WebdriverIO/Appium for mobile, k6 for load. Individual SDETs cannot invent new conventions; if the pattern isn’t in our internal QA handbook, we don’t merge it.

Page Object Model + data-testid attributes

Selectors that survive redesigns. Every QA-critical element gets a stable data-testid. We reject PRs that remove them. Cost to add: five minutes per element. Cost to redo selectors after a redesign: the sprint.

Flake budget under 2%

Any test flaking twice in a week is quarantined. Tests get fixed or deleted; they do not rot in the suite. A 10% flake rate trains developers to ignore red CI, which is how real regressions ship.

Shadow handoffs before any SDET rolls off

A two-week overlap is non-negotiable. The outgoing SDET pairs with the incoming one on live tickets, not a wiki page. If an SDET leaves unexpectedly, another senior SDET from inside Fora Soft backfills within 48 hours — a genuine benefit of a cross-project practice.

Our QA tool stack and why we picked each

This is the stack we install on any new engagement unless the client insists otherwise. Each tool earns its line-item by preventing a specific failure.

CategoryToolWhy this, not that
Test case managementTestRailAPI-first, Jira-linked, reviewable. Spreadsheets don’t scale past 300 cases.
Issue trackerJira (client’s choice)Whatever the dev team uses — splitting bug tracking from dev tracking destroys context.
Web E2EPlaywrightParallel, trace viewer, multi-browser. Cypress once locked us into one origin on a prior project.
Mobile E2EAppium + WebdriverIOCross-platform, works on cloud device farms. XCUITest + Espresso only when a client demands it.
Device cloudBrowserStackReal devices, visual-diff add-on, reasonable pricing below 10 parallel sessions.
Load testingk6 + GrafanaJS-based scripts, easy CI integration, observable. JMeter for SOAP-heavy legacy only.
API testingPostman + Newman / RestAssuredPostman collections double as living docs. Newman drops into GitHub Actions in 10 lines.
SecurityOWASP ZAP + Burp SuiteZAP for automated scans in CI, Burp for deep manual testing.
WebRTC qualityKITE + custom rigNo off-the-shelf tool measures MOS + freeze rate at scale, so we built our own. See our WebRTC stream-quality testing playbook.

Where AI speeds up QA, and where it still breaks

AI is reshaping software quality assurance. The 2026 State of Testing report puts AI adoption among testing teams at 76.8%. But adoption is not the same as payoff. Most teams use AI as “extra hands,” not “extra brains.” Here’s where we find real value, and where we’ve been burned.

What actually works today

Test-case generation from requirements. An LLM turns a user story into 40 draft cases in 15 seconds. A human keeps the 20 that matter. Net savings: 3–4 hours per medium story.

Bug-report triage. AI classifies incoming tickets by severity, duplicate candidates, and affected modules, with human review on top. We see a 40–60% cut in triage time on high-volume projects.

Flake diagnosis. Pattern-matching flaky failures against history surfaces root causes faster than a human grepping CI logs.

Self-healing selectors. Visual-diff recovery cuts selector maintenance by roughly 30% on projects with frequent UI changes — useful, but a false positive can hide a real bug, so a human stays in the loop.

What doesn’t (yet)

Exploratory ideas for novel products. LLMs overfit to patterns they’ve seen; they miss the “what if the user opens this while backgrounded on a VPN” cases where real bugs live.

End-to-end autonomous test writing. Demos impress; production suites accumulate the same noise-to-signal problem as auto-generated code. A human still owns the test.

For the full breakdown we wrote two companion pieces: AI in quality assurance: practical applications and the less-cheerful AI in software testing without creating technical debt.

Mini case: QA on VALT, where a bug can void evidence

VALT is a video surveillance and interview-recording platform used by 770+ US organizations across law enforcement, education, and healthcare, with 50,000+ users. When a recorded interview is evidence, “mostly works” is a career-ending phrase.

Situation. The team shipping to VALT had a dozen engineers, a Jira install, and no formal regression process. A production incident had corrupted two days of interview recordings. Leadership asked us to rebuild QA from the ground up.

12-week plan. Weeks 1–2: risk-map the evidence chain — ingestion, encoding, storage, retrieval, export. Weeks 3–4: TestRail rollout and a frozen regression suite of 400 cases covering every evidence-handling path. Weeks 5–8: Playwright + k6 automation for the 60% of regression that was deterministic. Weeks 9–12: a dedicated evidence-integrity test on every release, plus a small device lab to reproduce field reports from real squad-car hardware.

Outcome. Escaped defects per release dropped from 11 to 2 inside six months; evidence-integrity incidents went to zero and stayed there across the 14 months we tracked; and release cadence went from monthly to bi-weekly without trading away stability. Want a similar assessment? Grab a 30-minute call.

Similar pattern on BrainCert, where we’ve been part of the team scaling an LMS past a million learners without a P1 regression in the last three quarters.

Want a QA assessment against the same framework?

We’ll run a two-week audit on your current practice and hand back a prioritized plan — the same playbook we used on VALT.

Book a 30-min scoping call →WhatsApp →Email us →

Cost model: in-house vs outsourced QA in 2026

Real numbers for a 12-person engineering team that needs a 4-person QA bench (1 Lead, 1 Manual, 1 Automation/SDET, 1 shared performance/security). Ranges are 2025–2026 market. Your numbers vary; use this as a sanity check, not a quote.

Monthly cost of a 4-person QA bench: in-house US $55-85k down to outsourced Eastern Europe $20-32k, shown as two-tone ranges

Figure 5. Fully-loaded monthly cost of a 4-person QA bench, in-house versus outsourced, as low-to-high ranges.

ModelFully-loaded cost / monthTime to stand upScale-down friction
In-house, US$55–85k3–6 monthsHigh
In-house, Western Europe$40–65k3–6 monthsHigh
Outsourced, LatAm$24–36k4–8 weeksLow
Outsourced, Eastern Europe (Fora Soft)$20–32k2–4 weeksLow
Outsourced, India / Philippines$10–22k4–8 weeksLow — watch timezone & domain depth

Two non-obvious levers. First, Agent Engineering (our practice of pairing engineers with AI coding agents) shaves roughly 20–30% off automation-framework buildout time, which flows into a real cost cut on the first three months. Second, a shared QA practice means you pay for hours consumed, not the chair, so the effective cost during low-velocity weeks drops by 30%+.

Build, hire, or outsource QA in five questions

Every founder who asks “should I hire a QA engineer?” gets walked through these five questions. Answer each honestly and the answer falls out.

Q1. How many developers will ship code in the next 12 months? Under 4: developers can own testing, with a part-time QA consultant for release gates. Between 4 and 10: one full-time QA (or equivalent). Over 10: a team of three or more with specialized roles.

Q2. What’s your compliance surface? None: you have options. HIPAA / GDPR / PCI / SOC 2 / evidence handling: you need a dedicated security tester, and in-house is easier when auditors want a US or EU citizen.

Q3. How stable is the roadmap? Volatile (pre-PMF): outsource the flexible chunk — you don’t want to hire, fire, re-hire. Stable and growing: build in-house for product knowledge, and supplement with an outsourced specialty bench for load, security, and device lab.

Q4. How much domain knowledge is required? Generic B2B SaaS: anyone can ramp. Video / WebRTC / telehealth / live shopping: an in-house hire needs 3–6 months to ramp; a vendor with the domain already on the bench delivers in weeks.

Q5. What’s the cost of a production bug? A few support tickets: lightweight QA is fine. Customer churn, fines, or liability: invest in the seven-role model and don’t cut corners on automation or security testing.

The honest default: for a real product with real users and any compliance, software quality assurance pays for itself inside one quarter by cutting escaped defects and the emergency work they trigger. Below that bar, keep it lightweight.

Five pitfalls that sink in-house QA teams

1. QA stapled to the end of the sprint. When testers only see work in the last two days, releases slip, quality compounds, and QA becomes the villain in retros. Shift-left or accept the cost.

2. Test cases organized by sprint, not by feature. Feature-scoped test cases survive re-platforming; sprint-scoped ones rot inside a quarter. This is the single most common reason a test suite becomes untrustworthy.

3. Automation built by devs who then leave the framework. Developer-written automation, without an owner, decays the moment the developer moves on. Either hire an SDET to own it or contract out ownership. There is no third option that works.

4. No device lab and no cloud farm. Covering mobile QA on a personal iPhone and one Android in a drawer catches maybe 40% of what’s out there. BrowserStack or a modest in-house lab (5–10 devices, refreshed yearly) costs a fraction of one escaped P1.

5. No performance budget. Regressions that creep in 3% per release become a 30% slowdown inside ten releases. A weekly k6 baseline with an alert threshold catches it inside a day.

SQA KPIs: what we actually measure

Quality KPIs. Escaped defect rate (< 3% on 12-month cohorts), defect removal efficiency (> 95%), regression pass rate on main (> 98%), mean time to reproduce (< 1 hour), and change failure rate (the 2024 DORA report puts elite performers near 5%).

Business KPIs. Release cadence (bi-weekly or faster), time-to-market on new features (spec to prod), QA cost per shipped user story, and percentage of releases without an emergency hotfix (> 90%).

Reliability KPIs. Mean time to detect (< 10 minutes for P1), mean time to restore (< 30 minutes for P1 in production), flake rate in the regression suite (< 2%), automated regression coverage (> 70%), and uptime on user-critical flows (> 99.9%). We report these monthly and publish them with our test summary report template.

Security, compliance, and data testing

Security testing lives inside QA on every regulated project we run. Three practical layers:

Automated scanning in CI. SAST (Semgrep, SonarQube) on every PR. DAST (ZAP baseline) on every staging deploy. Dependency scans (Snyk, Dependabot) daily. Findings triaged weekly. This layer catches most low-severity issues and keeps the backlog honest.

Manual penetration testing quarterly. Internal rotation or external firm depending on compliance. For SOC 2 or HIPAA we always recommend an annual third-party test as well.

Data-handling test suite. Synthetic data only in non-prod, PII scrubbing on DB copies, encryption-at-rest tests, key-rotation drills. For video products: evidence-integrity tests and WORM-storage compliance tests. On payment-system reliability we documented the exact reconciliation suite we use.

The device lab and cross-platform testing

Cross-platform products fail in surprising places. Take the Franchise Record Pool DJ platform: a chat feature that looked fine on a flagship iPhone sent duplicate messages whenever the recipient was on an older Galaxy. You only catch that with real devices.

TierCoverage targetTools
Core (always)Latest iOS + latest Android + Chrome + Safari + FirefoxReal device + Playwright
Long tailPrevious 2 iOS, 3 Android versions, EdgeBrowserStack real devices
Low-end / constrained3G throttling, older low-memory AndroidsChrome DevTools + physical device
Domain-specificSmart TV, wearables, in-car (if the product demands)Physical hardware in-house

The culture habits behind good QA

Behind every benchmark is a habit. When we interviewed our QA team for this article, the same patterns kept showing up:

  • Take your time. Rushed testing is shallow testing, and shallow testing is what drives the escaped-defect rate up.
  • Speak up early. Even a small doubt is useful data. Silent testers produce silent bugs.
  • Don’t stop at scripted cases. Ask “what if I push this further?” — that’s where the interesting bugs live.
  • Learn how the system works under the hood. Easier to investigate, sharper when talking to developers.
  • Use AI as a helper, not a replacement. Teams that hand judgment to AI regress; teams that hand it the drudgery improve.
  • Challenge requirements early and thoroughly. Cheap now, expensive later.
  • Write bug reports without blame. A report with video, network tab, and repro steps saves the developer two hours and gets fixed faster.
  • Collect full context when reproducing client issues. Screenshots, video, device specs, network conditions.
  • Automate the repetitive steps. Your time is worth more than a script.

We also keep a running Slack channel of absurd production bugs caught before users saw them — the 100%-discount coupon that discounted 10%, the six-digit verification code that showed five, the video timer counting down into negative numbers, the button whose clickable area shrank every click. Every one caught in QA.

When NOT to hire a dedicated QA team

We’re a QA-positive shop, but there are real cases where you shouldn’t hire a tester on day one:

Pre-PMF, under four developers, nothing regulated. Spend the salary on the product. Developers run their own tests, a founder does UAT, and you contract QA for release gates only.

Internal tools with under 50 users. A weekly smoke-test checklist and engaged users are enough. You don’t need the seven-role model to keep a 50-seat dashboard healthy.

Throwaway prototypes. The test itself is the market feedback. Resist the urge to gold-plate.

Everywhere else: for a real product with real users, real revenue, and any compliance, the honest answer is that software quality assurance pays for itself inside one quarter through fewer escaped defects and less emergency work.

FAQ

What is software quality assurance?

Software quality assurance (SQA) is the planned, systematic set of activities — standards, reviews, and gates — that build confidence a product meets its requirements across the whole development lifecycle. It is process-focused and prevention-focused. Quality control and testing are activities inside it that verify the finished build.

What is the difference between QA, quality control, and testing?

QA is the process that prevents defects. Quality control checks the finished product against requirements. Testing is one activity inside quality control — running the software to find defects. QA contains QC, which contains testing.

What’s the right QA-to-developer ratio for a startup?

For early-stage, single-platform MVPs, 1 QA per 5–6 developers is realistic if developers take unit and integration testing seriously. Once you serve paying customers on more than one platform, move to 1:3 — the industry sweet spot and our default across projects.

How long does it take to stand up an outsourced QA team?

On our typical engagement: 2–4 weeks to a productive first release, 8–12 weeks to a fully automated regression suite. Faster than in-house because the seven-role practice already exists — we plug a pre-built team into your product.

Does AI actually cut QA costs, or is that hype?

It cuts specific costs: test-case drafting, bug triage, flake analysis. It does not cut the cost of exploratory or novel test design, which stays human. AI adoption in testing hit 76.8% in the 2026 State of Testing report, but adoption isn’t the same as replacing judgment. Use AI, but book it against the right line items.

What test-case management tool should we pick?

TestRail for most teams — mature, API-first, integrates cleanly with Jira. Zephyr if your org lives inside Atlassian. Qase is the modern lightweight option. Spreadsheets work up to about 300 cases; past that, migration pain dominates.

How do we measure whether our QA team is working?

Three numbers: escaped defect rate, change failure rate, and mean time to detect. If those move in the right direction release-over-release, QA is working. If they stay flat while headcount grows, the problem is usually process (late testing, no test-case management), not people.

What’s unique about software quality assurance for video and real-time products?

Three things: the device/OS/network matrix multiplies exploratory time, automation misses audio/video quality defects, and perceptual testing (MOS scores, freeze rate, lip-sync drift) needs purpose-built rigs. We built one internally because no off-the-shelf tool measures these at the scale our clients need. New to the space? Start with our video streaming Learn hub.

AI & QA

AI in quality assurance: practical applications

Where AI actually saves QA hours — and where it quietly wastes them.

WebRTC

How to test WebRTC stream quality

MOS, freeze rate, lip-sync drift — the rig our team built for video QA.

Reporting

How to write an effective test summary report

The template we use to turn QA work into stakeholder-ready signal.

Payments

How we ensure payment-system reliability

Reconciliation, fault-injection, and the QA playbook behind money-moving code.

Team

Inside Fora Soft’s development team

How our engineers work alongside QA to ship stable releases faster.

Ready to ship stable releases without the drama?

Good software quality assurance is boring from the outside and busy on the inside. You know it’s working when releases ship on schedule, your support inbox is quieter this month than last, and your engineers stop dreading deploy day. Every piece of this playbook — the seven roles, the 1:3 ratio, the pyramid, the tooling, the shift-left habit — serves that one outcome.

If you’re not there yet, you don’t need a bigger headcount. You need the right mix and the right habits. Start with the five-question framework; it will tell you honestly whether to build in-house, hire, or extend your team with a partner that already has the practice in place.

Talk to our QA team about your product

A 30-minute call with the people who’ve shipped 250+ projects — walk away with a concrete plan for QA structure, tooling, and cost, whether or not we end up working together.

Book a 30-min call →WhatsApp →Email us →

  • Cases
    Processes