Secure and Resilient Software: Requirements, Test Cases, and Testing Methods