To answer this question, you need to understand the difference between white-box testing and black-box testing.
Option A) White-box testing is performed by an independent programmer team - This option is incorrect because the involvement of an independent programmer team is not a defining characteristic of white-box testing. White-box testing can be performed by the same team responsible for developing the software.
Option B) Black-box testing uses the bottom-up approach - This option is incorrect because the testing approach (bottom-up or top-down) is not specific to black-box testing. It refers to the overall testing strategy or methodology used, rather than the specific type of testing.
Option C) Black-box testing involves the business units - This option is incorrect because black-box testing focuses on testing the functionality and behavior of the software without considering its internal structure or implementation details. It may involve collaboration with business units or end-users to define test cases, but it is not exclusive to black-box testing.
Option D) White-box testing examines the program internal logical structures - This option is correct because white-box testing is a testing technique that examines the internal logic and structure of the software being tested. It involves testing individual components, code paths, and branches to ensure that the program functions correctly according to its internal design and implementation.
Based on the explanations above, the correct answer is Option D.