All All News Products Insights AI DevOps and CI/CD Community

15 Different Types Of QA Testing You Should Know

Learn more about the different types of QA testing, how to categorize them, and their role in software testing.

Hero Banner
Smart Summary

Software testing encompasses a diverse range of practices crucial for ensuring application quality. Categorizing these testing types by purpose, application under test, or approach helps development teams strategically plan their quality assurance efforts. Understanding how different QA testing types function allows for the effective development and execution of comprehensive test plans throughout the software lifecycle.

  • Categorize Testing Strategically: Grouping tests by Application Under Test, application layer, attribute, approach, granularity, or technique provides a structured framework for comprehensive quality assurance.
  • Leverage AI for Advanced QA: Integrate AI techniques such as Machine Learning and Computer Vision to autonomously generate test cases, self-heal broken locators, and intelligently differentiate visual bugs from benign UI changes, significantly reducing manual effort.
  • Balance Manual and Automated Approaches: While automation boosts efficiency, manual testing remains crucial for exploratory, ad hoc, and usability assessments, leveraging human intuition to uncover defects automation might miss.
Good response
Bad response
|
Copied
>
Read more
Blog / Insights /
15 Different Types Of QA Testing You Should Know

15 Different Types Of QA Testing You Should Know

Contributors Updated on

15 Types of QA Testing every QA should know

Software testing is a comprehensive umbrella term for many different testing types. These types are grouped based on purpose, application under test (AUT), or approach. Understanding these distinctions helps teams build better test plans.

In this article, we’ll explore how testing types are categorized, the 15 most popular testing types, and where they fit in the Software Testing Life Cycle. Specifically, we will cover:

  1. Unit Testing
  2. Integration Testing
  3. End-to-end Testing
  4. Manual Testing
  5. Automation Testing
  6. AI Testing
  7. Functional Testing
  8. Visual Testing
  9. Performance Testing
  10. Regression Testing
  11. Compatibility Testing
  12. Accessibility Testing
  13. Smoke Testing & Sanity Testing
  14. White Box & Black Box Testing
  15. Testing for Different AUTs

Categorization For Testing Types

There are 6 major ways to categorize (or name) testing types:

  • By Application Under Test (AUTs): grouping based on the type of software being tested (web, mobile, desktop, etc.)
  • By application layer: grouping based on the three-tier architecture—UI, backend, or API
  • By attribute: grouping based on characteristics being tested (visual, functional, performance, etc.)
  • By approach: grouping based on the testing strategy (manual, automated, or AI-driven)
  • By granularity: grouping based on scope and detail (unit testing, end-to-end testing, etc.)
  • By testing techniques: grouping based on how tests are designed and executed; examples include black-box, white-box, and gray-box testing

There is a hierarchy to these categories, with the most inclusive being categorization by approach. For example, automated testing is simply testing with the help of automation scripts or tools, and most testing types can be automated.

15 Different Types of QA Testing

1. Unit Testing

Unit testing is a critical software development practice. It involves testing small parts of an application in isolation—functions, methods, modules, or classes. These individual units make up the entire application, and if they don't function properly on their own, they won't work well together. Unit testing ensures each component works correctly before integration.

A unit test usually requires:

  • Test Fixture: prepares the environment and initial states for controlled execution.
  • Test Case: verifies the behavior of the unit being tested.
  • Test Runner: orchestrates execution of multiple unit tests and reports results.
  • Test Data: values simulating real user inputs.
  • Mocking and Stubbing: substitutes for external dependencies during testing.

Read More: What is Unit Testing? A Complete Guide

2. Integration Testing

Integration testing between two modules

Integration testing is a software testing method where components are combined and tested together as a whole. These components have passed unit testing, but issues may arise when they interact. Integration testing uncovers conflicts that appear when modules are integrated.

Common strategies include:

  • Big Bang Approach: integrate all components and test at once.
  • Incremental Approach: integrate and test components in logical groups.

Incremental testing can be performed using:

  • Bottom-up approach: test smaller components first, then larger ones.
  • Top-down approach: test larger components first, then smaller ones.
  • Sandwich approach: combination of top-down and bottom-up.

Read More: What is Integration Testing?

3. End-to-end Testing

End-to-end testing (E2E testing) verifies the functionality and performance of an entire application from start to finish by simulating real-world scenarios and replicating live data.

It helps testers understand the application from the end user’s perspective, ensuring strong quality before release.

