Final answer:
Non-functional testing is typically conducted during system testing and may be included in acceptance testing, focusing on evaluating the system's overall performance, security, and usability.
Step-by-step explanation:
Non-functional tests should be executed during the system testing phase and may also be included during the acceptance testing phase. Non-functional testing includes evaluating the system's performance, security, usability, etc., and is most relevant when the software is viewed as a whole (system testing) and when it is being validated against user requirements and expectations (acceptance testing). However, non-functional characteristics can be considered to some extent at all levels of testing, including unit and integration phases, to ensure that each part of the system contributes correctly to the desired non-functional attributes.