Page 45 - SOFTWARE TESTING & QUALITY ASSURANCE
P. 45
Software Testing and Quality Assurance
3.3 Summary
• Structural testing techniques check the occurrence of bugs in the test software using the actual
codes of the software. The tester works with the source code of the software while performing the
test.
• In a functional test, the tester is not aware of the actual working of the software. The test analysis
is performed based on the outputs that the software generates for various inputs. The bugs are
detected by comparing the expected output with the obtained output.
• Black box testing is a functional testing technique. The tester performs the test to check the
behavior of the software by providing pre-defined inputs and analyzing the outputs.
• A tester performing white box testing knows the actual code level working of the software. The
test cases target to find the bugs associated with the code’s logic, structure, module interface and
memory organization.
• In order to make the software bug free, a certain level of both black and white box testing has to be
performed on software.
• A static black box testing involves checking for bugs in the specification document. Any mistakes
or incorrect information present in the specification is considered as a bug.
• Dynamic black box testing refers to testing for bugs by executing the software.
• Test to pass and test to fail are dynamic black box testing techniques. Test to pass involves
providing normal inputs to the software to check whether it works without any bugs. During test
to fail, the tester provides erratic inputs to check the software.
• Equivalence partitioning involves grouping similar test cases and performing the test where, a test
case from each class is used to perform the test.
• Dynamic black box testing techniques like the data testing is carried out to check for occurrence of
bugs in the input data provided to the software. State testing focuses on the transitions of internal
software state.
• Other testing techniques such as random and mutation testing are some of the popular dynamic
testing techniques to perform efficient software testing.
3.4 Keywords
Encapsulation: A technique where the internal representation of an object is generally hidden from
view outside of the object's definition.
Neural Networking or Artificial Intelligence Simulation: This is a branch of computer science where
intelligent machines are created through software programs that simulate or reproduce the creative
functions of the human brain.
Source Code: It refers to a collection of statements or declarations that are written in a computer
programming language. Source code needs the compiler or interpreter to translate the file into the
object code before execution.
State Diagram: It is an illustration of the states an object can attain as well as the transitions between
those states.
3.5 Self Assessment
1. State whether the following statements are true or false:
(a) The testing strategies and techniques are developed to address a particular type of need or
to test certain required parameters of software.
(b) Static Black box testing consists of viewing the specification at the high and low level.
(c) The testing team must strike a balance depending on the project requirement to adopt both
black and white box testing to test the software.
38 LOVELY PROFESSIONAL UNIVERSITY