Concept:
Software testing techniques are broadly categorized based on how much of the internal code is visible to the tester. The two primary categories are Black Box and White Box testing.
Step 1: Defining White Box Testing.
In White Box Testing (also known as "Clear Box" or "Structural" testing), the tester has full visibility into the source code, internal logic, and structure of the program. The goal is to design test cases that:
• Execute all independent paths within a module.
• Exercise all logical decisions (True/False).
• Execute all loops at their boundaries.
• Verify internal data structures to ensure their validity.
Step 2: Comparing with Black Box Testing.
• Black Box: Focuses on inputs and outputs based on requirements. The tester doesn't care how the code works, only that it produces the right result.
• White Box: Focuses on how the code works. It is typically performed by developers during the unit testing phase.
Step 3: Evaluating other options.
• Regression Testing: Re-testing to ensure that new changes haven't broken existing functionality.
• Beta Testing: Testing by real users in a real environment before final release.
Since the question specifically asks about "internal logic and control flow," the answer is definitively White Box Testing.