Software Development Quality Assurance

Software Testing Principles

Build a practical foundation for finding defects, improving quality, and testing software with confidence.

Software Testing Principles logo
Quick Course Facts
16
Self-paced, Online, Lessons
16
Videos and/or Narrated Presentations
5.2
Approximate Hours of Course Media
About the Software Testing Principles Course

Software Testing Principles is a practical introduction to the essential ideas, methods, and mindset behind effective testing in Software Development. This course helps you build a practical foundation for finding defects, improving quality, and testing software with confidence., so you can contribute more effectively to modern teams and projects.

Build Strong Testing Skills for Software Development

  • Learn the core purpose of testing and the tester’s role in delivering better software
  • Understand how testing fits across the Software Development lifecycle, from planning to release
  • Practice test design techniques that improve coverage and reveal hidden defects
  • Develop the confidence to report issues clearly, collaborate with teams, and support quality decisions

A clear, practical guide to Software Testing Principles and professional quality assurance thinking.

This course begins with the foundations of software testing, including what testing is, why defects occur, and how quality is defined in real-world projects. You will explore how testing supports Software Development at every stage, from early requirements and risk analysis to system validation and continuous improvement.

As you progress, you will learn how to choose the right test levels, apply functional and non-functional testing, and use exploratory testing to think critically about software behavior. The course also covers test case design, boundary values, equivalence classes, decision tables, regression testing, and the basics of automation, giving you a balanced understanding of manual and automated approaches.

You will also gain practical insight into agile collaboration, defect reporting, severity versus priority, and the use of metrics to communicate quality clearly. By the end of the course, you will be able to approach testing with a structured mindset, design more effective checks, and participate in Software Development with greater clarity, confidence, and impact.

Course Lessons

Full lesson breakdown

Lessons are organized by topic area and each includes descriptive copy for search visibility and student clarity.

Testing Foundations

1 lesson

This lesson introduces software testing as a practical discipline for evaluating whether software behaves as intended and meets user needs. Students will learn why testing matters, what kinds of probl…

Core Concepts

1 lesson

Lesson 2: Quality, Defects, and the Tester’s Role

18 min
This lesson introduces the foundations of software testing by defining quality , explaining what a defect is, and clarifying how testers contribute to product success. Students learn why testing is ab…

Process and Timing

1 lesson

Lesson 3: Testing Across the Software Development Lifecycle

20 min
Software testing happens at multiple points in the development lifecycle, not just at the end. This lesson explains when different types of testing are most effective, how responsibilities shift acros…

Planning for Coverage

1 lesson

Lesson 4: Requirements, Risk, and Testability

19 min
This lesson shows how requirements, business risk, and testability shape a practical test plan. You will learn how to identify what matters most, turn requirements into test ideas, and spot gaps or am…

Where Testing Happens

1 lesson

Lesson 5: Test Levels: Unit, Integration, System, and Acceptance

20 min
This lesson explains the four main test levels used to find defects at different stages of software delivery: unit, integration, system, and acceptance . You will learn what each level is designed to …

User-Focused Validation

1 lesson

Lesson 6: Functional Testing and Business Scenarios

18 min
Functional testing checks that software behaves the way users and businesses expect in real-world situations. In this lesson, learners focus on validating features through business scenarios such as s…

System Qualities

1 lesson

Lesson 7: Non-Functional Testing: Performance, Security, and Usability

20 min
This lesson introduces non-functional testing through three high-value system qualities: performance , security , and usability . You will learn what each quality means in practice, common defect patt…

Adaptive Testing

1 lesson

Lesson 8: Exploratory Testing and Critical Thinking

18 min
Exploratory testing is a hands-on, adaptive approach to finding defects by learning about the product while testing it. In this lesson, you will see how critical thinking helps you choose where to exp…

Designing Coverage

1 lesson

Lesson 9: Test Case Design Techniques

22 min
Test case design turns requirements and risks into a practical set of tests that can reveal defects efficiently. In this lesson, learners focus on choosing coverage techniques, combining them to reduc…

Practical Test Design

1 lesson

Lesson 10: Boundary Values, Equivalence Classes, and Decision Tables

22 min
This lesson teaches three core test design techniques used to reduce risk and find defects efficiently: equivalence classes , boundary value analysis , and decision tables . Students learn when each t…

Protecting Existing Features

1 lesson

Lesson 11: Regression Testing and Change Impact

18 min
Regression testing checks that changes to software have not broken existing features. In this lesson, you will learn how change impact guides what to retest, how to choose between full, targeted, and …

Automation Basics

1 lesson

Lesson 12: Test Automation in a Balanced Strategy

21 min
This lesson explains how to use test automation as part of a balanced testing strategy , not as a replacement for thoughtful manual testing. You will learn where automation adds the most value, where …

Working with Teams

1 lesson

Lesson 13: Agile Testing and Collaboration

18 min
Agile testing works best when testing is part of the team’s daily flow, not a separate phase at the end. In this lesson, learners see how testers, developers, product owners, and designers collaborate…

Communicating Issues

1 lesson

Lesson 14: Defect Reporting, Severity, and Priority

18 min
This lesson shows how to report defects clearly so teams can act on them quickly and with less confusion. You will learn how to write a strong defect report, separate severity from priority , and avoi…

Measuring Progress

1 lesson

Lesson 15: Test Metrics and Quality Reporting

19 min
This lesson shows how testers measure progress and communicate quality using practical metrics and clear reporting. You will learn which numbers are useful, which can mislead, and how to turn test res…

Putting It All Together

1 lesson

Lesson 16: Test Strategy, Test Plan, and Continuous Improvement

21 min
This lesson shows how test strategy , test plan , and continuous improvement work together to guide effective testing. You will learn how a strategy defines the testing approach, how a plan turns that…
About Your Instructor
Professor Amanda Davis

Professor Amanda Davis

Professor Amanda Davis guides this AI-built Virversity course with a clear, practical teaching style.