openskills.info
Course Preview

Software Testing Fundamentals

Software testing is the structured work of evaluating software and related materials to find defects, assess quality, and reduce risk. It includes reviews and analysis as well as running the software.

itSoftware engineering

Software Testing Fundamentals

Software testing gives you evidence about a product and the risks around releasing it. You inspect requirements, designs, code, and running software. You look for defects, evaluate quality, and help stakeholders make informed decisions.

Testing does not prove that software is correct. It can reveal failures and defects, but exhaustive testing is usually impossible. You choose what to test by considering risk, context, and the information people need.

A mental model: evidence for decisions

Treat testing as an evidence loop:

  1. Understand the test object and the decision at stake.
  2. Identify risks and define test objectives.
  3. Design tests that can expose useful differences between expected and actual behavior.
  4. Prepare test data, environments, and procedures.
  5. Execute tests or examine work products.
  6. Compare results with expectations.
  7. Report what the evidence means for the decision.

A test object is the work product you evaluate. It may be a requirement, design, component, service, complete system, or document. A test basis is the source you use to derive expected behavior, such as a requirement, user story, architecture description, or regulation.

The loop is not always linear. Analysis may expose an unclear requirement. Execution may reveal a new risk. A defect report may lead you to add a regression test. Testing adapts as the product and your understanding change.

Continue the course

This section is part of the paid course.

See pricing to subscribe, or log in if you already have access.

Where this skill leads

Relevant careers

See how this topic contributes to broader role-level skill maps.

Sources