×
×

12 Manual Testing Types

Avatar photo

Rimpal Mistry Testscenario

18/03/2024
12 Manual Testing Types

Manual testing is the execution of test cases by human testers without automation tools. Testers act as end users, verifying every feature against expected behavior.

The method has 12 distinct types, and each one targets a different defect category. Knowing which type to apply, and when, separates structured QA from random clicking.

This article explains all 12 manual testing types across 3 categories, with a practical example for each.

The Importance of Manual Testing Types

Manual testing remains essential because human judgment catches what automation cannot: usability friction, visual defects, and unexpected user behavior. Each manual testing type targets a specific defect category. Applying the right type at the right stage keeps coverage complete without wasted effort.

Automation executes scripts; humans evaluate experiences. A script confirms a button works. A tester notices the button confuses people.

Manual testing carries this human layer through every stage of the development cycle.

Different Manual Testing Types

The 12 manual testing types fall into 3 categories: testing methodologies, testing levels, and objective-based testing types. Methodologies define what the tester can see. Levels define where in the build the test runs, and objective-based types define why the test runs.

Category Types What it answers
Methodologies (1–3) Black box, white box, gray box What can the tester see?
Levels (4–7) Acceptance, system, integration, unit Where in the build does the test run?
Objective-based (8–12) Sanity, smoke, regression, UI, exploratory Why does the test run?

The major types of manual testing are:

1. Black Box Testing

2. White Box Testing

3. Gray Box Testing

4. Acceptance Testing

5. System Testing

6. Integration Testing

7. Unit Testing

8. Sanity Testing

9. Smoke Testing

10. Regression Testing

11. User Interface (UI) Testing

12. Exploratory Testing

1. Black Box Testing

In Black box testing, the tester has no knowledge of the internal structure, design, or implementation of the item being tested. Black box testing is concerned with the functional parts of an application or software. A Tester assesses the software by only inputting data and does an analysis of the produced output. The tester doesn’t consider the internal code structure.

With this technique, the detection of discrepancies can happen faster in software specifications and actual functionalities. Black box testing focuses on the input and output of the software system without even considering the internal code structure.

To evaluate the functionality of the software is the main goal of this testing. This is generally used for validation and can be applied to all levels of software testing, like unit testing, integration testing, system testing, and acceptance testing.

Example: A tester checks a login form by entering valid credentials, invalid passwords, and empty fields, judging only what the screen returns.

2. White Box Testing

White box testing requires a lot of knowledge about the code, and thus, it is also called either clear or transparent box testing. During the white box testing, the tester needs to know about the internal details which concern the working of the application as a software tester.

This type of testing is really good for code optimization, finding hidden errors, and smoothing the operation flow of the application. The testing is concerned with the internal structures or inner mechanisms of an application and not with the functionality exposed to the user.

White box testing is mainly used for verification and can also be applied at different levels of unit, integration, and system in the software testing process.

Example: A tester traces every branch of a discount-calculation function to confirm each pricing rule executes correctly.

3. Gray Box Testing

Gray box testing combines both black box and white box testing methodologies in one. In gray box testing, software developers are provided with a limited knowledge of the internal structure of the application. This helps them design test cases more effectively and with greater ease.

This type of hybrid approach is useful in identifying the issues That are related to improper structure or improper use of applications. It also provides the tester a limited knowledge of the internal workings of the application.

Gray box testing approach is very useful when you are testing web applications. Gray box testers require both high-level system knowledge and low-level user experience.

Example: A tester validates a registration form while knowing the database schema it writes to, checking both the screen and the stored records.

4. Acceptance Testing

Acceptance testing refers to an important stage where a system is checked to ensure whether it meets the required specifications and business objectives before its deployment to production. It is performed at the final stage of the testing process, after functional, integration, and system testing.

The main purpose of the acceptance testing is to validate that the functionality, usability, and compatibility of the software meets the end users needs and requirements. It also ensures that the expected value is delivered.The end users, clients, or other stakeholders can also perform this testing, not just the developers or testers.

Acceptance testing takes 2 forms:

  • User Acceptance Testing (UAT). Real users test the system in an environment that mimics production.
  • Beta testing. External users outside the organization receive a release version and report issues.

Example: A client’s finance team runs UAT on a new invoice workflow in staging before approving the go-live.

5. System Testing

System testing is a broad phase in the software testing life cycle where the complete integrated software system is tested to meet the stipulated requirements. 

