5
2

More than 5 years have passed since last update.

Manual Software Testing - Must Read for Beginners

Last updated at Posted at 2018-10-27

Manual Software Testing for Beginners

The development cycle requires several types of testing. Each kind of testing type focuses on a particular testing condition. The most basic of validation methods needed for the development method is as follows:

  1. Unit-level Testing
  2. System/Stability Testing
  3. Integration/End-to-End Testing
  4. Functional/Black-box Testing
  5. Performance/Load/Stress Testing
  6. Alpha/Beta Testing
  7. Acceptance/UAT Testing

However, here, we've tried to cover many existing testing types.

Acceptance Testing

Is the usual industry practice & it is the final validation which depends on a set of specifications given by the end-user or the client. They could also forward it during a limited time-period.

Ad-hoc Testing

It is a collective term for manual testing where no planning and documentation is needed. It falls under the category of the exploratory testing and has the least formal of the test methods.

Alpha Testing

It is also known as the simulated or real operational validation by the actual users or customers or an independent test agency at the developers’ site.

Beta Testing

It occurs after the alpha testing phase. It gets carried out by end-users or other players and not by the developers or test engineers.

Black Box Testing

It includes tests based on preliminary requirements and functionality. For Black Box validation, the tester need not have any internal design awareness of the software or the source code.

Build Verification Testing

It is also known as the Build Acceptance Test. It includes a smaller set of cases, which verified the primary features of the application software.

Client Server Testing

Client/Server testing involves the change in the size, scope, and duration of the test estimate itself. The required test phases include build acceptance verification, prototype validation, system stability testing, multiple stages of regression, beta, pilot, and field validation.

Comparison Testing

Comparing software negatives and positives with that of better or same type of products from the competitors.

Compatibility Testing

It helps in examining how the product behaves in various environments such as with a specific HW or S/W or OS or NW. It gets done manually or also by an automated functional test framework.

Configuration Testing

It verifies the product behavior with a wide range of H/W and peripheral configurations and also with the different set of OS and S/W.

Conformance Testing

It makes sure the implementation is compatible with the industry standards. Various type of tests like the portability, interoperability, and compatibility is done to ensure that.

Concurrent Testing

It involves multiple users accessing the same application, its features and making database operations. It assesses the behavior of the system while happening such concurrent access.

Cross Browser Testing

Is used to test an application with different browser & may be under different OS for usability testing & compatibility testing.

Dynamic Testing

Is used to describe the testing of the dynamic behavior of the software code. It involves actual compilation & running of the software by giving input values and checking if the output is as expected.

End-To-End Testing

It resembles with the system testing method. But it involves testing of the application in an environment that imitates the real-world use like changes to a database, sending/receiving network packets, or interfacing with the H/W, applications, or systems whichever is applicable.

Exploratory Testing

It is a creative & informal software testing aimed to find faults and defects driven by challenging assumptions.

Functional Testing

It requires testing an app, or a site conforms to its set of specifications and has all the required functions implemented.

Incremental Integration

It is a continuous testing method which examines the application while new functionality is getting added on the incremental basis.

Installation / Uninstallation Testing

It has got the full or partial validation of the upgrade, install, uninstall procedures.

Integration Testing

Testing of the application after combining/integrating its various parts to find out if all parts function together correctly.

Life Cycle Testing

Life cycle testing or V testing aims at catching the defects as early as possible and thus reduces the cost of fixing them.

Load Testing

Load testing helps in determining the maximum sustainable load (i.e., the parameters/factors) the system can handle.

Monkey Testing

It is a kind of unit-level testing technique. It doesn't require a specific test in mind. The monkey word relates to the producer of any input data.

Mutation Testing

It is a way to determine if a set of test data or tests is good enough or not, by intentionally introducing various code changes (bugs) and re-testing with the original validation data or the use cases to check if the bugs get discovered.

Negative Testing

Testing the application for failure like conditions. It involves validation with the tool having invalid input values.

Performance Testing

Performance testing helps in understanding the application or the product's scalability or to standardizes the performance in a particular environment having the third-party products such as a server or a middleware for potential acquisition.

Pilot Testing

It requires the users just before actual release to ensure that users become familiar with the release contents and ultimately accept it.

Recovery Testing

This testing provides the ways to determine the capability of a system or application to recover from occasional failures, H/W crashes, or another type of catastrophic problems.

Regression Testing

It is an enhanced form of functional testing. A regression test enables a consistent, repeatable validation of each new version of a product or the application.

Sanity Testing

It is an initial testing effort to determine if the new software version is behaving well enough to allow it for a significant testing activity.

Scalability Testing

Scalability testing involves tests designed to establish that both the functionality and performance of a system can handle a higher set of requirements in the future.

Security Testing

It ensures that a system has enough protection against the unauthorized access whether internal or external.

Smoke Testing

It is a quick and result oriented testing method. Smoke tests are useful for verifying the impacts of multiple code check-ins made by the developers.

Static Testing

It requires the testing tasks performed without actually executing the application. It has activities such as the source code inspections/walkthroughs, and desk checks, etc.

Stress Testing

It is a testing type which gets carried out to determine a system or component performs beyond the limits or not under the specified load.

System Testing

It comes under the category of the black box testing. It involves no awareness of the core design of the code or the business-logic.

Unit Testing

A unit is the shortest possible component of the software.
This testing targets such different units of a program.

Usability Testing

It examines the user-friendliness of a Software from the end-user perspective.

White Box Testing

It requires tests which get derived from the code coverage, branches, paths & the different set of conditions used in the source code.

Quick Reference

  1. Software Testing Types
  2. Manual Testing Questions

All the Best.Software Testing Types.png

5
2
4

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
2