QA Engineering Tutorial
Manual Testing, Test Automation and SDET Skills Tutorial
📂 Chapter 1: Software Testing Fundamentals — Concepts, Mindset and Terminology
1010
What Is Software Testing? Purpose, Goals and Why It Matters
Beginner
→
1020
The Seven Principles of Software Testing — ISTQB Foundation
Beginner
→
1030
Testing Mindset and Psychology — Thinking Like a Tester
Beginner
→
1040
Essential Testing Terminology — A Practical Glossary for QA Engineers
Beginner
→
1050
Testing in Practice — Putting Fundamentals to Work on a Real Project
Beginner
→
📂 Chapter 2: SDLC and STLC — Understanding the Software and Testing Life Cycles
2010
What Is the Software Development Life Cycle (SDLC)? Phases and Purpose
Beginner
→
2020
SDLC Models Compared — Waterfall, V-Model, Agile and Beyond
Beginner
→
2030
What Is the Software Testing Life Cycle (STLC)? Phases Explained
Beginner
→
2040
Mapping SDLC to STLC — How Development and Testing Phases Align
Beginner
→
2050
STLC in Practice — Entry Criteria, Exit Criteria and Real-World Workflow
Beginner
→
📂 Chapter 3: Test Planning and Strategy — Building a Roadmap for Quality
3010
What Is a Test Plan? Purpose, Audience and When You Need One
Beginner
→
3020
Anatomy of a Test Plan — Key Sections Based on IEEE 829
Beginner
→
3030
Test Strategy vs Test Plan — What Is the Difference?
Beginner
→
3040
Risk-Based Testing — How to Prioritise What to Test First
Beginner
→
3050
Writing Your First Test Plan — A Step-by-Step Walkthrough
Beginner
→
📂 Chapter 4: Test Case Design — Writing Clear, Reusable and Effective Test Cases
4010
What Is a Test Case? Anatomy, Structure and Purpose
Beginner
→
4020
Writing Effective Test Cases — Steps, Expected Results and Clarity
Beginner
→
4030
Positive, Negative and Boundary Test Cases — Covering All Angles
Beginner
→
4040
Test Data Design and Requirements Traceability Matrix (RTM)
Beginner
→
4050
Test Case Reviews, Maintenance and Best Practices
Beginner
→
📂 Chapter 5: Defect Management — Reporting, Tracking and Resolving Bugs Effectively
5010
The Defect Life Cycle — From Discovery to Closure
Beginner
→
5020
Writing Effective Bug Reports That Developers Actually Fix
Beginner
→
5030
Severity vs Priority — Classifying Defects Correctly
Beginner
→
5040
Defect Tracking Tools and Workflows — Jira, Azure DevOps and Beyond
Beginner
→
5050
Defect Triage, Metrics and Best Practices for QA Teams
Beginner
→
📂 Chapter 6: Types of Testing — A Complete Guide to Functional and Non-Functional Testing
6010
Functional vs Non-Functional Testing — Understanding the Two Pillars
Beginner
→
6020
Test Levels — Unit, Integration, System and Acceptance Testing
Beginner
→
6030
Smoke, Sanity and Regression Testing — When and Why to Use Each
Beginner
→
6040
Non-Functional Testing — Performance, Security, Usability and More
Beginner
→
6050
Choosing the Right Test Types for Your Project — A Decision Framework
Beginner
→
📂 Chapter 7: Agile Testing — Quality in Every Sprint
7010
Agile Testing Principles — How Testing Changes in an Agile World
Intermediate
→
7020
The Tester's Role in Scrum — Ceremonies, Collaboration and Daily Workflow
Intermediate
→
7030
Agile Testing Quadrants — A Framework for Choosing What to Test and How
Intermediate
→
7040
User Stories, Acceptance Criteria and Definition of Done for Testers
Intermediate
→
7050
Agile Testing Best Practices — Continuous Testing and Whole-Team Quality
Intermediate
→
📂 Chapter 8: Test Metrics and Reporting — Measuring and Communicating Quality
8010
Why Test Metrics Matter — What to Measure, What to Ignore and Common Traps
Intermediate
→
8020
Test Execution Metrics — Pass Rate, Coverage and Progress Tracking
Intermediate
→
8030
Defect Metrics and Trend Analysis — Patterns That Predict Quality
Intermediate
→
8040
Writing Test Reports — Structure, Audience and Actionable Summaries
Intermediate
→
8050
Test Dashboards, Reporting Automation and Metrics Best Practices
Intermediate
→
📂 Chapter 9: Requirements Analysis — Extracting Testable Conditions from Specifications
9010
Why Requirements Analysis Matters for QA — Catching Defects Before Code Exists
Intermediate
→
9020
Types of Requirements — Functional, Non-Functional, Explicit and Implicit
Intermediate
→
9030
Analysing Requirements for Testability — Ambiguity, Completeness and Consistency
Intermediate
→
9040
Deriving Test Conditions and Scenarios from Requirements Documents
Intermediate
→
9050
Requirements Reviews, Walkthroughs and Maintaining Traceability
Intermediate
→
📂 Chapter 10: Black-Box Testing Techniques — Designing Tests Without Seeing the Code
10010
What Is Black-Box Testing? Principles, Advantages and When to Use It
Intermediate
→
10020
Equivalence Partitioning — Reducing Test Cases Without Reducing Coverage
Intermediate
→
10030
Boundary Value Analysis — Testing Where Defects Hide
Intermediate
→
10040
Decision Table Testing — Handling Complex Business Rules Systematically
Intermediate
→
10050
State Transition Testing — Verifying System Behaviour Across States
Intermediate
→
📂 Chapter 11: BVA and Equivalence Partitioning — Advanced Applications and Real-World Scenarios
11010
Combining Equivalence Partitioning and BVA — A Unified Test Design Workflow
Intermediate
→
11020
Multi-Variable Equivalence Partitioning — Testing Forms with Multiple Fields
Intermediate
→
11030
Three-Value BVA, Robust BVA and Worst-Case Testing Strategies
Intermediate
→
11040
EP and BVA for Dates, Strings, Enumerations and File Uploads
Intermediate
→
11050
Real-World Case Study — EP and BVA Applied to a Complete Registration Form
Intermediate
→
📂 Chapter 12: Decision Tables and State-Based Testing
📂 Chapter 13: Exploratory Testing in Practice
13010
Exploratory Testing Fundamentals
Intermediate
→
13020
Charters and Session-Based Exploratory Testing
Intermediate
→
13030
Exploratory Techniques and Heuristics
Intermediate
→
13040
Integrating Exploratory Testing into Sprints
Intermediate
→
13050
Reporting Findings and Building Exploratory Skills
Intermediate
→
📂 Chapter 14: Regression Testing Strategies
14010
Regression Testing Fundamentals
Intermediate
→
14020
Selecting and Prioritising Regression Tests
Intermediate
→
14030
Building Maintainable Regression Suites
Intermediate
→
14040
Regression Testing in CI/CD Pipelines
Intermediate
→
14050
Managing Regression Debt and Optimising Coverage
Intermediate
→
📂 Chapter 15: UAT and Acceptance Testing
15010
UAT and Acceptance Testing Fundamentals
Intermediate
→
15020
Designing Effective UAT Scenarios
Intermediate
→
15030
Preparing Users and Environments for UAT
Intermediate
→
15040
Running UAT Sessions and Capturing Feedback
Intermediate
→
15050
Sign-Off Criteria and UAT Best Practices
Intermediate
→
📂 Chapter 16: Test Management Tools
16010
Test Management Tools Overview
Intermediate
→
16020
Designing Test Repositories and Folder Structures
Intermediate
→
16030
Linking Requirements, Defects and Test Cases
Intermediate
→
16040
Integrating Test Management with Automation and CI
Intermediate
→
16050
Metrics, Dashboards and Reporting in Test Tools
Intermediate
→
📂 Chapter 17: REST API Testing Fundamentals
17010
REST API Basics and HTTP Concepts
Intermediate
→
17020
Designing Test Cases for REST Endpoints
Intermediate
→
17030
Status Codes, Headers and Payload Validation
Intermediate
→
17040
Environment Setup and Test Data for APIs
Intermediate
→
17050
Documentation, Contracts and Common API Pitfalls
Intermediate
→
📂 Chapter 18: Postman Basics for API Testing
📂 Chapter 19: Postman Advanced Techniques
19010
Advanced Postman Scripting and Workflows
Intermediate
→
19020
Postman Authentication Flows and Token Handling
Intermediate
→
19030
Working with Postman Monitors and Scheduled Runs
Intermediate
→
19040
Optimising Large Collections and Collaboration
Intermediate
→
19050
Best Practices and Anti-Patterns in Postman Usage
Intermediate
→
📂 Chapter 20: API Authentication and Authorization Testing
20010
API Authentication Concepts and Threats
Intermediate
→
20020
Testing API Keys, Basic Auth and Custom Tokens
Intermediate
→
20030
Testing OAuth 2.0 and JWT-Based APIs
Intermediate
→
20040
Authorization Testing and Role-Based Access
Intermediate
→
20050
Hardening API Auth Tests and Avoiding Pitfalls
Intermediate
→
📂 Chapter 21: Newman for API Automation
📂 Chapter 22: API Test Design Patterns
📂 Chapter 23: GraphQL API Testing
📂 Chapter 24: API Security Testing
📂 Chapter 25: Backend and SQL Testing
📂 Chapter 26: Microservices and Integration Testing
26010
Microservices Architecture for Testers
Advanced
→
26020
Integration Testing Patterns for Microservices
Advanced
→
26030
Contract Testing Between Services
Advanced
→
26040
Test Environments and Test Data in Distributed Systems
Advanced
→
26050
Observability and Debugging in Microservices Tests
Advanced
→
📂 Chapter 27: Messaging, Queues and Event-Driven Testing
📂 Chapter 28: Cloud Infrastructure and Environment Testing
28010
Cloud Infrastructure Fundamentals for Testers
Advanced
→
28020
Configuration Management and Infrastructure as Code
Advanced
→
28030
Environment Parity and Configuration Drift
Advanced
→
28040
Resilience and Chaos Testing in the Cloud
Advanced
→
28050
Cost, Observability and Governance for Test Environments
Advanced
→
📂 Chapter 29: Performance and Load Testing
📂 Chapter 30: QA Career Growth and Leadership
📂 Chapter 31: AI-Assisted Testing
📂 Chapter 32: Test Data Strategy and Synthetic Data
📂 Chapter 33: Production Quality, SLOs and Observability
33010
Introduction to Production Quality and SLOs
Advanced
→
33020
Observability Fundamentals: Logs, Metrics, Traces
Advanced
→
33030
Using Observability to Inform Testing
Advanced
→
33040
Error Budgets, Incident Reviews and Feedback Loops
Advanced
→
33050
Building Production-Aware Test Strategies
Advanced
→
📂 Chapter 34: Compliance, Risk-Based Testing and Audits
📂 Chapter 35: Building a Quality Culture Across the Organisation
📂 Chapter 36: Selenium WebDriver — Setup, Configuration and Your First Automated Test
36010
What Is Selenium WebDriver? Architecture, Components and Why It Dominates Browser Automation
Intermediate
→
36020
Installing Selenium — Python and Java Setup with Browser Drivers
Intermediate
→
36030
Writing Your First Selenium Test — Navigate, Interact and Assert
Intermediate
→
36040
Integrating Selenium with pytest and JUnit — Test Runners and Assertions
Intermediate
→
36050
Selenium Project Structure — Folders, Configuration and Day-One Best Practices
Intermediate
→
📂 Chapter 37: Selenium Locators — Finding Elements Reliably on Any Web Page
37010
Locator Strategies Overview — ID, Name, Class, Tag and When to Use Each
Intermediate
→
37020
CSS Selectors for Selenium — Syntax, Patterns and Practical Examples
Intermediate
→
37030
XPath for Selenium — Axes, Functions and When XPath Beats CSS
Intermediate
→
37040
Locator Best Practices — Writing Stable Locators That Survive UI Changes
Intermediate
→
37050
Debugging Locators with Browser DevTools — Inspect, Verify and Fix
Intermediate
→
📂 Chapter 38: Page Object Model — Scalable, Maintainable Test Architecture
38010
Why Page Object Model? The Problem It Solves and the Architecture It Creates
Intermediate
→
38020
Building Your First Page Object — Locators, Actions and Return Types
Intermediate
→
38030
The BasePage Pattern — Shared Methods, Waits and DRY Automation
Intermediate
→
38040
Using Page Objects in Tests — Clean, Readable and Business-Focused Tests
Intermediate
→
38050
POM Best Practices and Anti-Patterns — Rules That Keep Your Framework Clean
Intermediate
→
📂 Chapter 39: Selenium Waits and Synchronisation — Eliminating Flaky Tests
39010
Why Tests Are Flaky — The Timing Gap Between Selenium and the Browser
Intermediate
→
39020
Implicit Waits — Global Timeout for Element Lookup
Intermediate
→
39030
Explicit Waits and Expected Conditions — Precision Synchronisation
Intermediate
→
39040
Fluent Waits and Custom Expected Conditions — Advanced Synchronisation
Intermediate
→
39050
Wait Strategy Best Practices — Building a Flake-Free Test Suite
Intermediate
→
📂 Chapter 40: Selenium Advanced Interactions — Actions, Alerts, Frames and Windows
40010
Action Chains — Mouse Hover, Drag-and-Drop and Keyboard Combos
Advanced
→
40020
Handling JavaScript Alerts, Confirms and Prompts in Selenium
Advanced
→
40030
Working with iFrames and Shadow DOM — Switching Contexts in Selenium
Advanced
→
40040
Multiple Windows and Tabs — Opening, Switching and Managing Browser Contexts
Advanced
→
40050
File Uploads, Downloads and JavaScript Execution in Selenium
Advanced
→
📂 Chapter 41: Selenium Grid and Parallel Execution — Scaling Your Test Suite
41010
Why Parallel Testing? The Speed Problem and How Grid Solves It
Advanced
→
41020
Selenium Grid 4 Architecture — Hub, Node, Router and Sessions
Advanced
→
41030
Setting Up Grid — Standalone Mode and Docker Compose
Advanced
→
41040
Running Tests Against Grid — Remote WebDriver and Capabilities
Advanced
→
41050
Parallel Execution with pytest-xdist and JUnit — Maximising Throughput
Advanced
→
📂 Chapter 42: Selenium Framework Design — Building Production-Grade Automation
42010
Framework Architecture — The Five Layers of a Production Automation Framework
Advanced
→
42020
Data-Driven Testing — Parameterising Tests with External Data Sources
Advanced
→
42030
Reporting, Logging and Screenshots — Evidence and Diagnostics
Advanced
→
42040
Retry Mechanisms and Flake Management — Handling the Unavoidable
Advanced
→
42050
CI/CD Integration — Running Your Framework in GitHub Actions and Jenkins
Advanced
→
📂 Chapter 43: Cross-Browser Testing — Ensuring Consistency Across Chrome, Firefox, Safari and Edge
43010
Why Cross-Browser Testing? Rendering Engines, Market Share and Real-World Failures
Advanced
→
43020
Configuring Chrome, Firefox, Edge and Safari in Selenium with a Driver Factory
Advanced
→
43030
Parameterised Cross-Browser Execution — Running Every Test on Every Browser
Advanced
→
43040
Browser-Specific Defects — CSS Rendering, JavaScript APIs and Quirks to Watch For
Advanced
→
43050
Cross-Browser Strategy — Prioritisation, Coverage Matrix and Best Practices
Advanced
→
📂 Chapter 44: Playwright Setup
44010
Playwright Introduction and Architecture
Intermediate
→
44020
Installing Playwright and Creating Your First Test
Intermediate
→
44030
Project Structure and Test Runner Basics
Intermediate
→
44040
Configuring Browsers and Timeouts
Intermediate
→
44050
Environment Setup, CI, and Best Practices
Intermediate
→
📂 Chapter 45: Playwright Selectors
📂 Chapter 46: Playwright Assertions
📂 Chapter 47: Playwright Fixtures and Hooks
📂 Chapter 48: Playwright Network API
📂 Chapter 49: Playwright Parallel and CI
📂 Chapter 50: Playwright Visual and Accessibility
📂 Chapter 51: Playwright Architecture and Patterns
📂 Chapter 52: Playwright Capstone and Recap
📂 Chapter 53: Cypress Setup and Architecture — Fast, Reliable Front-End Testing
53010
What Is Cypress? Architecture, Philosophy and How It Differs from Selenium
Intermediate
→
53020
Installing Cypress and Project Setup — From Zero to First Test in Minutes
Intermediate
→
53030
Writing Your First Cypress Test — Visit, Query, Act, Assert
Intermediate
→
53040
The Cypress Test Runner — Time Travel, DOM Snapshots and Interactive Debugging
Intermediate
→
53050
Cypress vs Selenium vs Playwright — Choosing the Right Tool for Your Team
Intermediate
→
📂 Chapter 54: Cypress Commands and Queries — Mastering the cy API
54010
Querying the DOM — cy.get, cy.contains, cy.find and Chaining
Intermediate
→
54020
Actions and Interactions — click, type, select, check and Scrolling
Intermediate
→
54030
Assertions in Cypress — should, and, expect and Retry-Until-Pass
Intermediate
→
54040
Aliases and Variables — Sharing Data Between Commands with cy.as and cy.wrap
Intermediate
→
54050
Traversal and Advanced Queries — parent, siblings, each, filter and within
Intermediate
→
📂 Chapter 55: Cypress Fixtures and Custom Commands — Reusable Data and Actions
55010
Fixtures — Loading External Test Data from JSON, CSV and Static Files
Intermediate
→
55020
Custom Commands — Creating Reusable Actions with Cypress.Commands.add
Intermediate
→
55030
Advanced Custom Command Patterns — Overwriting, Chaining and TypeScript Typing
Intermediate
→
55040
Hooks and Test Setup — beforeEach, afterEach and Efficient Test Isolation
Intermediate
→
55050
Fixtures and Custom Commands Best Practices — Keeping Your Suite DRY and Fast
Intermediate
→
📂 Chapter 56: Cypress API Testing — Validating Backend Services with cy.request
56010
Why API Testing in Cypress? Combining UI and API Verification in One Tool
Advanced
→
56020
cy.request Fundamentals — GET, POST, PUT, DELETE and Response Assertions
Advanced
→
56030
API Authentication in Cypress — Tokens, Cookies and Session Management
Advanced
→
56040
API-Driven Test Setup — Seeding Data, Creating State and Bypassing the UI
Advanced
→
56050
API Test Patterns and Best Practices — CRUD Validation, Chaining and Error Scenarios
Advanced
→
📂 Chapter 57: Cypress Intercept and Stubs — Controlling Network Traffic
57010
What Is cy.intercept? Spying, Stubbing and Modifying Network Requests
Advanced
→
57020
Spying on Network Requests — Waiting for API Calls and Validating Payloads
Advanced
→
57030
Stubbing API Responses — Fast, Deterministic Tests with Controlled Data
Advanced
→
57040
Modifying Requests and Responses — Simulating Errors, Delays and Edge Cases
Advanced
→
57050
Intercept Patterns and Best Practices — Building a Robust Network Control Layer
Advanced
→
📂 Chapter 58: Cypress Component Testing — Testing UI Components in Isolation
58010
What Is Component Testing? The Layer Between Unit Tests and E2E Tests
Advanced
→
58020
Setting Up Cypress Component Testing — React, Vue and Angular Configuration
Advanced
→
58030
Mounting and Testing Components — Props, Events, Slots and Rendering
Advanced
→
58040
Stubbing Dependencies — Mocking API Calls, Context Providers and Child Components
Advanced
→
58050
Component Testing Patterns and Best Practices — When to Use CT vs E2E
Advanced
→
📂 Chapter 59: Cypress Cloud and CI/CD Integration — Scaling Tests in Pipelines
59010
Running Cypress in CI/CD Pipelines — GitHub Actions, GitLab CI and Jenkins
Advanced
→
59020
Parallelisation with Cypress Cloud — Splitting Tests Across Machines
Advanced
→
59030
Cypress Cloud Dashboard — Test Analytics, Flake Detection and Trends
Advanced
→
59040
Docker and Cypress — Reproducible Test Environments with Official Images
Advanced
→
59050
CI/CD Best Practices — Quality Gates, Reporting and Pipeline Optimisation
Advanced
→
📂 Chapter 60: Cypress Visual and Accessibility Testing — Catching What Functional Tests Miss
60010
Visual Regression Testing — Catching Unintended UI Changes with Screenshot Comparison
Advanced
→
60020
Visual Testing Tools for Cypress — Percy, Applitools, cypress-image-diff and Pixelmatch
Advanced
→
60030
Accessibility Testing with cypress-axe — Automated WCAG Compliance Checks
Advanced
→
60040
Keyboard Navigation, Focus Management and ARIA Testing in Cypress
Advanced
→
60050
Visual and Accessibility Testing Strategy — When, Where and How Much to Test
Advanced
→
📂 Chapter 61: CI/CD Fundamentals for QA
📂 Chapter 62: GitHub Actions for Testing
📂 Chapter 63: Docker Test Environments
📂 Chapter 64: Test Reporting with Allure
📂 Chapter 65: Quality Gates and Coverage
📂 Chapter 66: Shift-Left Testing
📂 Chapter 67: Test Data Management
📂 Chapter 68: QA Metrics and KPIs
📂 Chapter 69: Load, Stress and Endurance Testing
📂 Chapter 70: JMeter Test Plans
70010
JMeter Basics: Threads, Samplers and Listeners
Intermediate
→
70020
HTTP Request Samplers and Assertions
Intermediate
→
70030
Parameterisation, CSV Data and Correlations
Intermediate
→
70040
Timers, Think Time and Controllers
Intermediate
→
70050
Building a Reusable JMeter Test Plan
Intermediate
→
📂 Chapter 71: JMeter Advanced Scenarios
71010
Advanced Thread Groups and Ramp-Up Patterns
Advanced
→
71020
Correlated User Journeys and Stateful Sessions
Advanced
→
71030
Plugins, Monitoring and Non-GUI Execution
Advanced
→
71040
Parameterising Environments and CI Integration
Advanced
→
71050
JMeter Best Practices and Troubleshooting
Advanced
→
📂 Chapter 72: k6 Modern Performance Testing
📂 Chapter 73: k6 Scenarios and Thresholds
📂 Chapter 74: Performance Testing in CI/CD
📂 Chapter 75: Performance Analysis and Bottlenecks
📂 Chapter 76: Performance, Security and Scalability
76010
Performance vs Security and Compliance
Advanced
→
76020
Rate Limiting, Throttling and DDoS Considerations
Advanced
→
76030
Multi-Region and CDN Performance Considerations
Advanced
→
76040
Resilience: Timeouts, Retries and Circuit Breakers
Advanced
→
76050
Bringing It All Together: Performance as a System Property
Advanced
→
📂 Chapter 77: The SDET Role and Design Patterns — Engineering-Grade Test Automation
77010
What Is an SDET? Role, Responsibilities and How It Differs from QA and Dev
Advanced
→
77020
SOLID Principles Applied to Test Automation — Writing Maintainable Frameworks
Advanced
→
77030
Design Patterns for Automation — Factory, Strategy, Builder and Singleton
Advanced
→
77040
Test Data Management — Factories, Builders, Fakers and Database Seeding
Advanced
→
77050
Code Quality for Test Code — Linting, Reviews, Refactoring and Technical Debt
Advanced
→
📂 Chapter 78: BDD with Cucumber and SpecFlow — Bridging Business and Automation
78010
What Is BDD? Behaviour-Driven Development Philosophy and Workflow
Advanced
→
78020
Gherkin Syntax — Writing Feature Files with Given, When, Then
Advanced
→
78030
Cucumber Step Definitions — Connecting Gherkin to Automation Code
Advanced
→
78040
SpecFlow for .NET — BDD in C# with Visual Studio Integration
Advanced
→
78050
BDD Best Practices and Anti-Patterns — Writing Scenarios That Deliver Value
Advanced
→
📂 Chapter 79: Security and Accessibility Testing — Protecting Users and Ensuring Inclusion
79010
Security Testing Fundamentals — OWASP Top 10 and the QA Role in AppSec
Advanced
→
79020
Testing for Common Vulnerabilities — XSS, SQL Injection, CSRF and Auth Flaws
Advanced
→
79030
Security Testing Tools — OWASP ZAP, Burp Suite and Automated Security Scans
Advanced
→
79040
Comprehensive Accessibility Testing — WCAG 2.1, Automated Scans and Manual Audits
Advanced
→
79050
Security and Accessibility Strategy — Shift Left, Compliance and Continuous Monitoring
Advanced
→
📂 Chapter 80: Capstone Project and QA Career Path — Putting It All Together
80010
Capstone Project — Building a Complete Test Automation Framework from Scratch
Advanced
→
80020
Framework Implementation — Page Objects, Custom Commands, Data Management and Reporting
Advanced
→
80030
CI/CD Pipeline and Cross-Browser Execution — Deploying Your Framework
Advanced
→
80040
QA Career Paths — From Manual Tester to SDET to Test Architect
Advanced
→
80050
Portfolio, Interviews and Continuous Learning — Landing and Growing in QA Roles
Advanced
→