White box testers, Unit Testers, Development Teams usually heard these  words from managers – “After performing unit testing Why manual testing team still finding critical bugs? Why you are not performing Unit Testing?”
Actual – They perform unit testing but not standard unit testing. When writing the unit test consider the following when looking for things to test:
Functional
Does the piece of code functionally perform the task it is designed to do?
Boundaries
What are the minimum, maximum values for the function, will the function accept strange characters, reserved SQL characters, alpha and numeric values? What happens if they are not within these boundaries?
Termination
What happens in the normal termination of the function? What about an abnormal termination of the function? Will the application continue or will an error occur. Is the error trapped?

Outputs
What are the expected outputs of the function? Where do they go, what else uses them, what happens if the output is nothing? What happens if the output cannot be passed to the next function? i.e. The database was unavailable when attempting to write to it.
Algorithms and Computations
Do all the algorithms and computations work, what happens if the wrong values are passed to them, are the variables stored as correct types i.e. will the result exceed 32267 (integer).
Inputs
What are the expected inputs to the function? Where do they come from? What happens if they do not get passed in? What happens if they are the wrong type? i.e. an alpha instead of a numeric. Do they rely on any third party application?
Interaction
What other modules/functions does this interact with? Will those be effected by the change?
Transactions
What type of transactions will occur? What will happen if a single transaction fails, is interrupted or succeeds? Are the transactions event driven, system initiated, user driven, or time driven?

Related Posts:
1. Unit Testing Framework – An introduction
2. Testing with Visual Studio Team System – Static Code Analyzer | Code Profiler | Unit Testing