Good manual testing relies upon the quality of the requirements and thorough and unambiguous requirements produce thorough and unambiguous tests. This is equally true for both Waterfall and Agile environments. No requirement means that there is nothing to develop and therefore nothing to test. We have encountered situations where we have been told that on some days there are no requirements at all - we assume that must have meant that there was nothing being created that day or that it meant that people were activley developing something that wasn't necessarily even wanted.
Tests need to be created that will test the requirements. The tests need to have comprehensive descriptions of pre-requisites and test steps, allowing for full reproducability. If you can't reproduce a test exactly as it was run previously, it is very hard to replicate the circumstances giving rise to a defect. Also if accurate and complete test scripts with accurate and complete test steps are not recorded there can be real difficulties when say a contractor leaves or a company is taken over and the intellectual knowledge is lost. The test steps should be able to be performed by any one and not just a subject matter expert.
The tests are generally grouped together into a test set and it is the test set that is run.
Any failure of a particular test step should trigger the creation of a defect.
Defects are managed through to a successful conclusion and re-tested.
These practices fit in perfectly with the way HP Application Lifecycle Management (ALM) is organised, where there is a place for releases and cycles, a place for requirements (plus a matrix of requirements with no associated tests), a place for tests and their test steps (plus a matrix of tests with no associated requirements), a place for test sets (plus the running of the test sets and the history of those runs) and a place for managing defects through workflow.