Explanation: Use case testing does not find defects caused by interaction of different components is the statement that is false about use case testing. Use case testing is a technique to create test cases based on use cases, which are descriptions of how a system interacts with one or more actors (users or other systems) to achieve a specific goal or function. Use case testing can find defects caused by interaction of different components, as use cases often involve multiple components working together to provide a service or functionality to an actor2 explains use case testing as follows:
Use case testing is a technique that helps us identify test cases that exercise the whole system on a transaction by transaction basis from start to finish. It is a functional black box testing technique.
Use cases are prepared by analysts and domain experts who document the functional requirements of a system from an end-user perspective. Each use case typically has a mainstream scenario and may have alternate or exceptional scenarios that describe different paths or outcomes.
Use case testing can help to verify that all the interactions between actors and the system under test work as expected and meet the user requirements. It can also help to detect integration defects between different components or subsystems.
A, B, and D are correct statements about use case testing. Use case generally has a mainstream scenario and may have many alternate or exceptional scenarios (A), as use cases describe different paths or outcomes depending on various conditions or events. A use case can be defined at different levels of abstraction, such as user goal level, summary level, subfunction level, etc., but not at the abstract level detached from the implementation or at the system level describing a set of executed functions (B), as use cases always describe interactions between actors and systems rather than abstract concepts or functions. Each use case has preconditions which need to be met for the use case to work successfully (D), as preconditions specify what must be true before a use case can begin.