4. Manual Testing

Manual testing is the process of evaluating software manually without automation tools. Testers interact with the system as real users to uncover bugs that impact experience.

Manual testing is the traditional method. It is resource-intensive and slow, which is why many teams rely on automation. However, certain types of testing still require manual execution, especially when creativity and intuition are needed:

  • Ad hoc testing: spontaneous testing without predefined plans, relying on intuition.
  • Exploratory testing: similar to ad hoc but more structured, involving learning and testing simultaneously.
  • Usability testing: evaluates user-friendliness and overall experience from a human perspective.

5. Automation Testing (or Automated Testing)

Automated testing, in contrast with manual testing, uses automation frameworks and automation testing tools to automatically run a suite of test cases. The entire process—from test creation to execution—requires minimal human intervention, reducing manual effort while increasing accuracy and efficiency.

Read more: What Is Automation Testing? Ultimate Guide & Best Practices

6. AI Testing

AI testing evaluates system functionality, performance, and reliability using AI. It follows the traditional Software Testing Life Cycle, but AI techniques such as Machine Learning, NLP, and Computer Vision enhance every stage—supporting tasks that previously required human intelligence like data analysis, planning, and decision-making.

Several powerful ways AI supports testers include:

  • Generating test cases autonomously based on user behavior data.
  • Recommending manual test cases based on the test plan.
  • Automatically waiting for required elements to appear before continuing test execution.
  • Automatically fixing broken locators and using updated selectors in subsequent runs.

Start AI Testing With Katalon

7. Functional Testing

Functional testing verifies whether the application's features work according to specified requirements. It can be performed manually or with automation tools. Common functional test cases include:

  • Verifying successful login with valid credentials.
  • Verifying system behavior with invalid login credentials.
  • Verifying product search functionality.
  • Verifying backend data flow.

Read More: Top 8 Automated Functional Testing Tools

8. Visual Testing

Visual testing focuses on verifying the visual aspects of an application's UI. It examines graphical elements, layout, and overall appearance to ensure they match expected design and behavior.

Testers evaluate many visual aspects, including:

  • Size
  • Width
  • Length
  • Position
  • Visibility
  • Readability
  • Alignment
  • Consistency across screen resolutions

Normally, testers rely on their own eyes to spot visual issues. If they automate visual testing, they usually apply the screenshot comparison method—comparing a baseline image of the UI with the current UI to detect pixel-level differences. Even a 1-pixel deviation can be caught using this approach.

However, pixel differences don’t always indicate real visual defects. Modern interfaces contain dynamic elements such as dates, timestamps, or eCommerce cart counters. Automated scripts flag these changes as bugs, even though real users don’t perceive them as problems. This is why testers benefit from AI-augmented visual testing tools that can distinguish between true user-impacting issues and benign visual variations.

9. Performance Testing

Performance testing evaluates an application's responsiveness and stability under different conditions. Its purpose is to measure how the system behaves in terms of speed, scalability, resource usage, and overall reliability.

Common subtypes include:

  • Load testing: Simulates normal and peak user loads to observe how response times and stability change.
  • Stress testing: Pushes the system beyond its limits to determine its breaking point and reveal bottlenecks, helping teams optimize infrastructure and resource allocation.

10. Regression Testing

Regression testing is performed after code updates to ensure new changes haven’t introduced defects. Since new logic can interfere with existing functionality, QA teams often maintain a regression suite of key test cases and run it after every update to maintain stability and reduce defects.

Why is regression testing important

11. Compatibility Testing

Compatibility testing ensures an application works correctly across multiple browsers, devices, operating systems, and environments. Its purpose is to confirm consistent behavior regardless of configuration. Variants include:

12. Accessibility Testing

Accessibility testing verifies whether digital products can be used by individuals with disabilities or impairments. It aims to identify and remove accessibility barriers. QA teams check the accessibility of:

  • Keyboard navigation
  • Screen readers
  • Color contrast
  • Alt text
  • Multimedia elements

13. Smoke Testing & Sanity Testing

Smoke and sanity tests are quick assessments that validate basic functionality. They help determine whether deeper testing should proceed. Their purposes are similar, but their scopes differ.

