All Topics  
Black box testing

 

   Email Print
   Bookmark   Link






 

Black box testing



 
 
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 inputs 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
Software testing

Software Testing is an empirical investigation conducted to provide stakeholders with information about the quality of the product or service under test , with respect to the context in which it is intended to operate....
: unit
Unit test

In computer programming, unit testing is a software design and development method where the programmer gains confidence that individual units of source code are fit for use....
, integration
Integration testing

'Integration testing' is the phase of software testing in which individual software modules are combined and tested as a group. It follows unit testing and precedes system testing....
, functional testing, system
System testing

System testing of software or hardware is testing conducted on a complete, integrated system to evaluate the system's compliance with its specified requirements....
 and acceptance
Acceptance test

In engineering and its various fields of engineering, acceptance testing is black-box testing performed on a system prior to its delivery. It is also known as functional testing, black-box testing, ITIL, QA testing, application testing, confidence testing, final testing, validation testing, or factory acceptance testing....
.






Discussion
Ask a question about 'Black box testing'
Start a new discussion about 'Black box testing'
Answer questions from other users
Full Discussion Forum



Recent Posts









Encyclopedia


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 inputs 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
Software testing

Software Testing is an empirical investigation conducted to provide stakeholders with information about the quality of the product or service under test , with respect to the context in which it is intended to operate....
: unit
Unit test

In computer programming, unit testing is a software design and development method where the programmer gains confidence that individual units of source code are fit for use....
, integration
Integration testing

'Integration testing' is the phase of software testing in which individual software modules are combined and tested as a group. It follows unit testing and precedes system testing....
, functional testing, system
System testing

System testing of software or hardware is testing conducted on a complete, integrated system to evaluate the system's compliance with its specified requirements....
 and acceptance
Acceptance test

In engineering and its various fields of engineering, acceptance testing is black-box testing performed on a system prior to its delivery. It is also known as functional testing, black-box testing, ITIL, QA testing, application testing, confidence testing, final testing, validation testing, or factory acceptance testing....
. The higher the level, and hence the bigger and more complex the box, the more one is forced to use black box testing to simplify. While this method can uncover unimplemented parts of the specification, one cannot be sure that all existent paths are tested.

Compare with white box testing
White box testing

White box 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....
.


Test design techniques

Typical black box test design techniques include:
  • Equivalence partitioning
    Equivalence partitioning

    Equivalence partitioning is a software testing technique in which test cases are designed to execute representatives from each equivalence partition, i.e....
  • Boundary value analysis
    Boundary value analysis

    Boundary value analysis is a software testing design technique used to determine test cases covering off-by-one errors....
  • Decision table
    Decision table

    Decision tables are a precise yet compact way to model complicated logic.Decision tables, like Conditional and Switch statement statements, associate conditions with actions to perform....
     testing
  • Pairwise testing
    All-pairs testing

    All-pairs testing or pairwise testing is a combinatorial software testing method that, for each pair of input parameters to a system , tests all possible discrete combinations of those parameters....
  • State transition table
    State transition table

    In automata theory and sequential logic, a state transition table is a table showing what state a finite semiautomaton or finite state machine will move to, based on the current state and other inputs....
    s
  • Use case
    Use case

    A use case in software engineering and systems engineering is a description of a system?s behaviour as it responds to a request that originates from outside of that system....
     testing
  • Cross-functional testing


Hardware

Functional testing devices like power supplies, amplifiers, and many other simple function electrical devices is common in the electronics industry. Automated functional testing of specified characteristics is used for production testing, and part of design validation.

See also

  • Sanity testing
  • Smoke testing
  • Software testing
    Software testing

    Software Testing is an empirical investigation conducted to provide stakeholders with information about the quality of the product or service under test , with respect to the context in which it is intended to operate....
  • Stress testing
    Stress testing

    Stress testing is a form of testing that is used to determine the stability of a given system or entity. It involves testing beyond normal operational capacity, often to a breaking point, in order to observe the results....
  • Test automation
    Test automation

    Test automation is the use of software to control the execution of software testings, the comparison of actual outcomes to predicted outcomes, the setting up of test preconditions, and other test control and test reporting functions....
  • Web Application Security Scanner
    Web Application Security Scanner

    A web application security scanner is program which communicates with a web application through the web front-end in order to identify potential security vulnerabilities in the web application and architectural weaknesses....
  • White box testing
    White box testing

    White box 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....
  • Boundary testing
    Boundary testing

    Boundary testing or boundary value analysis, is where test cases are generated using the extremes of the input domain, e.g. maximum, minimum, just inside/outside boundaries, typical values, and error values....
  • Fuzzing
  • Acceptance testing


External links

BCS SIGIST (British Computer Society Specialist Interest Group in Software Testing): , Working Draft 3.4, 27. April 2001.