QA Engineer Roadmap
This QA Engineer Roadmap is a free, full-text syllabus of 146 lessons in 19 stages, starting with Learn the Fundamentals and ending with Headless Testing. It suits anyone working towards a QA role, from a first-year student to a working developer changing tracks. There is no fixed length: every lesson is open from the start, so you go at your own pace and skip what you already know.
Last updated
Reading is open to everyone. Sign in to join this roadmap and track what you finish.
Continue learning
1. Learn the FundamentalsLearn the Fundamentals
0%Learn the Fundamentals
32 topics · 31 sub-topics · 0 completed
The diagram draws the same 146 lessons as a map, with lines showing the order. It needs JavaScript; the full syllabus below lists every lesson as text.
Full syllabus: every lesson in the QA roadmap
19 stages and 146 lessons, in the order the roadmap suggests. Every lesson is free to read and open from the start.
Stage 1: Learn the Fundamentals
Learn the Fundamentals
The fundamentals of QA cover the core concepts, terminology, and practices every software tester needs to know. This includes what quality assurance is, common testing techniques and approaches, test management tools, and how QA integrates into software development lifecycles.
What is Quality Assurance?
Quality Assurance (QA) is a systematic process for ensuring that software products meet defined quality standards before delivery. It encompasses planning, executing, and evaluating tests to identify defects, verify requirements, and improve development processes. QA is process-oriented and aims to prevent defects…
QA Mindset
The QA mindset is the set of critical thinking habits and attitudes that make an effective tester. It includes questioning assumptions, thinking about how systems can fail, paying attention to detail, and advocating for the user's perspective. A strong QA mindset balances thoroughness with pragmatism, focusing…
Testing Approaches
Testing approaches describe the general perspective from which tests are designed and executed. The three main categories are white box testing, which tests internal code paths; black box testing, which tests behavior without knowledge of internals; and gray box testing, which combines elements of both.
Test Oracles
A test oracle is a mechanism; different from the program itself that can be used to check the correctness of the program's output for the test cases. Conceptually, we can consider testing a process in which the test cases are given to the test oracle and the program under testing.
Test Prioritization
Test prioritization is ordering the test cases to be conducted eventually. Prioritizing test cases aids to meet two important constraints, namely time and budget in software testing to enhance the fault detection rate as early as possible.
Project Management
Project management tools in QA help teams plan, track, and coordinate testing activities within the broader software project. They manage requirements, bugs, sprints, and progress reporting. Platforms commonly used in QA teams include Atlassian products, Assembla, YouTrack, and Trello.
Manage your Testing
Test Management is a process of managing the testing activities in order to ensure high quality and high-end testing of the software application. The method consists of organizing, controlling, ensuring traceability and visibility of the testing process in order to deliver the high quality software application. It…
Atlassian
Jira is a software application used for issue tracking and project management. The tool, developed by the Australian software company Atlassian, has become widely used by agile development teams to track bugs, stories, epics, and other tasks.
Assembla
Assembla is an extensive suite of applications for software development, enabling distributed agile teams. It allows development teams to manage, initiate and maintain agile projects, applications and websites.
qTest
qTest is a test management tool used for Project Management, Bug Tracking, and Test Management. It follows the centralized test management concept that helps to communicate easily and assists in rapid development of task across QA team and other stakeholders.
TestRail
TestRail is a web-based test case management tool. It is used by testers, developers and team leads to manage, track, and organize software testing efforts. TestRail allows team members to enter test cases, organize test suites, execute test runs, and track their results, all from a modern and easy to use web…
YouTrack
YouTrack is a project management software developed by JetBrains. It’s in the form of a plugin that can be attached to the JetBrains IDEs such as Intellij Idea, and helps create and assign tasks to a development team as well as track the progress of working.
Trello
Trello is a visual project management tool based on Kanban-style boards with cards and lists. Teams use it to track tasks, manage workflows, and coordinate work across members. In QA contexts, Trello is commonly used for lightweight test planning and defect tracking in smaller teams or projects.
TestLink
TestLink is most widely used web based open source test management tool. It synchronizes both requirements specification and test specification together. Tester can create test project and document test cases using this tool. With TestLink you can create an account for multiple users and assign different user roles.
Zephyr
Zephyr is a test management solution available as a Jira plugin (Zephyr Scale, Zephyr Squad) and as a standalone product. It allows teams to create test cases, organize them into cycles, execute tests, and view reports without leaving the Jira interface. Zephyr is widely used in teams that rely on Jira as their…
Testing Techniques
Testing Techniques are methods applied to evaluate a system or a component with a purpose to find if it satisfies the given requirements. Testing of a system helps to identify gaps, errors, or any kind of missing requirements differing from the actual requirements. These techniques ensure the overall quality of the…
Functional Testing
Functional testing is a type of software testing that validates the software system against the functional requirements/specifications. The purpose of Functional tests is to test each function of the software application by providing appropriate input and verifying the output against the Functional requirements.
UAT
User Acceptance Testing (UAT) is a type of testing performed by the end user or the client to verify/accept the software system before moving the software application to the production environment. UAT is done in the final phase of testing after functional, integration and system testing is done.
Exploratory Testing
Exploratory testing is evaluating a product by learning about it through exploration and experimentation, including to some degree: questioning, study, modeling, observation, inference, etc.
Non-Functional Testing
Non-functional testing is a type of software testing to test non-functional parameters such as reliability, load test, performance, and accountability of the software. The primary purpose of non-functional testing is to test the reading speed of the software system as per non-functional parameters. The parameters…
Sanity Testing
Sanity testing is a kind of Software Testing performed after receiving a software build, with minor changes in code, or functionality, to ascertain that the bugs have been fixed and no further issues are introduced due to these changes. The goal is to determine that the proposed functionality works roughly as…
Load Testing
Load Testing is a type of Performance Testing that determines the performance of a system, software product, or software application under real-life-based load conditions. Load testing determines the behavior of the application when multiple users use it at the same time. It is the response of the system measured…
Regression Testing
Regression Testing is a type of software testing to confirm that a recent program or code change has not adversely affected existing features. Regression testing is a black box testing technique. Test cases are re-executed to check the previous functionality of the application is working fine and that the new…
Performance Testing
Performance testing measures the speed, scalability, and stability of a system under various conditions. It encompasses load testing, stress testing, endurance testing, and spike testing. The goal is to identify performance bottlenecks and verify that response times and throughput meet defined service level objectives.
Smoke Testing
Smoke Testing is a software testing process that determines whether the deployed software build is stable or not. Smoke testing is a confirmation for QA team to proceed with further software testing. It consists of a minimal set of tests run on each build to test software functionalities.
Stress Testing
Stress testing evaluates a system's behavior when pushed beyond its normal operational capacity. It determines the system's breaking point by gradually increasing load until failure. Stress tests reveal how the system fails, whether it fails gracefully, and how it recovers after load is reduced.
Unit Testing
Unit testing is where individual units (modules, functions/methods, routines, etc.) of software are tested to ensure their correctness. This low-level testing ensures smaller components are functionally sound while taking the burden off of higher-level tests. Generally, a developer writes these tests during the…
Security Testing
Security Testing is a type of Software Testing that uncovers vulnerabilities, threats, or risks in a software application and prevents malicious attacks from intruders. The purpose of Security Tests is to identify all possible loopholes and weaknesses of the software system which might result in a loss of…
Integration Testing
Integration Testing is a type of testing where software modules are integrated logically and tested as a group. A typical software project consists of multiple software modules coded by different programmers. This testing level aims to expose defects in the interaction between these software modules when they are…
Accessibility Testing
Accessibility Testing is defined as a type of Software Testing performed to ensure that the application being tested is usable by people with disabilities like hearing, color blindness, old age, low vision and other disadvantaged groups.
Mocking
Mocking is a testing technique where you replace real dependencies (like databases, APIs, or other services) with simulated objects that mimic their behavior. This allows you to isolate the code you're testing and verify that it interacts correctly with those dependencies, without actually relying on them being…
Stage 2: SDLC Delivery Model
SDLC Delivery Model
The Software Development Life Cycle (SDLC) is a process followed for a software project, within a software organization. It consists of a detailed plan describing how to develop, maintain, replace and alter or enhance specific software. The life cycle defines a methodology for improving the quality of software and…
Agile Model
The Agile model is an iterative, incremental approach to software development that delivers working software in short cycles called sprints or iterations. Testing is integrated throughout each iteration rather than as a separate phase. Agile teams collaborate closely between developers and QA, with continuous…
Kanban
Kanban is an Agile workflow management method that visualizes work on a board with columns representing stages like To Do, In Progress, and Done. Work items flow through columns as they are completed, and work-in-progress limits prevent bottlenecks. QA teams use Kanban to manage testing tasks and make workflow…
Scrum
Scrum in Software Testing is a methodology for building complex software applications. It provides easy solutions for executing complicated tasks. Scrum helps the development team to focus on all aspects of the software product development like quality, performance, usability, and so on. It provides with…
XP
Extreme Programming (XP) is an agile software development framework that aims to produce higher quality software, and higher quality of life for the development team. XP is the most specific of the agile frameworks regarding appropriate engineering practices for software development.
SAFe
Scaled Agile Framework (SAFe) is a freely available online knowledge base that allows you to apply lean-agile practices at the enterprise level. It provides a simple and lightweight experience for software development. It is a set of organizations and workflow patterns intended to guide enterprises for scaling lean…
White Box Testing
White Box Testing is a technique in which software’s internal structure, design, and coding are tested to verify input-output flow and improve design, usability, and security. In white box testing, code is visible to testers, so it is also called Clear box testing, Open box testing, Transparent box testing,…
Gray Box Testing
Gray box testing is a software testing technique to test a software product or application with partial knowledge of the internal structure of the application. The purpose of gray box testing is to search and identify the defects due to improper code structure or improper use of applications.
Black Box Testing
Black Box Testing is a software testing method in which the functionalities of software applications are tested without having knowledge of internal code structure, implementation details and internal paths. Black Box Testing mainly focuses on input and output of software applications and it is entirely based on…
Spiral
The Spiral Model is a software development lifecycle (SDLC) approach that emphasizes risk management. It involves iterative cycles of planning, risk analysis, engineering, and evaluation. Each cycle builds upon the previous one, gradually refining the software and mitigating potential risks as the project progresses.
V Model
V Model is a highly disciplined SDLC model that has a testing phase parallel to each development phase. The V model is an extension of the waterfall model wherein software development and testing is executed in a sequential way. It's also known as the Validation or Verification Model.
Waterfall
Waterfall Model is a sequential model that divides software development into pre-defined phases. Each phase must be completed before the next phase can begin with no overlap between the phases. Each phase is designed for performing specific activity during the SDLC phase.
Stage 3: Testing Methodologies
Testing Methodologies
Testing methodologies define structured approaches for integrating testing into the development process. Common methodologies include Test-Driven Development (TDD), Acceptance Test-Driven Development (ATDD), Behavior-Driven Development (BDD), and Root Cause Analysis (RCA). Each shapes when tests are written, by…
Stage 4: Manual Testing
Manual Testing
Manual Testing is a type of software testing in which test cases are executed manually by a tester without using any automated tools. The purpose of Manual Testing is to identify the bugs, issues, and defects in the software application. Manual software testing is the most primitive technique of all testing types,…
Test Cases and Scenarios
Test cases are documented descriptions of conditions, inputs, and expected results used to verify a specific aspect of a system. Test scenarios describe the higher-level situation being tested, and one scenario typically encompasses multiple test cases. Well-written test cases provide repeatable, clear…
Compatibility
Compatibility is nothing but the capability of existing or living together. Compatibility Testing is a type of Software testing to check whether your software is capable of running on different hardware, operating systems, applications, network environments or Mobile devices.
Verification and Validation
Verification checks that the software meets its specified design and requirements, asking "Are we building the product right?" Validation checks that the software meets the actual needs of the user, asking "Are we building the right product?" Both activities are performed at different stages of the development…
Test Planning
A Test Plan is a detailed document that describes the test strategy, objectives, schedule, estimation, deliverables, and resources required to perform testing for a software product. Test Plan helps us determine the effort needed to validate the quality of the application under test.
TDD
Test Driven Development (TDD) is software development approach in which test cases are developed to specify and validate what the code will do. In simple terms, test cases for each functionality are created and tested first and if the test fails then the new code is written in order to pass the test and making code…
ATDD
ATDD is a collaborative approach where the whole team defines acceptance criteria before development begins. These acceptance criteria are then turned into automated tests, which guide the development process. The goal is to ensure that the software meets the specific needs and expectations of the stakeholders.
BDD
Behavior-Driven Development (BDD) is a software development process that emphasizes collaboration between developers, testers, and business stakeholders. It focuses on defining the expected behavior of the software in plain language, using examples to illustrate the desired functionality. These examples are then…
RCA
Root Cause Analysis (RCA) is a systematic problem-solving method that aims to identify the fundamental reasons behind an issue or event. It goes beyond addressing the immediate symptoms to uncover the core factors that led to the problem, to prevent recurrence. By understanding the underlying causes, effective…
Stage 5: Backend Automation
Backend Automation
Backend Testing is a testing method that checks the server side or database of web applications or software. Backend testing aims to test the application layer or database layer to ensure that the web application or software is free from database defects like deadlock, data corruption, or data loss.
Stage 6: Frontend Automation
Frontend Automation
Front-end automation is a way to characterize automation that streamlines tasks focused on interactivity, websites, and attended processes. Robotic process automation, or RPA, is considered automation on the front end, or from the user-interface (UI) level. Benefits of front-end automation include quick task…
Stage 7: Accessibility Tests
Accessibility Tests
In software QA, accessibility testing is the practice of confirming that an application is usable for as many people as possible, including people with disabilities such as vision impairment, hearing problems and cognitive conditions.
Karateframework
Karate is an open-source test automation framework that combines API testing, mocking, and performance testing using a plain-text Gherkin-like syntax. It does not require programming knowledge for basic test cases, making it accessible to non-developer testers. Karate integrates with CI/CD pipelines and supports…
Cypress
Cypress framework is a JavaScript-based end-to-end testing framework built on top of Mocha – a feature-rich JavaScript test framework running on and in the browser, making asynchronous testing simple and convenient. It also uses a BDD/TDD assertion library and a browser to pair with any JavaScript testing framework.
Playwright
Playwright is an open-source library for automating web browsers built by Microsoft, similar to Selenium, it's commonly used for testing web applications. It's built on top of the .NET Core runtime and it provides bindings for C, it allows developers to write tests for web applications in C or other .NET languages.…
Soap UI
SoapUI is the world's leading Functional Testing tool for SOAP and REST testing. With its easy-to-use graphical interface, and enterprise-class features, SoapUI allows you to easily and rapidly create and execute automated functional, regression, and load tests.
Postman / Newman
Postman is an API platform for building and using APIs. Postman simplifies each step of the API lifecycle and streamlines collaboration so you can create better APIs—faster. It is an API client that makes it easy for developers to create, share, test, and document APIs. With this open-source solution, users can…
REST Assured
Rest-assured helps developers and test engineers to test REST APIs in Java ease by using techniques used in dynamic languages such as Groovy and Ruby.
Browser / Dev Tools
Every modern web browser includes a powerful suite of developer tools. These tools do a range of things, from inspecting currently-loaded HTML, CSS and JavaScript to showing which assets the page has requested and how long they took to load. This article explains how to use the basic functions of your browser's…
Webdriver.io
WebdriverIO is a Node.js-based test automation framework for web and mobile applications built on the WebDriver protocol. It provides an async API for browser automation and integrates with popular test frameworks like Mocha, Jasmine, and Cucumber. WebdriverIO supports Selenium, Chrome DevTools Protocol, and Appium…
HTML, CSS, JavaScript
HTML, CSS, and JavaScript are the three core web technologies that frontend test automation engineers must understand. HTML defines the structure of web pages, CSS controls styling and layout, and JavaScript powers interactivity. This knowledge enables testers to locate elements reliably, understand rendering…
Playwright
Playwright Test was created specifically to accommodate the needs of end-to-end testing. Playwright supports all modern rendering engines including Chromium, WebKit, and Firefox. Test on Windows, Linux, and macOS, locally or on CI, headless or headed with native mobile emulation of Google Chrome for Android and…
Jasmine
Jasmine is a very popular JavaScript BDD (behavior-driven development) framework for unit testing JavaScript applications. It provides utilities that can be used to run automated tests for both synchronous and asynchronous code. It does not depend on any other JavaScript frameworks. It does not require a DOM.
Ajax
AJAX stands for Asynchronous JavaScript And XML. In a nutshell, it is the use of the XMLHttpRequest object to communicate with servers. It can send and receive information in various formats, including JSON, XML, HTML, and text files.
Caching
Caching ensures that the resources downloaded once are reused instead of doing a fresh fetch again. It is useful for increasing subsequent page load speed by reusing cached images, fonts, and other static assets. Caching should not be typically done on dynamic content. For example list of posts or comments. As part…
QA Wolf
QA Wolf is a hybrid platform & service that helps software teams ship better software faster by taking QA completely off their plate.
Robot
Robot Framework is an open-source, keyword-driven test automation framework with a human-readable tabular test syntax. It is extensible through Python or Java libraries and supports web, API, desktop, and mobile testing. Robot Framework is widely used for acceptance testing and integrates with SeleniumLibrary and…
SWAs, PWAs, JAMStack
Single Web Apps (SWAs), Progressive Web Apps (PWAs), and JAMStack are modern web application architectures with distinct rendering and caching behaviors. PWAs add offline support and installability, while JAMStack pre-renders content at build time for fast delivery. Testing these architectures requires…
Selenium
Selenium is an open-source tool that automates web browsers. It provides a single interface that lets you write test scripts in programming languages like Ruby, Java, NodeJS, PHP, Perl, Python, and C, among others.
Cypress
Cypress framework is a JavaScript-based end-to-end testing framework built on top of Mocha – a feature-rich JavaScript test framework running on and in the browser, making asynchronous testing simple and convenient. It also uses a BDD/TDD assertion library and a browser to pair with any JavaScript testing framework.
CSR vs SSR
Client-Side Rendering (CSR) builds pages in the browser using JavaScript after load, while Server-Side Rendering (SSR) delivers fully rendered HTML from the server. The rendering approach affects when elements are available in the DOM, which directly impacts how and when automation tools can safely interact with…
Jest
Jest is a delightful JavaScript Testing Framework with a focus on simplicity. It works with projects using: Babel, TypeScript, Node, React, Angular, Vue and more!
Nightwatch
Nightwatch.js is an open-source automated testing framework that is powered by Node.js and provides complete E2E (end to end) solutions to automation testing with Selenium Javascript be it for web apps, browser apps, and websites.
Responsive vs Adaptive
Responsive design uses fluid layouts that scale to any screen size, while adaptive design serves fixed layouts targeted to specific breakpoints. Testing responsive and adaptive applications requires verifying layouts across different viewport sizes and devices. Automated tests can simulate various resolutions, and…
Puppeteer
Puppeteer is a Node library which provides a high-level API to control headless Chrome or Chromium over the DevTools Protocol. It can also be configured to use full (non-headless) Chrome or Chromium.
Stage 8: Mobile Automation
Mobile Automation
Mobile automation, as the name suggests, refers to 'automation' that is done on mobile devices. Mobile Automation can test a WAP site or an app. As we know, mobile devices consist of hardware and software components, while a mobile application is simply the software. Testing the mobile device is also connected to…
Stage 9: Load & Performance Testing
Load & Performance Testing
Load and performance testing evaluates how a system behaves under expected and peak traffic conditions. Tools like K6, JMeter, Gatling, Locust, and Artillery simulate concurrent users and measure response times, throughput, and error rates. Results inform capacity planning, infrastructure decisions, and…
Wave
Wave is a suite of evaluation tools that helps authors make their web content more accessible to individuals with disabilities. WAVE can identify many accessibility and Web Content Accessibility Guideline (WCAG) errors, but also facilitates human evaluation of web content.
AXE
Axe is a fast and lightweight accessibility testing tool that checks the entire document against the rules and generates a report with all violations, passes, etc.
Chrome DevTools
Chrome DevTools includes an accessibility panel, a color contrast checker, and Lighthouse accessibility audits for evaluating web page compliance. The accessibility tree view shows how assistive technologies interpret page elements. DevTools also simulates visual impairments like color blindness to help evaluate…
Espresso
Espresso is a native testing framework for Android to write reliable UI tests. Google released the Espresso framework in October 2013 and, as of release version 2.0, Espresso is part of the Android Support Repository. One of the important features in Espresso is that it automatically synchronizes your test actions…
Detox
Detox is a JavaScript mobile testing framework that is built into the application and the test execution starts with app launch. This makes test execution really fast and robust as no external additional tools are needed to orchestrate and synchronize during the test execution.
Appium
Appium is an open-source framework that allows QAs to conduct automated app testing on different platforms like Android, iOS, and Windows. It is developed and supported by Sauce Labs to automate native and hybrid mobile apps. It is a cross-platform mobile automation tool, which means that it allows the same test to…
SwiftTesting
Swift testing involves writing code to automatically verify the functionality of Swift applications, especially those built for iOS, macOS, watchOS, and tvOS. This includes creating unit tests to check individual components, UI tests to simulate user interactions, and performance tests to ensure the app runs…
Selenium IDE
Selenium IDE is a browser extension for Chrome and Firefox that records user interactions and generates Selenium-compatible test scripts. It is designed for rapid test creation without programming, making it accessible to manual testers. Recorded scripts can be exported in multiple languages and integrated into…
BugBug
BugBug is a browser extension designed to help with test automation, particularly for web applications. It allows users to record their interactions with a website and then generate test scripts from those recordings, aiming to simplify the process of creating automated UI tests. It often emphasizes ease of use and…
Ghost Inspector
Ghost Inspector is a codeless automated testing tool that allows you to easily create and run automated browser tests for websites and web applications. These tests carry out actions in a web browser the same way a real user would to ensure that everything is working properly.
Stage 10: Security Testing
Security Testing
Security testing identifies vulnerabilities and weaknesses in an application that could be exploited by attackers. It covers authentication and authorization controls, secrets management, vulnerability scanning, adherence to OWASP guidelines, and analysis of common attack vectors. Security testing is increasingly…
Stage 11: Email Testing
Email Testing
Email testing allows you to view your email before sending it out to your subscriber list to verify links, design, spelling errors, and more.
Mailinator
Mailinator allows Developers and QA Testing teams to automatically test their SMS and Email workflows like 2FA verifications, sign-ups, and password resets with trillions of inboxes at your fingertips. Whether you do Manual Testing, use an API, or a framework like Selenium, Cypress, Playwright, or Puppeteer -…
Gmail Tester
Gmail-tester is a simple Node.js Gmail client which checks/returns email message(s) straight from any Gmail-powered account (both private and company).
Stage 12: Testing Data Management
Testing Data Management
Data testing management involves the strategies and processes used to plan, create, acquire, store, control, and protect the data used for testing software applications. It ensures that testers have access to the right data, in the right format, at the right time, to effectively validate the functionality,…
Lighthouse
Lighthouse is an open-source, automated tool for improving the quality of web pages. You can run it against any web page, public or requiring authentication. It has audits for performance, accessibility, progressive web apps, SEO, and more. You can run Lighthouse in Chrome DevTools, from the command line, or as a…
Locust
Locust is an open-source Python-based load testing tool where user behavior is defined in plain Python code. It simulates large numbers of concurrent users using lightweight coroutines rather than threads, making it efficient for high-load scenarios. Locust provides a real-time web UI for monitoring results and…
Webpage Test
WebPageTest is a web performance tool providing deep diagnostic information about how a page performs under a variety of conditions. Each test can be run from different locations around the world, on real browsers, over any number of customizable network conditions.
Gatling
Gatling is an open-source load testing framework written in Scala, designed for high-performance testing of HTTP-based services. Tests are written as code using a fluent DSL and can be version-controlled alongside application code. Gatling generates detailed HTML reports and is known for its ability to simulate…
K6
Grafana k6 is an open-source load testing tool that makes performance testing easy and productive for engineering teams. k6 is free, developer-centric, and extensible. Using k6, you can test the reliability and performance of your systems and catch performance regressions and problems earlier. k6 will help you to…
Artillery
Artillery is an open-source load testing toolkit for APIs and microservices. Test scenarios are defined in YAML or JavaScript, and it supports HTTP, WebSocket, and Socket.io protocols. Artillery is designed to run in CI/CD pipelines and integrates with monitoring platforms for capturing and visualizing performance…
Vegeta
Vegeta is a versatile HTTP load testing tool built out of a need to drill HTTP services with a constant request rate. It can be used both as a command line utility and a library.
JMeter
Apache JMeter is an Apache project that can be used as a load testing tool for analyzing and measuring the performance of a variety of services, with a focus on web applications.
Authentication / Authorization
Authentication testing verifies that the system correctly identifies users through login flows, session management, and token handling. Authorization testing verifies that authenticated users can only access the resources they are permitted to. Weak authentication or authorization is consistently among the most…
Secrets Management
Secrets Management is a systematic way of in managing, storing, securing, and retrieving credentials for any systems, database, and other services. Credentials such as passwords, SSH keys, certificates, API keys, backup codes, and more.
Vulnerability Scanning
Vulnerability scanning uses automated tools to detect known security weaknesses in applications, dependencies, and infrastructure. Scanners check against databases of known vulnerabilities like the CVE list and flag outdated libraries, insecure configurations, and exposed endpoints. Regular automated scanning is a…
OWASP 10
The OWASP Top 10 is a list of the most critical web application security risks, published by the Open Web Application Security Project. It covers vulnerabilities like injection attacks, broken authentication, insecure deserialization, and security misconfiguration. Security testing commonly uses the OWASP Top 10 as…
Attack Vectors
This metric reflects the context by which vulnerability exploitation is possible. This metric value (and consequently the Base Score) will be larger the more remote (logically, and physically) an attacker can be in order to exploit the vulnerable component. The assumption is that the number of potential attackers…
Stage 13: Monitoring & Logs
Monitoring & Logs
DevOps monitoring entails overseeing the entire development process from planning, development, integration and testing, deployment, and operations. It involves a complete and real-time view of the status of applications, services, and infrastructure in the production environment. Features such as real-time…
New Relic
New Relic is an observability platform that helps you build better software. You can bring in data from any digital source so that you can fully understand your system and how to improve it.
RunScope
Runscope (now part of Blazemeter) is an API monitoring and testing tool that checks API endpoints for correctness, performance, and availability on a scheduled or triggered basis. It is used for continuous API monitoring in production and staging environments. Runscope alerts teams when API responses deviate from…
Kibana
Kibana is a free and open user interface that lets you visualize your Elasticsearch data and navigate the Elastic Stack. Do anything from tracking query load to understanding the way requests flow through your apps.
Datadog
Datadog is a monitoring and analytics platform for large-scale applications. It encompasses infrastructure monitoring, application performance monitoring, log management, and user-experience monitoring. Datadog aggregates data across your entire stack with 400+ integrations for troubleshooting, alerting, and graphing.
Pager Duty
PagerDuty is an incident management and alerting platform that routes alerts from monitoring tools to on-call teams. In QA contexts, it notifies engineers of critical failures detected in staging or production environments. PagerDuty integrates with tools like Datadog, New Relic, and Grafana to trigger incidents…
Grafana
Grafana is an open-source analytics and visualization platform for creating dashboards from metrics stored in data sources like Prometheus, InfluxDB, and Datadog. QA teams use Grafana to visualize load test results, track performance metrics over time, and build custom dashboards for monitoring test environment health.
Sentry
Sentry tracks your software performance, measuring metrics like throughput and latency, and displaying the impact of errors across multiple systems. Sentry captures distributed traces consisting of transactions and spans, which measure individual services and individual operations within those services.
Stage 14: Reporting
Reporting
Test reporting collects and presents the results of test execution in a readable format for QA teams, developers, and stakeholders. Good reports show which tests passed or failed, trends over time, defect density, and coverage levels. Tools like TestRail, Allure, and JUnit report formats integrate with CI/CD…
Delphix
Delphix is a data management platform that focuses on providing virtualized, masked, and rapidly provisioned data copies for various purposes like development, testing, and reporting. It allows organizations to create and manage virtual databases from a single source, reducing storage costs and accelerating data…
TestRail
TestRail is a web-based test management tool used by testers, developers and other stake holders to manage, track and organize software testing efforts. It follows a centralized test management concept that helps in easy communication and enables rapid development of task across QA team and other stakeholders .
Allure
Allure Report is a flexible, lightweight multi-language test reporting tool. It provides clear graphical reports and allows everyone involved in the development process to extract the maximum of information from the everyday testing process.
jUnit
JUnit is known as a unit testing framework used for the Java programming language. JUnit has been playing a crucial in the development of test-driven development and is one of a family of unit testing frameworks. JUnit is useful to write repeatable tests for your application code units. JUnit stimulates the idea of…
Stage 15: Version Control System
Version Control System
Version control/source control systems allow developers to track and control changes to code over time. These services often include the ability to make atomic revisions to code, branch/fork off of specific points, and to compare versions of code. They are useful in determining the who, what, when, and why code…
Git
Git is a free and open source distributed version control system designed to handle everything from small to very large projects with speed and efficiency.
Stage 16: Repo Hosting Services
Repo Hosting Services
Jenkins
Jenkins is an open-source CI/CD automation server. Jenkins is primarily used for building projects, running tests, static code analysis and deployments.
Drone
Drone is a CI/CD service offering by Harness. Each build runs on an isolated Docker container, and Drone integrates with many popular source code management repositories like GitHub, BitBucket and GitLab
GitLab CI
GitLab offers a CI/CD service that can be used as a SaaS offering or self-managed using your own resources. You can use GitLab CI with any GitLab hosted repository, or any BitBucket Cloud or GitHub repository in the GitLab Premium self-managed, GitLab Premium SaaS and higher tiers.
Bamboo
Bamboo is a CI/CD service provided by Atlassian. Bamboo is primarily used for automating builds, tests and releases in a single workflow.
Circle CI
CircleCI is a CI/CD service that can be integrated with GitHub, BitBucket and GitLab repositories. The service that can be used as a SaaS offering or self-managed using your own resources.
Travis CI
Travis CI is a CI/CD service that is primarily used for building and testing projects that are hosted on BitBucket and GitHub. Open source projects can utilized Travis CI for free.
Stage 17: Repo Hosting Services
Repo Hosting Services
There are different repository hosting services with the most famous one being GitHub, GitLab and BitBucket. I would recommend creating an account on GitHub because that is where most of the OpenSource work is done and most of the developers are.
Stage 18: CI / CD
CI / CD
Continuous Integration and Continuous Delivery (CI/CD) automates building, testing, and deploying code on every change. For QA, CI/CD pipelines run automated test suites on every commit or pull request, providing rapid feedback on regressions. Common CI/CD platforms used in QA include CircleCI, GitLab CI, Jenkins,…
TeamCity
TeamCity is a CI/CD service provided by JetBrains. TeamCity can be used as a SaaS offering or self-managed using your own resources.
Azure DevOps Services
Azure DevOps is developed by Microsoft as a full scale application lifecycle management and CI/CD service. Azure DevOps provides developer services for allowing teams to plan work, collaborate on code development, and build and deploy applications.
GitHub
GitHub is a provider of Internet hosting for software development and version control using Git. It offers the distributed version control and source code management functionality of Git, plus its own features.
Bitbucket
Bitbucket is a Git based hosting and source code repository service that is Atlassian's alternative to other products like GitHub, GitLab etc. Bitbucket offers hosting options via Bitbucket Cloud (Atlassian's servers), Bitbucket Server (customer's on-premise) or Bitbucket Data Centre (number of servers in customers…
GitLab
GitLab is a provider of internet hosting for software development and version control using Git. It offers the distributed version control and source code management functionality of Git, plus its own features.
Stage 19: Headless Testing
Headless Testing
Headless testing runs browser-based tests without a visible graphical user interface. Headless browsers execute JavaScript and render pages in memory, making tests faster and suitable for CI/CD environments where a display server is not available. Tools for headless testing include Cypress, Playwright, Puppeteer,…
Puppeteer
Puppeteer is a Node library that provides a high-level API to control headless Chrome or Chromium browsers over the DevTools Protocol. It can also be configured to use full (non-headless) Chrome or Chromium.
Zombie.js
Zombie.js allows you to run Unit or Integration tests without a real web browser. Instead, it uses a simulated browser where it stores the HTML code and runs the JavaScript you may have in your HTML page. This means that an HTML page doesn’t need to be displayed, saving precious time that would otherwise be…
Playwright
Playwright is an open-source test automation library initially developed by Microsoft contributors. It supports programming languages such as Java, Python, C, and NodeJS. Playwright comes with Apache 2.0 License and is most popular with NodeJS with Javascript/Typescript.
Cypress
Cypress framework is a JavaScript-based end-to-end testing framework built on top of Mocha – a feature-rich JavaScript test framework running on and in the browser, making asynchronous testing simple and convenient. It also uses a BDD/TDD assertion library and a browser to pair with any JavaScript testing framework.
Headless Chrome
Headless Chrome is a way to run the Chrome browser in a headless environment without the full browser UI. One of the benefits of using Headless Chrome (as opposed to testing directly in Node) is that your JavaScript tests will be executed in the same environment as users of your site.
Headless Fox
Headless Browser Testing is a process of running the browser tests without the type of browser UI or GUI. In headless browser testing, to conduct cross-browser testing the tester can run test cases accurately and successfully without requiring the browser on which application needs to be tested.
HTML Unit
HtmlUnit is a headless, Java-based browser for testing web applications. It simulates a browser by processing HTML, JavaScript, and CSS without a graphical interface. HtmlUnit is commonly used in Java-based test suites as a lightweight headless browser option, particularly in projects using Selenium WebDriver with…
Questions about the QA Engineer Roadmap
Is the QA Engineer Roadmap free?
Yes. All 146 lessons in this roadmap are free to read on Bibha AI Learning Labs, with no account and no payment. Signing in is optional: it lets you mark lessons as done and keep your progress, and it opens the AI tutor, which runs on your own API key.
How long does the QA Engineer Roadmap take?
There is no fixed duration. It has 146 lessons in 19 stages, and the time it takes depends on how many hours you give it each week. Nothing is locked, so you can skip what you already know, and your progress is saved once you sign in.
Where should I start the QA Engineer Roadmap?
Start with stage 1, Learn the Fundamentals, and work down in order. The stages are numbered in the order the roadmap suggests, but every lesson is open, so if you already know Learn the Fundamentals you can go straight to SDLC Delivery Model or anything after it. Each lesson links to free resources for going deeper.
Can I learn QA in Hindi?
The lessons are written in English. Once you sign in, you can ask the AI tutor on any lesson to explain it in Hindi or Hinglish. It answers from that lesson’s own text, so the explanation stays on the syllabus. The tutor runs on your own Google, OpenAI or Anthropic key.