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