Free to read ยท Three levels
Software Quality Assurance
Learn to design, investigate, automate, and communicate software tests through realistic evidence, from acceptance rules to risk-based release decisions.
Start learningIn this course
This public self-study course develops software testing judgment through a fictional training and scholarship portal. Eighteen teaching chapters progress from quality principles, requirements, and test design to API, database, browser, accessibility, automation, security, performance, and release evidence. Every chapter includes worked scenarios, common failures with prevention, and exercises with explained solutions.
The examples use synthetic data and bounded local reasoning. Testing supplies evidence under stated conditions; it cannot establish exhaustive correctness, universal accessibility, or absence of security vulnerabilities. Code snippets are illustrative and are never executed by the public course. Primary references support further study; this independent course is not a certification or an accredited exam-preparation claim.
What you will learn
- Turn user needs into observable acceptance rules and independent test oracles.
- Design boundary, decision, state, exploratory, and property-based checks with explicit limitations.
- Investigate API, data, browser, accessibility, security, and reliability risks using synthetic examples.
- Maintain trustworthy automation and communicate release evidence, gaps, and residual risks.
Your learning path
Three levels
Basic: reasoning and test design
Establish quality vocabulary, observable requirements, test levels, systematic input design, and disciplined investigation.
- Quality, risk, and trustworthy evidence
- Requirements, acceptance, and testability
- Test levels, isolation, and useful assertions
- Equivalence partitions and boundary values
- Decision tables and state transitions
- Defect reports and exploratory investigation
Intermediate: integrated product evidence
Investigate interfaces and persistent state, evaluate complete user tasks, and build dependable automation and regression evidence.
- API contracts, errors, and repeated requests
- Database integrity, transactions, and concurrency
- Web journeys, sessions, and asynchronous behavior
- Accessibility as observable usability
- Automation, fixtures, and trustworthy test data
- Regression selection and unreliable tests
Advanced: strategy, resilience, and leadership
Connect risk to security, performance, properties, reliability measures, and transparent release decisions.
- Risk-based strategy and defensible scope
- Security quality and abuse-case testing
- Performance experiments and failure recovery
- Property-based and metamorphic testing
- Coverage, reliability metrics, and release evidence
- Test leadership and continuous quality learning
Who this is for
- Aspiring software testers and quality engineers who want practical theory and evidence-driven reasoning.
- Developers, product owners, and technical leads who share responsibility for trustworthy software behavior.
Before you start
- Basic familiarity with web applications, files, forms, and simple structured data.
- Ability to follow short Python-like examples; advanced programming is not required for the basic level.