Quality Assurance Planning for Custom Systems: Test the Work Before the Build

Plan quality assurance for custom systems around business risk, workflow acceptance, test layers, accessibility, security, performance, operability, and release evidence before implementation accelerates.

Edilec Engineering Updated 2026-07-14 Software Engineering

Quality assurance for custom systems begins before development starts because the most expensive quality failures are often ambiguous requirements, missing authority, untestable integrations, inaccessible workflows, and recovery assumptions that were never designed. A test team cannot repair those decisions at the end. Planning starts by naming the important user journeys, harmful outcomes, control obligations, dependency failures, and evidence required for release. The result is not a giant test-case inventory. It is a risk-based agreement about what must be true, where each condition can be verified efficiently, which environments and data are credible, and who may accept a known limitation. That agreement gives product, engineering, security, operations, and users one definition of readiness.

Key takeaways

  • Start with quality risks tied to users, business outcomes, security, and recovery.
  • Write acceptance evidence for complete workflows, including exceptions and integrations.
  • Use several test layers, each chosen for the defect it can expose efficiently.
  • Make accessibility, performance, security, and operability part of the definition of done.
  • Use production signals and incidents to improve tests and design assumptions continuously.

Set quality risks and acceptance evidence

Bring product, process, engineering, security, and support perspectives together to identify what can go wrong and who is harmed. Rank risks by consequence, likelihood, detectability, and recovery cost. Then write evidence that would make the team comfortable releasing the chosen workflow. For a regulated approval, evidence may include role tests, decision audit, negative cases, and a representative user review. For a customer intake form, it may include validation, keyboard use, duplicate submission handling, and successful handoff to the system of record. Avoid vague acceptance phrases such as works correctly. A useful criterion describes the actor, context, action, expected outcome, and how a failure becomes visible.

A risk-based quality plan for custom software
The quality plan connects harmful outcomes to efficient tests, realistic conditions, and a named release decision.
Quality riskAcceptance evidenceOwner
Unauthorized changeDenied command and audit test for wrong roleSecurity and application owner
Incorrect business outcomeRepresentative scenario with expected state and calculationProcess owner
Inaccessible workflowKeyboard and assistive-technology review of key pathProduct owner
Unrecoverable dependency failureRetry, compensation, and support diagnostic testService owner

Plan test layers by purpose

Choose test layers according to the question they answer. Unit tests are efficient for rules and edge conditions. Contract tests expose incompatible interface assumptions. Integration tests prove that components exchange real data under controlled conditions. End-to-end workflow tests show whether a user-visible journey survives the assembled system. Exploratory sessions uncover confusing language, unexpected sequences, and gaps in the model. None is a substitute for the others. Avoid measuring quality by test count alone; a large suite can miss the one permission rule or reconciliation path that matters most. Map the highest risks to one or more layers, identify the test data needed, and decide which checks must block release versus inform a follow-up.

Test layerBest at findingLimitation
UnitRule and boundary defectsCannot prove integration wiring
ContractInterface incompatibilityMay miss business workflow misuse
IntegrationPersistence and dependency behaviourCan be slower and harder to isolate
End-to-endCritical journey regressionsShould remain focused, not exhaustive

Include security and accessibility by design

Security and accessibility failures often arise from decisions made long before final testing. Define authorization scenarios alongside user stories: who may read, create, alter, approve, export, or administer each object under which conditions? Use the OWASP Application Security Verification Standard to turn these concerns into testable requirements for access control, validation, authentication, logging, and configuration. Review critical paths against WCAG 2.2 for labels, focus, errors, status messages, and non-colour cues. Include representative users where possible. A system that passes a superficial visual check but prevents a keyboard user from completing a case is not high quality for the organization that bought it.

Make test data and environments credible

Test evidence is only as persuasive as the conditions it represents. Create safe, representative data that includes normal records, long values, missing fields, multiple roles, exception states, and the volume characteristics that influence performance. Do not copy production personal data into a test system without a lawful and controlled process. Document external dependencies, their test behaviour, and the difference between simulated and real responses. Maintain environments so teams can reproduce important failures, but do not assume every issue can be found before release. The plan should state how configuration is promoted, how test evidence is linked to a release, and how a failed deployment can be stopped or reversed without losing business work.

Verify operability and performance

A custom system must be supportable when a difficult case occurs. Test logs, traces, alerts, permissions for diagnostics, backup or recovery steps, and the ability to identify a request across service boundaries. The OpenTelemetry Specification gives useful concepts for consistent correlation across traces, metrics, and logs. Test the performance of the critical workflow with realistic data, concurrency, and dependency delay, then define what users see when capacity is constrained. Quality planning should include acceptance for unavailable integrations and partial completion, not only fast success. An operator needs a clear status and recovery owner when the system cannot finish work immediately.

Make release a quality decision

