Big complex customer signed off word document with hideously complex tracability sections composed by our document tracking system (trace customer RQM -> system requirement -> design -> test case)
Unit testing in NUnit, we actually use a test based development methodology so we write the test cases for each method before we right the function itself. When you staert development of a module you already have a load of red test cases in NUnit, development is complete when nUnit goes all green (or amostly green with a bit of yellow).
When all the development is done we start ducumented integration builds and run the full test spec (from the docs) a few times.
unit testing is fine not particularly enjoyable but it's a good way to manage development I think. FAT and SAT testing is right royal pita with far too many QA related hoops to jump through. We run a fairly tight set of procedures here so every code change post the first full build can be tracked back to an observation raised against a previous build .
Paul
edit we use a test tool for automating GUI testing as well as nUnit for module testing, robohelp, testrobot or something like that I think it's called. it's worse than useless and it would be quicker and easier to get a 16yo school leaver to follow the instructions and take screenshots