Correct Answer: C
The overall goal of software security testing is to reduce the vulnerabilities within a software system. A software system is a collection of software components, such as applications, programs, or modules, that interact with each other and with other systems, such as hardware, networks, or databases, to perform certain functions or tasks. A vulnerability is a weakness or a flaw in a software system that can be exploited by a threat, such as an attacker, a malware, or an error, to cause harm or damage, such as unauthorized access, data breach, denial of service, or corruption. Software security testing is a process of evaluating and verifying the security aspects and features of a software system, such as confidentiality, integrity, availability, authentication, authorization, or encryption, by using various tools, techniques, and methods, such as static analysis, dynamic analysis, code review, or fuzzing. Software security testing can help to identify and eliminate the vulnerabilities within a software system, or to mitigate and manage their impact, and thus to improve the security and quality of the software system. Identifying the key security features of the software is not the overall goal of software security testing, but rather a specific objective or a subtask of the process.
Ensuring all software functions perform as specified is not the overall goal of software security testing, but rather a general goal of software testing, which is a broader process that covers not only the security aspects, but also the functional, non-functional, performance, usability, and compatibility aspects of a software system.
Making software development more agile is not the overall goal of software security testing, but rather a benefit or an outcome of the process, as software security testing can help to integrate the security considerations and practices into the software development life cycle, and to enable faster and more frequent delivery of secure and reliable software products.