Difference between White and Black box tests
BLACK BOX TESTING
Also known as Behavioural Testing, Black box testing
is a software testing technique where the application is tested without the
knowledge of its internal code structure. The name only depicts that the
software program is not perceived through the tester’s eyes. This type of
testing commonly focuses on only the input and output of the software
system.
Some of the errors tested by this method are –
- Function errors
- Interfacing errors
- Database errors
- Performance errors
- Initialization errors
Black Box Testing
Techniques
- Information Gathering – As the first step of every security
assessment procedure, information gathering involves extracting knowledge
about the application from outside sources by using Search Engine Discovery/
Reconnaissance and Web App Fingerprint.
- Configuration and Deploy Management Testing
– Application
Configuration management weakness are assessed in this technique, along
with hunting sensitive information from the backups and old, unrefined
files.
- Data Validation Testing – This technique employs Reflected Cross-Site
Scripting, Stored Cross-site Scripting and SQL Injections to examine
whether the provided data is valid or complete.
- Cryptography – Black Box Testing inspects the unencrypted
channels through which sensitive information is sent, as well as
examination of weak SSL/TLS ciphers and the protection of the
application’s transport layer.
How is Black Box Testing performed?
The basic methodology of any Black Box Testing is as
follows:
- Understanding specifications of the application
which is to be tested with a Software Requirements Specification (SRS)
document.
- Evaluation of the software with a set of valid
inputs to save time and get good test coverage.
- Test cases preparation for the maximum coverage
of inputs.
- Running of test cases in the system to generate
outputs.
- Marking of the ‘Failed’ steps and sending them
for fixing to the development team.
- Retesting of the test cases.
WHITE BOX TESTING
This type of software testing evaluates and verifies
the ‘source code’, or the internal workings of a software system, such as its
code and infrastructure. White Box is an essential part in a modern Continuous
Integration (CI)/Continuous Delivery (CD) of automated build processes. Some of
the software code of the following are tested by this method –
- Internal security holes
- Poorly structures paths
- Specific input flow
- Expected output
- Conditional loop functionality
White Box Testing Techniques
White Box Testing typically involves surveying the
application for vulnerabilities with reference to notable security standards,
such as SANS Top 25 and OWASP Top 10 Application Security Risks.
- SANS Top 25 – This well-known, and most frequently
utilized, compilation of security vulnerabilities depicts the common
errors found in all types of systems.
- OWASP Top 10 – The Open Web Application Security Project’s
Top 10 illustrates the 10 common vulnerabilities found in an application,
such as Injection, Broken Authentication and Session Management,
Cross-site Scripting, and many more.
How is White Box Testing performed?
To simplify the process of a white box test, it can be
divided into two basic steps –
- Understanding of the Source Code
The fundamental of every testing process is to learn
and understand the source code of an application. White box testing involves
internal testing, which requires testers to have a thorough knowledge of
languages used in programming of the applications they are testing. Since
security is the main motive of performing a test, the tester’s awareness of
secure coding practice is essential.
The tester should be able to detect and identify
security issues within an application’s code to keep the attackers from taking
advantage of the vulnerabilities by injecting malicious code into the
application.
- Test Case Creation and Execution
The following basic step involves testing the
application’s code to review its proper flow and structure. One way to do this
is by writing additional code so the application’s code can be tested. This
method requires a deep technical understanding of the code and is performed by
the developer. The other method involves Manual Testing, trial and error
method, and the use of various tools for the execution of the testing
procedure, such as MobSF, BurpSuite, Dex2Jar, and many more.
Reference
https://securityboulevard.com/2022/08/types-of-testing-techniques-black-white-and-grey-box/
Comments
Post a Comment