Вы находитесь на странице: 1из 2

White-box testing - is a method of testing software that tests internal structures or workings of an

application as opposed to its functionality (black-box testing). An internal perspective of the system, as
well as programming skills, are required and used to design test cases. The tester chooses inputs to
exercise paths through the code and determine the appropriate outputs. It is analogous to testing nodes
in a circuit, e.g. in-circuit testing (ICT).
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. It can test paths within a unit, paths between units
during integration, and between subsystems during a system level test. Though this method of test design
can uncover many errors or problems, it might not detect unimplemented parts of the specification or
missing requirements.
White-box test design techniques include:

 Control flow testing


 Data flow testing
 Branch testing
 Path testing

Black-box testing is a method of testing software that tests the functionality of an application as opposed
to its internal structures or workings (see white-box testing). Specific knowledge of the application's
code/internal structure and programming knowledge in general is not required. Test cases are built
around specifications and requirements, i.e., what the application is supposed to do. It uses external
descriptions of the software, including specifications, requirements, and design 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 can be applied to all levels of software
testing: unit, integration, functional, system and acceptance. It typically comprises most if not all testing at
higher levels, but can also dominate unit testing as well.

Monkey test - is a unit test that runs with no specific test in mind. The monkey in this case is the
producer of any input. For example, a monkey test can enter random strings into text boxes to ensure
handling of all possible user input or provide garbage files to check for loading routines that have blind
faith in their data.

Regression testing - is any type of software testing that seeks to uncover software errors by partially
retesting a modified program. The intent of regression testing is to provide a general assurance that no
additional errors were introduced in the process of fixing other problems. Regression testing is commonly
used to test the system efficiently by systematically selecting the appropriate minimum suite of tests
needed to adequately cover the affected change. Common methods of regression testing include
rerunning previously run tests and checking whether previously fixed faults have re-emerged. "One of the
main reasons for regression testing is that it's often extremely difficult for a programmer to figure out how
a change in one part of the software will echo in other parts of the software."
Uses of Regression Testing

Regression testing can be used not only for testing the correctness of a program, but often also for
tracking the quality of its output. For instance, in the design of a compiler, regression testing should track
the code size, simulation time and time of the test suite cases.

Вам также может понравиться