The importance of system testing also known as E2E testing is very high especially on Product/Release delivery. This type of test basically requires running a continuous cycle against full path of system(s) under tests. It involves integration testing with 3rd party components, internal systems and interfaces as well. For example, test is running on User presentation then acquired results are used for verification in back-end system. I prefer and suggest continuing this effort by checking collected data using grey-box technique on DB side, or checking XML responses from Web services, queuing system or any other sort of object. Surely it’s challenge for those who are not hand on with specific technologies but learning in action is the best practice than anything else like books reading.
Another interesting thing is to automate E2E testing as complete cycle which follows data from birth to its death (CRUD: create-read, update, delete). In my previous project we had developed such monster. The basic idea behind the code is to collect all actual data from front-end tests. After that this data is picking up with new test project from SVN for feeding all the bunch of XMLs for verification in back-end system, checking DB views and pinging Web services. We used XML format as perfect data object which supports many-to-many associations and structured well for querying via XPath.