Skip to content

QA Fundamentals

Shared QA vocabulary for testing purpose, defects, failures, levels, types, and regression.

Quality assurance is not just finding bugs. It is the discipline of reducing product risk by making important behavior observable, repeatable, and reviewable.

Why teams test

Testing gives teams information about risk. A test does not prove that a product is perfect. It gives evidence about specific behavior under specific conditions.

Good testing helps teams:

  • find defects before users do
  • verify that key workflows still work after change
  • understand release risk
  • create evidence for product, engineering, support, and leadership decisions
  • learn where the product or process is unclear

Defect, failure, and error

Use these terms consistently:

TermMeaningExample
ErrorA human mistake in thinking, coding, configuration, or processA developer checks the wrong permission flag
DefectA flaw in the product, data, configuration, or requirementThe checkout button is disabled for valid users
FailureObservable incorrect behavior during executionA user cannot complete checkout

In Certyn, a failed run is evidence of a possible failure. A confirmed product problem should become an issue with reproduction steps and artifacts.

Test levels

Different levels answer different questions:

LevelMain questionCertyn fit
UnitDoes one small code unit work?Usually outside Certyn
IntegrationDo services or modules work together?Useful when exposed through UI or API flows
SystemDoes the complete product workflow work?Strong Certyn fit
AcceptanceDoes the product satisfy user or business expectations?Strong Certyn fit

Certyn is strongest for system, acceptance, regression, smoke, and exploratory browser testing.

Test types

TypePurposeExample
FunctionalCheck user-visible behaviorA user can reset a password
RegressionCheck that existing behavior still works after changeLogin still works after auth refactor
SmokeQuick confidence check after deployApp loads, user can sign in, core dashboard renders
ExploratoryLearn about behavior while testingProbe a new onboarding flow for confusing states
SecurityLook for security riskSession handling, access control, input handling
UsabilityCheck whether users can complete tasks clearlyForm errors explain what to fix
PerformanceCheck speed and capacityCheckout remains responsive under expected load

Confirmation vs regression

Confirmation testing checks whether a specific fix worked. Regression testing checks whether the fix or related change broke something else.

When a bug is fixed:

  1. Re-run the test or scenario that exposed the bug.
  2. Add or update coverage so the same failure can be detected again.
  3. Run nearby workflows that share code, data, permissions, or UI components.

Static vs dynamic testing

Static testing reviews work products without executing the product. Examples include reviewing requirements, designs, code, test cases, and release plans.

Dynamic testing executes the product. Certyn runs dynamic browser tests and records evidence.

Teams need both. Static review catches ambiguity early; dynamic testing confirms behavior in a real environment.

Practical rule

For every important product change, ask:

  • What user behavior must still work?
  • What changed area is most likely to fail?
  • What evidence would convince us it is safe?
  • What would make us block, warn, or approve release?

References