Software Testing and types of Testing

30 March, 2014
Software testing is the process used to help identify the correctness, completeness, security and quality of developed computer software.

There are 3 types of testing:

1. White box testing (also known as clear box testing, glass box testing or structural testing) uses an internal perspective of the system to design test cases based on internal structure. It requires programming skills to identify all paths through the software. The tester chooses test case inputs to exercise all paths and determines the appropriate outputs. white box testing is applicable at the unit, integration and system levels of the software testing process, it's typically applied to the unit. So while it normally tests paths within a unit, it can also test paths between units during integration, and between subsystems during a system level test. Though this method of test design can uncover an overwhelming number of test cases, it might not detect unimplemented parts of the specification or missing requirements. But you can be sure that all paths through the test object are executed.

Typical white box test design techniques include:
  • Control flow testing
  • Data flow testing

2. Black box testing takes an external perspective of the test object to derive test cases. These tests can be functional or non-functional, though usually functional. The test designer selects valid and invalid input and determines the correct output. There is no knowledge of the test object's internal structure.This method of test design is applicable to all levels of software testing: unit, integration, system and acceptance. The higher the level, and hence the bigger and more complex the box, the more we're forced to use black box testing to simplify. While this method can uncover unimplemented parts of the specification, you can't be sure that all existent paths are tested.

Typical black box test design techniques include:
  • Equivalence partitioning
  • Boundary value analysis
  • Decision table testing
  • Pairwise testing
  • State transition tables
  • Domain analysis
  • Use case testing

3. Grey box testing is a software testing technique that uses a combination of black box and white box testing. Grey box testing is not a black box testing,because the tester does know some of the internal workings of the software under test.

No comments:

Post a Comment