A release decision should compare the known risks, evidence, unresolved issues, and rollback readiness. Keep it proportionate: a narrow internal improvement does not require the ceremony of a regulated financial change, but both need an accountable judgment. NIST SSDF provides a strong lifecycle reference for defining security requirements, verifying software, and protecting the release process. Launch first to a group that resembles the intended users and can receive timely support. Record what was observed, including defects, workarounds, and questions. The point of a staged release is to learn under controlled conditions, not to avoid responsibility for quality.

Write a quality-risk register that leads to executable evidence

The NIST SSDF makes verification part of secure development and asks teams to address vulnerability causes, not only findings. OWASP ASVS 5.0 provides versioned requirements that can support design, testing, and procurement. Accessibility criteria should use the current WCAG 2.2 Recommendation and representative user review. Production diagnosability can be designed against the OpenTelemetry specification, which correlates traces, metrics, and logs through shared context. DORA research is useful when choosing delivery measures, but local service outcomes and recovery evidence should determine release acceptance.

Risk classExample failurePrimary evidence
Business correctnessA valid case reaches the wrong final stateScenario with authoritative expected outcome
AuthorizationA user performs an action outside current authorityNegative service-boundary test and audit event
ResilienceA retry creates duplicate side effectsFault injection, idempotency, and reconciliation
Usability and accessA user cannot perceive or recover from an errorRepresentative task and accessibility review

For every high-impact failure, describe the affected actor, trigger, incorrect state, consequence, detection route, recovery action, and the cheapest test layer that can expose it. Link the risk to acceptance criteria and to one accountable owner. A payment rounding error may need property-based tests and a reconciled financial scenario; an unauthorized approval needs service-boundary tests with realistic roles; a lost event needs idempotency, replay, and reconciliation exercises; an inaccessible error path needs keyboard and assistive-technology review. Include uncertainty. If a third-party sandbox behaves differently from production, record that limitation and arrange a controlled production verification. Review the register after incidents and support cases so observed failures reshape the suite instead of remaining isolated anecdotes.

Start with Edilec's custom software discovery guide to define the workflow boundary. The web performance planning guide adds workload evidence, and the developer handoff documentation guide keeps acceptance and operating knowledge usable after release.

Review the quality plan before implementation accelerates

Quality questionDecision to makeEvidence planned
Business correctnessWhich representative outcomes must never be wrong?Scenario examples, rule expectations, and process-owner review
SecurityWhich actions or records require strongest control?Authorization matrix, negative tests, and audit evidence
AccessibilityCan every intended user complete the critical path?Keyboard, screen-reader, labels, errors, and status review
IntegrationHow does the system behave when another service delays?Contract cases, retries, pending state, and recovery test
DataWhich malformed or late records threaten the outcome?Safe test data, validation cases, and reconciliation checks
PerformanceWhat load or volume makes the workflow unusable?Workload profile, response target, and capacity experiment
RecoveryCan support locate and repair a failed case?Correlation, diagnostics, runbook, and permissions test
ChangeWhich checks stop a harmful regression from shipping?Automated gate, review owner, and release criterion
EnvironmentHow closely do test conditions reflect production risks?Configuration comparison, dependency behaviour, and limitations
ReleaseWho accepts remaining risk and watches the cohort?Decision record, support coverage, and rollback procedure
MeasurementWhich post-release signals prove the outcome remains sound?Errors, abandonment, rework, incidents, and user feedback
LearningHow will a production defect improve future evidence?Blameless review, risk update, targeted test, and owner

Learn from production

Quality assurance continues after deployment. Monitor errors, latency, access denials, abandoned workflows, data mismatches, support volume, and recovery time. Review incidents without blame to determine whether the defect came from a misunderstood policy, missing test, poor observability, or unsafe release practice. DORA research is useful context for connecting delivery performance with organizational outcomes. Add a regression test only when it protects an understood risk; otherwise the suite becomes slower without becoming wiser. Periodically revisit the quality risk register as users, dependencies, and regulation change. A healthy quality programme makes the system easier to change because it turns past surprises into durable evidence.

Frequently asked questions

Who owns quality assurance for a custom system?

Quality is shared. Engineers own implementation evidence, product and process owners define correct outcomes, security specialists advise on controls, and support teams reveal operational needs. A quality lead can coordinate the plan, but no single role can certify a workflow without the others' knowledge.

Can automated testing replace manual testing?

Automation is excellent for repeatable rules, contracts, and regressions. It cannot fully replace exploration of new workflows, judgment about confusing behaviour, or observation of real users. Use automation to protect known risks and focused manual review to discover what the model still misses.

Conclusion

Quality assurance for custom systems is the discipline of collecting the right evidence before and after change. Start with meaningful risks, test complete journeys at appropriate layers, and make operational recovery part of acceptance. That gives a delivery team a practical definition of quality that survives contact with production.

Continue with related articles