Unlike unit or integration testing, which focuses on a single component or the interface between a few of them, system testing focuses on the overall functionality of the entire system, including its performance, security, and compatibility with other systems or environments. This becomes especially important for AI-driven software, where AI testing for modern applications is required to validate dynamic behavior and system-level outcomes.

It is carried out in an environment very similar to the production setting, so that all sorts of defects or issues impacting the user experience may be detected. It examines the complete and integrated software product. It also evaluates the compliance with specified requirements. It is known as a high-level testing practice that includes both functional and non-functional testing aspects.

System testing is conducted on a complete, integrated system to evaluate the system’s compliance with its specified requirements, whether it is software or hardware. It falls within the black box testing and normally it is the last test to verify that the system to be delivered has proper specifications and has the desired quality.

Example: A tester runs an end-to-end e-commerce flow: product search, cart, payment, and the confirmation email, in one pass.

6. Integration Testing

Integration testing focuses on the interactions between different modules or components of the application. The purpose is to detect any inconsistencies between the integrated units/modules.

Integration testing is a level of software testing where individual units are combined and tested as a group. The main aim to this level of testing is to expose faults in the interaction between integrated units.

In integration testing, both test drivers and test stubs are being assisted. Integration testing bears its importance in the software testing process: it provides a test of the interacting integrated components or integrated systems.

Integration testing is focused on the check of data communication and functionality between separate modules after each one of them was unit-tested. The basic purpose is defect identification in the interaction between integrated units to make sure combined components are functioning fine together.

It includes different approaches to testing, such as big bang, top-down, bottom-up, sandwich, etc., depending upon the needs of the project. As a matter of fact, integration testing is the best forward in finding defects within the development cycle prior to reaching the system test, and increasing software quality and reliability.

Example: A tester confirms the payment module passes the order total, tax, and customer ID correctly to the inventory module.

7. Unit Testing

Unit testing is an integral part of the software development life cycle where each single unit or isolated individual component of a software application is tested in isolation to ensure that it functions per the design. It is focused on the verification that separate functions, methods, classes, or modules are correct before their integration into other parts of the application.

In most cases, the developer writes and executes unit tests to verify the code written. These tests are, as a rule, executed by means of some test framework for the respective programming language, for example, JUnit for Java, or NUnit for .NET. Effective unit tests help find bugs at a very early stage in the development cycle, enabling easy integration and refactoring.

Basically, it helps to improve the overall quality and maintainability of the software.

Example: A developer checks a currency-conversion function against 5 known input-output pairs before merging the code.

8. Sanity Testing

Sanity testing, a subset of regression testing, is a quick, focused testing effort to determine whether a particular section of the application is still functioning after a minor change or a bug fix.

It’s conducted to ensure that the specific functionality works as intended without performing exhaustive tests. Typically, sanity testing is done towards the end of the software development cycle, after receiving a new build, to verify that bugs have been fixed and no further issues have been introduced in the previously working functionalities.

This non-comprehensive testing is crucial for identifying any glaring issues before the software moves into more rigorous testing phases.

Example: After a checkout bug fix, the tester retests checkout alone, leaving the rest of the application for the regression cycle.

9. Smoke Testing

Smoke testing, also known as “build verification testing,” is a basic type of test processing executed to demonstrate that the software build is stable enough for additional testing.

It’s a small set of tests run over all the most critical functions of a software application just to ensure that they are literally working. Smoke testing is mainly carried out with the purpose of early checking for basic critical problems within the development cycle to see if a faulty build can waste time and effort.

These include software tools that are used in the implementation of testing and quality control in organizations. Smoke testing helps to act as a gatekeeper in the sense that, before allowing a good operational build to proceed to integration and system testing levels, verification of core functionalities that are actually working operationally is taken into consideration.

Example: On every new build, the tester confirms 3 things: the app launches, login succeeds, and the dashboard loads.

10. Regression Testing

Regression testing is a type of software testing in which the tester ensures that the changed or interfaced software is still working perfectly even after the completion of its development and testing in the past. Changes may include software enhancements, patches, configuration changes, etc.

The primary aim of regression testing is to find out whether there is any unintended consequence of new code and to ensure that recent changes do not affect the existing functionality of a product. It is the key step in the process of software development, as it ensures maintaining the integrity of the software, i.e., no new faults are introduced to those components used to work perfectly in the software.

The regression tests are heavily automated to run both efficiently and frequently across all areas of the application where software change might be affected. It delivers a reliable and stable software product to the end-user, through a systematic testing approach.