Aspect Smoke Testing Sanity Testing
Objective Verify critical functionalities. Validate recent changes or fixes.
Scope Broad, covers major functionalities. Focused on specific areas affected by updates.
Depth Shallow and brief. Limited regression testing.
Purpose Identify show-stopper issues. Confirm changes did not introduce major defects.
Execution Time Quick, run after each build. Quick, run after small releases or bug fixes.
Decision Determine if further testing can proceed. Determine if the application is stable for comprehensive testing.
Relationship Precedes deeper testing. Subset of regression testing.
Outcome A pass indicates major functions work. A pass indicates recent updates are stable.
Failure Handling Failures require investigation before full testing. Failures must be fixed before full regression testing.

Read More: Sanity Testing vs Smoke Testing

14. White Box & Black Box Testing

White box testing examines the internal structure of the software, similar to being able to see inside a white box. In contrast, black box testing validates functionality without any knowledge of internal code, like evaluating a sealed black box.

15. Testing For Different Types Of Applications

Different types of applications under test (AUT) require different testing approaches. Common AUT-based testing types include:

  • Web Testing
  • Desktop Testing
  • API Testing
  • Mobile Testing

Katalon - A Comprehensive Testing Platform

undefined-Nov-14-2025-08-23-19-6563-AM

Katalon is a complete quality management platform supporting automation, execution, management, and reporting across multiple AUTs (web, API, mobile, desktop). It combines ease of use with advanced capabilities, enabling teams to start quickly with minimal programming effort.

  • Low-code/Full-code test creation: Build tests faster using Katalon’s built-in keyword library with drag-and-drop capabilities, or switch to Java/Groovy scripting for advanced customization.
  • Data-driven testing supported: Import data from Excel, CSV, or XML. Capture data snapshots and use Global Variables to support different development stages.
  • Test artifact management: A centralized object repository stores all UI elements, objects, and locators. Update locators across multiple test cases with only a few clicks when UI changes occur.

Additionally, Katalon includes powerful AI capabilities:

  • StudioAssist: Uses ChatGPT to generate test scripts from natural language and explain scripts for broader stakeholder understanding.
  • Katalon GPT-powered manual test case generator: Integrates with JIRA to read ticket details and automatically generate complete manual test cases.
  • SmartWait: Automatically waits for necessary UI elements to load before proceeding.
  • Self-healing: Automatically repairs broken locators and updates them for future test runs.
  • Visual testing: Takes screenshots during execution and analyzes them in TestOps. AI highlights meaningful UI changes while reducing false positives.

Start Testing With Katalon Now

Explain

|

FAQs on Types of QA Testing

What are the main ways QA testing types are categorized?

+

QA testing types can be categorized in six major ways: by Application Under Test (AUTs), by application layer, by attribute, by approach (e.g., manual or automated), by granularity (e.g., unit or end-to-end), and by testing techniques (e.g., white-box or black-box).

What is the primary difference between Manual Testing and Automation Testing?

+

Manual testing involves human testers interacting with the software to find bugs without automated tools, focusing on user experience and intuition. Automation testing, conversely, uses frameworks and tools to automatically run test cases, reducing manual effort and increasing efficiency, although manual testing is still vital for certain exploratory or usability aspects.

What is the purpose of Unit Testing, Integration Testing, and End-to-end Testing?

+

Unit testing focuses on testing individual small parts (units) of an application in isolation to ensure they function correctly. Integration testing combines and tests components together to uncover defects that arise from their interactions. End-to-end testing verifies the functionality and performance of the entire application from start to finish, simulating real-world user scenarios.

How does AI contribute to software testing?

+

AI testing evaluates system functionality and reliability using AI techniques like Machine Learning, NLP, or Computer Vision. AI can autonomously generate test cases, suggest manual test cases, automatically handle dynamic elements (SmartWait), fix broken element locators (Self-healing), and enhance visual testing by distinguishing impactful UI changes from benign ones.

What is the difference between Smoke Testing and Sanity Testing?

+

Smoke testing verifies critical functionalities broadly after a build to ensure it's stable enough for further testing. Sanity testing, a subset of regression testing, focuses on validating recent changes or bug fixes in a limited scope to confirm they did not introduce major defects, determining if the application is stable for comprehensive testing.

Katalon Team
Katalon Team
Contributors
The Katalon Team is composed of a diverse group of dedicated professionals, including subject matter experts with deep domain knowledge, experienced technical writers skilled, and QA specialists who bring a practical, real-world perspective. Together, they contribute to the Katalon Blog, delivering high-quality, insightful articles that empower users to make the most of Katalon’s tools and stay updated on the latest trends in test automation and software quality.
Click