In response to society’s growing concern about privacy, many programs
now have specific security objectives. Security testing is the process of attempting
to devise test cases that subvert the program’s security checks.
For example, you could try to formulate test cases that get around an operating
system’s memory protection mechanism. Similarly, you could try to
subvert a database system’s data security mechanisms. One way to devise
such test cases is to study known security problems in similar systems and
generate test cases that attempt to demonstrate comparable problems in
the system you are testing. For example, published sources in magazines,
chat rooms, or newsgroups frequently cover known bugs in operating systems
or other software systems. By searching for security holes in existing
programs that provide services similar to the one you are testing, you can
devise test cases to determine whether your program suffers from the same
kind of problems