DEV Community

Selvakumar S
Selvakumar S

Posted on • Edited on

An Overview of Manual Testing

Manual testing is a software testing process in which a developed software is tested on its specific evaluations of a feature, function, or performance—are executed without using any automated tools.
Any deviation from the expected behavior is considered as a defect in the software.

Objective

The main objective of manual testing is to detect the issues, bugs, and defects of a software application.

Types

Image description

1. Black box Testing

Methods in which the functionalities of a software applications are tested without having knowledge of internal code structure, implementation details and internal paths.

  • Functional Testing

A type of testing that seeks to establish whether each application feature works as per the software requirements.

Image description

  • Non-Functional Testing

A type of software testing that verifies non functional aspects of the product, such as performance, stability, and usability.

Image description

2. White Box Testing

White box testing is a form of application testing that provides the tester with complete knowledge of the application being tested, including access to source code and design documents.

Image description

  1. Gray Box Testing

In gray box testing, the tester is not required to design test cases. Instead, test cases are created based on algorithms that evaluate internal states, program behavior, and application architecture knowledge.

Image description

Advantages of Manual Testing

  1. No Environment Limitations

  2. Programming Knowledge is not required.

  3. Recommendable for Dynamically changing GUI designs.

  4. Recommendable for Usability Testing.

  5. Manual testing allows for human observation, which may be more
    useful to find potential defects.

  6. Uses human intelligence to find errors.

  7. It helps to maintain a testable system

Disadvantages of Manual Testing

  1. Manual Testing requires more time or more resources, sometimes
    both Time and Resources.

  2. Less Accuracy.

  3. Performance testing is impractical in Manual testing.

  4. Comparing a large amount of data is impractical.

  5. Processing change requests during software maintenance takes
    more time.

  6. Batch Testing is possible, but for each test execution, Human
    user interaction is mandatory.

  7. GUI Objects Size difference and Color combinations etc.. are
    not easy to find in Manual Testing.

  8. Manual Test Case scope is very less, if it is an Automated test
    then the scope is more.

  9. Executing the same tests, again and again, is time taking
    process as well as Tedious.

  10. For every release you must rerun the same set of tests which
    can be tiresome.

Reinvent your career. Join DEV.

It takes one minute and is worth it for your career.

Get started

Top comments (0)

Billboard image

The Next Generation Developer Platform

Coherence is the first Platform-as-a-Service you can control. Unlike "black-box" platforms that are opinionated about the infra you can deploy, Coherence is powered by CNC, the open-source IaC framework, which offers limitless customization.

Learn more

👋 Kindness is contagious

Discover a treasure trove of wisdom within this insightful piece, highly respected in the nurturing DEV Community enviroment. Developers, whether novice or expert, are encouraged to participate and add to our shared knowledge basin.

A simple "thank you" can illuminate someone's day. Express your appreciation in the comments section!

On DEV, sharing ideas smoothens our journey and strengthens our community ties. Learn something useful? Offering a quick thanks to the author is deeply appreciated.

Okay