Keep in mind that there is a natural tendency for developers to test the “best way” for their code. In other words, you wrote it, so you know that you have to click on certain points, type in certain things, and therefore you check it. This, of course, is important.
There are some good suggestions here, but one that seems to miss most (but not all) is negative testing. Basically, you need to check the boundaries, and you need to test the malware. As noted, enter the script code in the fields, for example:
<script>alert('abc')</script>
It is clear that you could not correctly encode if you received a warning! Another thing:
abc' or 'a' = 'a'
This can potentially cause problems with SQL injection in cases such as authentication. You can also test SQL injection with things like:
abc'; drop table users; select * from dual where 'a' = '
If your desk just left, you have a problem! There are tons of examples, but at least you need to spend some time testing the top 10 OWASPs.
Other places where you want to test are things like very large numbers, especially if you expect integer input on a 32-bit platform, negative values, no values, etc. Basically, check that the required threads are working and then do everything you can to break it.
source share