Software Testing II
Software Testing II
11
Bottom-up Testing
• The order of testing is reversed: the lowest level module are tested
first with the main module will be tested last.
• Each component at lower hierarchy is tested individually and then
the components that rely upon these components are tested.
Bottom-up Testing
Incremental testing Advantages
• Usually performed on relatively small SW modules, as unit
or integration tests.
• Identification and correction of errors is much simpler and
requires fewer resources because it is performed on a
limited volume of SW.
14
Software testing classification - code visible
level
• Black box ( functionality ) testing:
• Identifies bugs only according to SW malfunctioning as
they are revealed in its erroneous output.
• Incases that outputs are found to be correct, black box
testing disregarded the internal path of calculations and
processing performed.
• White box ( structural ) testing:
• Examines internal calculation paths in order to identify
bugs.
15
White box and black box testing for the various
classes of tests
16
White Box Testing
• White box testing is testing of a software solution's internal structure,
design, and coding.
• the code is visible. It focuses primarily on verifying the flow of inputs
and outputs through the application, improving design and usability,
strengthening security
• White box testing is also known as Clear Box testing, Open Box testing,
Structural testing, Transparent Box testing, Code-Based testing, and
Glass Box testing.
• It is usually performed by developers.
17
What do you verify in White Box Testing?
• White box testing involves
1. Internal security holes
2. poorly structured paths in the coding processes
3. The flow of specific inputs through the code
4. Expected output
5. The functionality of conditional loops
6. Testing of each statement, object, and function on an individual basis
• Dis.
• White box testing is too much time consuming when it comes to large-scale programming
applications.
• White box testing is much expensive and complex.
• It can lead to production error because it is not detailed by the developers.
• White box testing needs professional programmers
Black box testing
• It is a testing technique in which functionality of the Application Under Test
(AUT) is tested without looking at the internal code structure, implementation
details and knowledge of internal paths of the software.
• This type of testing is based entirely on software requirements and
specifications. In Black Box Testing we just focus on inputs and output of the
software system without bothering about internal knowledge of the software
program.
• The testing can be done at Acceptance & System levels of software development
27
Types of Black Box Testing
• Functional testing - This black box testing type is related to the
functional requirements of a system;
• Non-functional testing - This type of black box testing is not related to
testing of specific functionality, but non-functional requirements such
as performance, scalability, usability.
Advantages and Dis. of black box testing
• Advantages
• Allows carrying out the majority of testing classes, such as load tests and availability tests
• Requires fewer resources than those required for white box testing
• Disadvantages
• Absence of control of line coverage.
• Impossibility of testing the quality of coding and its strict adherence to the coding standards.
29