Methods of Software Testing

Quality Assurance, Software testing, Technology

This page is a curated information from blogs, articles, tutorials about software testing that relevant to QA team.

If you are new to software testing, you can use information on this page as starting point to grow your skills on software testing.

Overview

These methods are used to describe the point of view that a test engineer takes when designing test cases.

White-box

White-box testing technique is used to examine the program structure and business logic, it validates the code or program of an application. It is also called as Clear-Box Testing, Glass-Box Testing or Open-Box Testing.

While white-box testing can be applied at the unit, integration, and system levels of the software testing process, it is usually done at the unit level.

Though this method of test design can uncover many errors or problems, it might not detect unimplemented parts of the specification or missing requirements.

Techniques used in white-box testing include:

  • API testing – testing of the application using public and private APIs (application programming interfaces)
  • Code coverage – creating tests to satisfy some criteria of code coverage (e.g., the test designer can create tests to cause all statements in the program to be executed at least once)

Black-box

Black-box testing method is used to test the functionality of an application based on the requirement specification. Unlike White Box Testing it does not focus on internal structure/code of the application.

Black-box testing treats the software as a “black box”, examining functionality without any knowledge of internal implementation, without seeing the source code. The testers are only aware of what the software is supposed to do, not how it does it.

Techniques used in black-box testing include:

  • Exploratory testing
  • Specification-based testing
  • Use case testing

Grey-box

Grey-box testing involves having knowledge of internal data structures and algorithms for purposes of designing tests, while executing those tests at the user, or black-box level.

The tester is not required to have full access to the software’s source code.

Manipulating input data and formatting output do not qualify as grey-box, because the input and output are clearly outside of the “black box” that we are calling the system under test.

However, tests that require modifying a back-end data repository such as a database or a log file does qualify as grey-box, as the user would not normally be able to change the data repository in normal production operations.

Further reading:

Leave a Reply

Your email address will not be published. Required fields are marked *