Final answer:
Decision testing is the most effective test technique to detect the defect in the batch application, as it checks the application's logic channels, which in this case, failed to handle an account with no transactions.
Step-by-step explanation:
The test technique that would have been most effective in detecting the defect in the batch application is A. Decision testing. This technique involves testing the logic paths or decision points within the application code. Since the failure occurred due to an unusual scenario where a customer had an account with no transactions in the last month—a condition that the application's logic did not handle—decision testing would have involved checking the behavior of the application with various input conditions to ensure all decision paths in the nested-loop structure are working correctly. Other test techniques like statement testing, checklist-based testing, and error guessing have their uses, but decision testing is key for uncovering hidden logical errors that could lead to application failures. This kind of testing can also help identify any other potential corner cases that may not have been previously considered.