Manual Testing

Beginner

Manual Testing is a software testing process where a human tester executes test cases by hand, without using automation tools. The goal is to find bugs, issues, and defects by interacting with the software as an end-user to ensure it meets requirements and provides a good user experience.

First used·1950s

Definitions·1

Synonyms·2

Category·Software Testing

Also known as

Human TestingManual QA Testing

Definitions

What it means.

  1. 01

    Manual Testing in Software Quality Assurance

    Manual Testing is a fundamental process in software quality assurance where a human tester, often referred to as a QA analyst or tester, directly interacts with a software application to identify defects. Unlike automated testing, this process does not involve the use of any tools or scripts to execute the test steps.

    The tester acts as an end-user, following a set of predefined test cases or exploring the application freely to ensure it functions as expected. The primary goal is to find bugs, verify functionality, and ensure the application is user-friendly and meets all specified requirements before it is released to the public.

    Key Concepts

    • Test Plan: A comprehensive document that outlines the testing strategy, objectives, schedule, and resources. It serves as a roadmap for the entire testing process.
    • Test Case: A specific set of steps with expected results, developed to verify a particular feature or functionality. Testers meticulously follow these cases to ensure consistent and thorough testing.
    • Exploratory Testing: A less formal approach where testers use their creativity, experience, and intuition to discover defects. It involves simultaneous learning, test design, and execution, allowing for the discovery of non-obvious bugs.
    • Usability Testing: This focuses on the user-friendliness of the application. Testers evaluate how easy and intuitive the software is for a typical user to navigate and operate.

    Example

    A tester is assigned a test case to verify the 'Add to Cart' functionality on an e-commerce website. They would manually open the website, navigate to a product page, select a quantity, click the 'Add to Cart' button, and then navigate to the shopping cart to confirm the correct product and quantity were added. They would also check for any error messages or unexpected behavior during this process.

Origin

Where it comes from.

Etymology

The term is a compound of 'Manual' and 'Testing'. 'Manual' originates from the Latin word 'manualis', meaning 'of or belonging to the hand', signifying a process done by a human. 'Testing' in a software context refers to the process of evaluating a system to find defects. Thus, 'Manual Testing' literally means testing performed by hand.

Historical context

The practice of manual testing is as old as software development itself. In the early days of computing (1940s-1950s), all testing was inherently manual. Programmers would test their own code in a process more akin to debugging than the structured testing we know today.

With the rise of more complex software in the 1960s and 1970s, and the formalization of development methodologies like the Waterfall model, testing became a distinct phase. This phase was almost exclusively manual, with dedicated testers following written test plans to verify requirements.

The personal computer boom of the 1980s introduced graphical user interfaces (GUIs), making applications more interactive and significantly increasing the complexity of testing. This solidified the need for rigorous manual testing to ensure a positive user experience.

It was only in the 1990s and 2000s, with the explosion of the internet and web applications, that automated testing began to gain significant traction to handle the scale and repetitiveness of regression testing. However, manual testing remained critical for usability, exploratory, and ad-hoc scenarios. In modern Agile and DevOps environments, it coexists with automation as a vital tool for delivering high-quality software, especially for tasks that require human cognition and subjective evaluation.

Usage

In context.

  • Before the major release, the QA team performed extensive Manual Testing to ensure the new user interface was intuitive and bug-free.

  • While automation covers our regression suite, we rely on Human Testing for exploratory sessions to uncover unexpected usability issues.

  • The project plan allocated two full weeks for Manual QA Testing of all critical user workflows before user acceptance testing could begin.

FAQ

Common questions.

Manual Testing is more suitable than Automated Testing in several key scenarios:

  • Exploratory Testing: When the goal is to leverage human intuition and creativity to explore the application without a predefined script.
  • Usability Testing: To get real human feedback on the look, feel, and overall user experience of an application.
  • Ad-hoc Testing: For informal, unplanned testing to find defects that might be missed by structured, formal tests.
  • Short-term Projects: When the project is small and writing automation scripts would be more time-consuming and less cost-effective than testing manually.
  • Frequently Changing UI: If the user interface is under constant development, maintaining automation scripts can be costly and inefficient. Manual testing is more adaptable to rapid changes.

Taxonomy

Filed under.

Categories

Software TestingQuality Assurance

Tags

QATestingSoftware Development LifecycleHuman-in-the-loop