Page 191 - DCAP405_SOFTWARE_ENGINEERING
P. 191
Software Engineering
Notes 11.3 Functional Testing
Software testing methods are traditionally divided into black box testing and white box testing.
Functional testing is also known as black box testing. Black box testing treats the software as a
black-box without any knowledge of internal implementation. Black box testing methods include:
equivalence partitioning, boundary value analysis, all-pairs testing, fuzz testing, model-based
testing, traceability matrix, exploratory testing, specification based testing, etc. Black-box test
design treats the system as a “black-box”, so it doesn’t explicitly use knowledge of the internal
structure. Black-box test design is usually described as focusing on testing functional
requirements.
Did u know? What are the synonyms of Black-box testing?
Synonyms for black-box include: behavioral, functional, opaque-box, and closed-box.
Specification based Testing
Specification based Testing aims to test the functionality according to the requirements. Thus,
the tester inputs data and only sees the output from the test object. This level of testing usually
requires thorough test cases to be provided to the tester who then can simply verify that for a
given input, the output value (or behavior), is the same as the expected value specified in the test
case. Specification based testing is necessary but insufficient to guard against certain risks.
Non-functional Software Testing
Special methods exist to test non-functional aspects of software.
Performance testing checks to see if the software can handle large quantities of data or users.
This is generally referred to as software scalability.
Usability testing is needed to check if the user interface is easy to use and understand.
Security testing is essential for software which processes confidential data and to prevent system
intrusion by hackers.
Internationalization and localization is needed to test these aspects of software, for which a
pseudo-localization method can be used.
Self Assessment
Fill in the blank:
11. Black box testing treats the software as a black-box without any knowledge of ……………….
implementation.
11.4 Structural Testing
Structural Testing is also known as the white box testing. White box testing, by contrast to black
box testing, is when the tester has access to the internal data structures and algorithms (and the
code that implement these). While black-box and white-box are terms that are still in popular
use, many people prefer the terms “behavioral” and “structural”. Behavioral test design is
slightly different from black-box test design because the use of internal knowledge isn’t strictly
forbidden, but it’s still discouraged. In practice, it hasn’t proven useful to use a single test design
184 LOVELY PROFESSIONAL UNIVERSITY