0

White box Testing – Software Engineering. What is this?

White box testing techniques analyze the internal structures the used data structures, internal design, code structure, and the working of the software rather than just the functionality as in black box testing. It is also called glass box testing clear box testing or structural testing. White Box Testing is also known as transparent testing or open box testing.

1.rocess of White Box Testing Input: Requirements, Functional specifications, design documents, source code. Processing: Performing risk analysis to guide through the entire process. Proper test planning: Designing test cases to cover the entire code. Execute rinse-repeat until error-free software is reached. Also, the results are communicated. Output: Preparing the final report of the entire testing process. White Testing is performed in 2 Steps Tester should understand the code well Tester should write some code for test cases and execute them 2.Tools required for White box testing:

PyUnit Sqlmap Nmap Parasoft Jtest Nunit VeraUnit CppUnit Bugzilla Fiddler JSUnit.net OpenGrok Wireshark HP Fortify CSUnit 3.Features of White box Testing Code coverage analysis: White box testing helps to analyze the code coverage of an application, which helps to identify the areas of the code that are not being tested. Access to the source code: White box testing requires access to the application’s source code, which makes it possible to test individual functions, methods, and modules. Knowledge of programming languages: Testers performing white box testing must have knowledge of programming languages like Java, C++, Python, and PHP to understand the code structure and write tests. Identifying logical errors: White box testing helps to identify logical errors in the code, such as infinite loops or incorrect conditional statements. Integration testing: White box testing is useful for integration testing, as it allows testers to verify that the different components of an application are working together as expected. Unit testing: White box testing is also used for unit testing, which involves testing individual units of code to ensure that they are working correctly. Optimization of code: White box testing can help to optimize the code by identifying any performance issues, redundant code, or other areas that can be improved. Security testing: White box testing can also be used for security testing, as it allows testers to identify any vulnerabilities in the application’s code. Verification of Design: It verifies that the software’s internal design is implemented in accordance with the designated design documents. Check for Accurate Code: It verifies that the code operates in accordance with the guidelines and specifications. Identifying Coding Mistakes: It finds and fix programming flaws in your code, including syntactic and logical errors. Path Examination: It ensures that each possible path of code execution is explored and test various iterations of the code. Determining the Dead Code: It finds and remove any code that isn’t used when the programme is running normally (dead code). Advantages of White Box Testing Thorough Testing : White box testing is thorough as the entire code and structures are tested. Code Optimization: It results in the optimization of code removing errors and helps in removing extra lines of code. Early Detection of Defects: It can start at an earlier stage as it doesn’t require any interface as in the case of black box testing. Integration with SDLC: White box testing can be easily started in Software Development Life Cycle. Detection of Complex Defects: Testers can identify defects that cannot be detected through other testing techniques. Comprehensive Test Cases: Testers can create more comprehensive and effective test cases that cover all code paths. Testers can ensure that the code meets coding standards and is optimized for performance. Disadvantages of White Box Testing Programming Knowledge and Source Code Access: Testers need to have programming knowledge and access to the source code to perform tests. Overemphasis on Internal Workings: Testers may focus too much on the internal workings of the software and may miss external issues. Bias in Testing: Testers may have a biased view of the software since they are familiar with its internal workings. Test Case Overhead: Redesigning code and rewriting code needs test cases to be written again. Dependency on Tester Expertise: Testers are required to have in-depth knowledge of the code and programming language as opposed to black-box testing. Inability to Detect Missing Functionalities: Missing functionalities cannot be detected as the code that exists is tested. Increased Production Errors: High chances of errors in production. Conclusion White box testing examines a software’s internal code and logic to ensure thorough testing and code optimization . It includes unit , integration , and regression testing , using techniques like statement and branch coverage. While it offers early defect detection and improved performance, it requires programming knowledge and may overlook external issues.


All rights reserved

Viblo
Hãy đăng ký một tài khoản Viblo để nhận được nhiều bài viết thú vị hơn.
Đăng kí