Testing
Testing is the process of identifying the correctness, completeness, security, and quality of software and it is very important in ensuring its quality. I will only scratch its surface as it is a subject for an entire book by itself.
There are two types of tests, depending on how we look at the software being tested:
White-box testing
Black-box testing
In white-box testing, we look from inside the tested software having an intimate knowledge of the source code.
In black-box testing, we look from outside the tested software dealing only with inputs and outputs with no knowledge of the internal structure.
Code Analysis
Code analysis is the analysis of software that is performed without actually running it, by looking only at its structure and/or source code. Software is analyzed for compliance with design guidelines and to locate potentially vulnerable code.
In the .NET world, one of the tools for code analysis is FxCop. FxCop checks .NET managed code assemblies for conformance to...