Review should be performed on specifications, code, and test plans.
Review is a way of static testing technique done before dynamic testing. It is a manual examination of software work product without execution of software and makes comment about it.
Review can be performed on any of the software works like test specification, test cases, code, test plans, user guides or web pages. Defects are easier to find in review than in dynamic testing. It is cheaper to remove errors when found during review than finding errors by running test on execution code.
Hope this helps.