Black Box Testing: Engr. Anees Ur Rahman
Black Box Testing: Engr. Anees Ur Rahman
Black Box Testing: Engr. Anees Ur Rahman
An ideal test case single handedly uncovers a class of errors e.g incorrect processing of all
character data that might otherwise require many cases to be executed before the general
error is observed.
Equivalence Partitioning strives to define the test case that uncovers classes of errors, r there by
educing the total number of test cases that must be developed.
An equivalence class represents a set of valid or invalid states for input conditions
.
Equivalence Class Partitioning Testing
Equivalence classes can be define according to the following guideline
s;
If an input condition specifies a range one valid and two invalid
equivalence classes are defined.
If an input condition specifies a specific value one valid and eq two invalid
uivalence classes are defined.
If an input condition specifies a member of a set one valid and one invalid
equivalence class are defined.
If an input condition is Boolean, one valid and one invalid class are defined.
Boundary Valu Testing
e
(Specific case of Equivalence Class Partitioning Testin
g)
Boundary value analysis leads to a selection of test c
ases that exercise bounding values. This technique is deve
loped because a great number of errors tend to occur at t
he boundary of input domain rather than at the center.
In such situations each version can be tested with the same test data to ensure that all provide
identical output
Then all versions are executed in parallel with real time comparison of results to ensure c
onsistency
These independent versions form the basis of black box testing technique called comparison t
esting or back-to-back testing
Comparison Testing
If the output from each version is the same, it is a
ssumed that all implementations are correct
End to End Testing is usually executed after functional and system testing. It uses actual
production like data and test environmen to simulate real-time settings. End-to-En testing
is also called Chain Testing t d
Error Handling Testing
Error-handling testing determines the ability of the application system to properly process
incorrect transactions.
the phase in software testing in which individual software modules are combined and
tested as a group.
It occurs after unit testing and before system and validation testing.
Integration testing takes as its input modules that have been unit tested, groups them
in larger aggregates, applies tests defined in an integration test plan to those
aggregates, and delivers as its output the integrated system ready for system
testing.
Integration Testing Types
Incremental Integratio
n
Top Down Integration
Bottom Up Integration
Sandwich Testing
Incremental Integration
TOP DOWN INTEGRAT
ION
Top Down Testing is an approach to integrated testing where the top integrated
modules are tested and the branch of the module is tested step by step until the end of
the related module.
Incremental Integration
TOP DOWN INTEGRATION
Top down integration is performed in a series of steps:
1. The main control module is used as test driver and stubs are substituted for all components directly subordinate to the
main module.
2. Depending on the integration approach selected (depth-first or breadth-first) subordinates stubs are replaced one at a
time with actual components.
Example: Using automation software to simulate 500 users logging into a web site and performing end-
user activities at the same time.
Example: Typing at 120 words per minute for 3 hours into a word processor
.
Stress Testin
g
Stress testing is a form of testing that is used to
determine the stability of a given system or entity.
Re-executes some or all existing test cases to exercise code that was tested in a previous release
or previous test cycle.
Performed when previously tested code has been re-linked such as whe
n:
Ported to a new operating system
A fix has been made to a specific part of the code.
Alpha Testin
g
Beta Testin
g
Acceptance Testin
g
It is virtually impossible for a software developer to foresee how the customer will really us
a program e
When custom software is built for one customer, a series of acceptance tests are conducted to
enable the customer to validate all requirements
An acceptance test can range from an informal test drive to a planned and systematically
executed series of tests
Software developers often distinguish acceptance testing by the system provider from
acceptance testing by the customer (the user or client) prior to accepting transfer of ownership. In
the case of software, acceptance testing performed by the customer is known as user
acceptance testing (UAT), end-user testing, site (acceptance) testing, or field (acceptance)
testing
Alpha Testin
40 g
In this type of testing, the users are invited at the development center where they use the
application and the developers note every particular input or action carried out by the user.
Any type of abnormal behavior of the system is noted.