Tool support can aid various aspects of software testing including test specification, design, generation of test cases from requirements, models or code, test data preparation, dynamic analysis to find defects during execution, performance and load testing to monitor behavior under different usage conditions, monitoring tools, test management to store and link tests and results, requirements management, defect tracking, configuration management to track software versions, static testing such as review and analysis tools, test execution and logging of results, and coverage measurement to determine what code has been exercised by tests. Security tools can also check for vulnerabilities.