This site is the archived OWASP Foundation Wiki and is no longer accepting Account Requests.
To view the new OWASP Foundation website, please visit https://owasp.org
Difference between revisions of "OWASP Secure TDD Project"
From OWASP
Lauren Tabak (talk | contribs) |
Lauren Tabak (talk | contribs) |
||
Line 58: | Line 58: | ||
TDD will help as follows: | TDD will help as follows: | ||
− | - Tests can be written to verify the threat. | + | - Tests can be written to verify the threat.<br> |
− | - A solution can be implemented to block the threat, and quickly be confirmed to be working. | + | - A solution can be implemented to block the threat, and quickly be confirmed to be working.<br> |
− | - Provided all other tests still pass, you can quickly verify that : | + | - Provided all other tests still pass, you can quickly verify that :<br> |
− | - All other security measures still behave correctly. | + | - All other security measures still behave correctly.<br> |
− | - All other functionality still behaves correctly. | + | - All other functionality still behaves correctly.<br> |
− | Basically TDD assists in allowing a quick turnaround time from when a threat is discovered to when a solution becomes available. | + | Basically TDD assists in allowing a quick turnaround time from when a threat is discovered to when a solution becomes available.<br> |
TDD is not going to protect you from unknown threats. By its very nature, you have to know what you want to test in order to write the test in the first place.<br> | TDD is not going to protect you from unknown threats. By its very nature, you have to know what you want to test in order to write the test in the first place.<br> | ||
Line 69: | Line 69: | ||
However, STDD will help us Defend against existing threats and help developers secure their product by reducing and eliminating vulnerabilities in software before deployment while using the TDD life cycle.<br> | However, STDD will help us Defend against existing threats and help developers secure their product by reducing and eliminating vulnerabilities in software before deployment while using the TDD life cycle.<br> | ||
− | TDD favors highly localized (unit testing). As a result you could easily test that: | + | TDD favors highly localized (unit testing). As a result you could easily test that:<br> |
+ | GetSafeSQLParam() would correctly guard against SQL injection. Or that SecureZeroMemory() would correctly erase a password from RAM.<br> | ||
+ | However, it becomes more difficult to verify that all developers have used the correct method in every place that it's required.<br> | ||
− | + | The STDD tool solves this problem, discovering security threats and vulnerabilities in software while writing the code.<br> | |
− | |||
− | |||
==Description== | ==Description== | ||
Revision as of 01:32, 15 March 2014