1. A computer-executable method for assessing vulnerabilities of software applications, the method comprising: providing a plurality of software assessment testing engines for execution on a processor, each configured to perform software vulnerability tests on a software application, wherein assessing vulnerabilities comprises identifying potential flaws in the software applications; receiving technical characteristics of the software application; receiving business context information relating to the software application; determining a preferred assurance level for the software application based at least in part on the technical characteristics and business context information; defining, at a workflow module, a vulnerability test plan for the software application based on the preferred assurance level, wherein the vulnerability test plan comprises two or more of the software vulnerability tests wherein at least one of the software vulnerability tests comprises a static binary analysis and at least one of the software vulnerability tests comprises a dynamic analysis test; executing the vulnerability test plan thereby producing assessment results, and chaining results from the static binary analysis and the dynamic analysis test in the vulnerability test plan by recording a binary offset of a potential defect within the software application and programmatically setting breakpoints at the binary offset, thereby using the results obtained from one of the analysis as input to the second analysis by automatically providing information about the breakpoints when encountered during the dynamic analysis test; and correlating the results of the two or more vulnerability tests to identify related faults in the software application.