Example: After adding a wishlist feature, the tester re-runs the cart and checkout test cases to confirm both still pass.

11. User Interface (UI) Testing

The process of UI testing includes where the software testers can know if the application is functioning correctly.

It can be performed manually by a software tester, as well as can be performed automatically with the help of using a software program.

For quality assurance and successful software testing processes these testing types play their own important role. This software testing type ensures that the application meets the specifications, functions correctly and has a satisfactory user interface & experience.

Example: A tester verifies buttons, fonts, and layout render correctly at 3 screen sizes: mobile, tablet, and desktop.

12. Exploratory Testing

Exploratory testing is more of a freestyle, intuitive approach to testing the software; it is not based on any structured test cases, and therefore, no documentation is done in advance.

The tester, on the other hand, should explore the software’s functionality, decide defects on the fly, and evaluate the performance and usability of the software based on experience, creativity, and intuition acquired. These may be very adaptive, and this method is best applied in the initial stages of development or when the team is dealing with a complex and rapidly changing application since it is very well focused in the immediate response.

It is the experience of the developer that brings in adequate knowledge to test the software system and use the domain knowledge as a driving factor, thus enabling the findings that might have escaped structured testing to increase quality and software product reliability.

For quality assurance and successful software testing processes, these testing types play their own important role. This software testing type ensures that the application meets the specifications, functions correctly and has a satisfactory user interface & experience.

Example: A tester spends one unscripted hour probing a new booking feature, recording every anomaly with steps to reproduce.

How to Perform Manual Testing?

Manual testing is one of the basic processes among the processes of software testing, in which through this process, application behavior can be tested up to its expected behavior. The structured way of carrying out the process is as follows:

  • Requirements: Understand the requirements and specifications of the software in JSON and user stories well to know what to test.
  • Test plan: It is a strategic approach to activities that include the testing objectives, testing resources, schedule, and testing scope of the activity.
  • Write Test Cases: Develop test cases in such a manner that all functional and non-functional requirements are sufficiently tested. Include steps to execute, expected outcomes, and test data. Set up the testing environment where it will be conducted, care of making it as close to the production environment as possible should be taken care of reasonably.
  • Execute Test Cases: Run the test cases manually, follow the steps outlined, and observe the application’s behavior.
  • Log Defects: To log all the differences wherever the expected output has deviated, with elaborative information for the developer to understand the issues and fix them.
  • Retest and regression test: After defect finding, there is retesting to check that the reported bugs are fixed and regression testing to make sure new bugs have not been introduced.
  • Results reporting: This report provides the whole testing activity account, starting from the coverage to defects found, and lastly, giving an overall assessment of the software quality.

This is a very important realization from the various types of manual testing carried, so that it can be realised; each type has a role it plays towards the overall comprehensive testing process. In such cases, it may emerge successful in deployment where all the different types of manual testing in the list above are applied towards a software application. Strong and reliable.

When Should You Bring in Professional Manual Testing?

Professional manual testing pays off when releases grow too complex for ad hoc checking: multi-platform builds, frequent updates, and user-facing flows where defects cost revenue. In-house teams cover daily checks; dedicated testers bring structured coverage across all 12 types.

At Testscenario, our manual testers run every type in this article across web and mobile applications. Each engagement produces documented test cases, severity-ranked defects, and full reproduction steps. Talk to us when your release schedule outgrows your testing capacity.

FAQs

How many types of manual testing are there?

There are 12 types of manual testing, grouped into 3 categories: methodologies (black box, white box, gray box), levels (unit, integration, system, acceptance), and objective-based types (sanity, smoke, regression, UI, exploratory).

What is manual testing with an example?

Manual testing is the human execution of test cases without automation tools. Example: a tester enters valid and invalid passwords into a login form and checks each response against the expected result.

What is manual testing in software testing?

Manual testing in software testing is the process where testers verify application behavior by acting as end users, without scripts or automation frameworks.

Is manual testing still relevant?

Yes, manual testing remains relevant because usability judgment, visual inspection, and exploratory investigation require human perception that automation lacks.

Looking for the quality and reliability of your software products. Testscenario offers manual testing services with latest software testing strategies, ranging from functional and usability testing to exploratory and ad-hoc testing—can be tailored to meet your specific needs. Our services ensure exceptional user experience that makes your software go with an easy flow. So why wait, ping us now.

Need a Testing?
We've got a plan for you!

Related Posts

Contact us today to get your software tested!